您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ tboot_shutdown函数代码示例

51自学网 2021-06-03 08:41:34
  C++
这篇教程C++ tboot_shutdown函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中tboot_shutdown函数的典型用法代码示例。如果您正苦于以下问题:C++ tboot_shutdown函数的具体用法?C++ tboot_shutdown怎么用?C++ tboot_shutdown使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了tboot_shutdown函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: tboot_sleep

static int tboot_sleep(u8 sleep_state, u32 pm1a_control, u32 pm1b_control){	static u32 acpi_shutdown_map[ACPI_S_STATE_COUNT] = {		/* S0,1,2: */ -1, -1, -1,		/* S3: */ TB_SHUTDOWN_S3,		/* S4: */ TB_SHUTDOWN_S4,		/* S5: */ TB_SHUTDOWN_S5 };	if (!tboot_enabled())		return 0;	tboot_copy_fadt(&acpi_gbl_FADT);	tboot->acpi_sinfo.pm1a_cnt_val = pm1a_control;	tboot->acpi_sinfo.pm1b_cnt_val = pm1b_control;	/* we always use the 32b wakeup vector */	tboot->acpi_sinfo.vector_width = 32;	if (sleep_state >= ACPI_S_STATE_COUNT ||	    acpi_shutdown_map[sleep_state] == -1) {		pr_warning("unsupported sleep state 0x%x/n", sleep_state);		return -1;	}	tboot_shutdown(acpi_shutdown_map[sleep_state]);	return 0;}
开发者ID:KutuSystems,项目名称:kutu_linux,代码行数:26,


示例2: native_machine_halt

static void native_machine_halt(void){	/* Stop other cpus and apics */	machine_shutdown();	tboot_shutdown(TB_SHUTDOWN_HALT);	stop_this_cpu(NULL);}
开发者ID:AD5GB,项目名称:wicked_kernel_lge_hammerhead,代码行数:9,


示例3: native_machine_power_off

static void native_machine_power_off(void){	if (pm_power_off) {		if (!reboot_force)			machine_shutdown();		pm_power_off();	}	/* A fallback in case there is no PM info available */	tboot_shutdown(TB_SHUTDOWN_HALT);}
开发者ID:AD5GB,项目名称:wicked_kernel_lge_hammerhead,代码行数:10,


示例4: native_machine_power_off

static void native_machine_power_off(void){#ifdef CONFIG_X86_INTEL_CE_GEN3	machine_shutdown();	while (1) {		outb(0x4, 0xcf9);		udelay(50);	}#else	if (pm_power_off) {		if (!reboot_force)			machine_shutdown();		pm_power_off();	}	/* A fallback in case there is no PM info available */	tboot_shutdown(TB_SHUTDOWN_HALT);#endif}
开发者ID:lihui2090,项目名称:barcelona-4.3.3,代码行数:18,


示例5: tboot_sleep

static void tboot_sleep(u8 sleep_state){    uint32_t shutdown_type;#define TB_COPY_GAS(tbg, g)             /    tbg.space_id = g.space_id;          /    tbg.bit_width = g.bit_width;        /    tbg.bit_offset = g.bit_offset;      /    tbg.access_width = g.access_width;  /    tbg.address = g.address;    /* sizes are not same (due to packing) so copy each one */    TB_COPY_GAS(g_tboot_shared->acpi_sinfo.pm1a_cnt_blk,                acpi_sinfo.pm1a_cnt_blk);    TB_COPY_GAS(g_tboot_shared->acpi_sinfo.pm1b_cnt_blk,                acpi_sinfo.pm1b_cnt_blk);    TB_COPY_GAS(g_tboot_shared->acpi_sinfo.pm1a_evt_blk,                acpi_sinfo.pm1a_evt_blk);    TB_COPY_GAS(g_tboot_shared->acpi_sinfo.pm1b_evt_blk,                acpi_sinfo.pm1b_evt_blk);    g_tboot_shared->acpi_sinfo.pm1a_cnt_val = acpi_sinfo.pm1a_cnt_val;    g_tboot_shared->acpi_sinfo.pm1b_cnt_val = acpi_sinfo.pm1b_cnt_val;    g_tboot_shared->acpi_sinfo.wakeup_vector = acpi_sinfo.wakeup_vector;    g_tboot_shared->acpi_sinfo.vector_width = acpi_sinfo.vector_width;    g_tboot_shared->acpi_sinfo.kernel_s3_resume_vector =                                              bootsym_phys(wakeup_start);    switch ( sleep_state )    {        case ACPI_STATE_S3:            shutdown_type = TB_SHUTDOWN_S3;            break;        case ACPI_STATE_S4:            shutdown_type = TB_SHUTDOWN_S4;            break;        case ACPI_STATE_S5:            shutdown_type = TB_SHUTDOWN_S5;            break;        default:            return;    }    tboot_shutdown(shutdown_type);}
开发者ID:lwhibernate,项目名称:xen,代码行数:44,


示例6: native_machine_emergency_restart

/* * Windows compatible x86 hardware expects the following on reboot: * * 1) If the FADT has the ACPI reboot register flag set, try it * 2) If still alive, write to the keyboard controller * 3) If still alive, write to the ACPI reboot register again * 4) If still alive, write to the keyboard controller again * * If the machine is still alive at this stage, it gives up. We default to * following the same pattern, except that if we're still alive after (4) we'll * try to force a triple fault and then cycle between hitting the keyboard * controller and doing that */static void native_machine_emergency_restart(void){	int i;	int attempt = 0;	int orig_reboot_type = reboot_type;	if (reboot_emergency)		emergency_vmx_disable_all();	tboot_shutdown(TB_SHUTDOWN_REBOOT);	/* Tell the BIOS if we want cold or warm reboot */	*((unsigned short *)__va(0x472)) = reboot_mode;	for (;;) {		/* Could also try the reset bit in the Hammer NB */		switch (reboot_type) {		case BOOT_KBD:			mach_reboot_fixups(); /* For board specific fixups */			for (i = 0; i < 10; i++) {				kb_wait();				udelay(50);				outb(0xfe, 0x64); /* Pulse reset low */				udelay(50);			}			if (attempt == 0 && orig_reboot_type == BOOT_ACPI) {				attempt = 1;				reboot_type = BOOT_ACPI;			} else {				reboot_type = BOOT_TRIPLE;			}			break;		case BOOT_TRIPLE:			load_idt(&no_idt);			__asm__ __volatile__("int3");			reboot_type = BOOT_KBD;			break;		case BOOT_BIOS:			machine_real_restart(MRR_BIOS);			reboot_type = BOOT_KBD;			break;		case BOOT_ACPI:			acpi_reboot();			reboot_type = BOOT_KBD;			break;		case BOOT_EFI:			if (efi_enabled(EFI_RUNTIME_SERVICES))				efi.reset_system(reboot_mode ?						 EFI_RESET_WARM :						 EFI_RESET_COLD,						 EFI_SUCCESS, 0, NULL);			reboot_type = BOOT_KBD;			break;		case BOOT_CF9:			port_cf9_safe = true;			/* Fall through */		case BOOT_CF9_COND:			if (port_cf9_safe) {				u8 cf9 = inb(0xcf9) & ~6;				outb(cf9|2, 0xcf9); /* Request hard reset */				udelay(50);				outb(cf9|6, 0xcf9); /* Actually do the reset */				udelay(50);			}			reboot_type = BOOT_KBD;			break;		}	}}
开发者ID:AD5GB,项目名称:wicked_kernel_lge_hammerhead,代码行数:91,


示例7: native_machine_emergency_restart

/* * To the best of our knowledge Windows compatible x86 hardware expects * the following on reboot: * * 1) If the FADT has the ACPI reboot register flag set, try it * 2) If still alive, write to the keyboard controller * 3) If still alive, write to the ACPI reboot register again * 4) If still alive, write to the keyboard controller again * 5) If still alive, call the EFI runtime service to reboot * 6) If no EFI runtime service, call the BIOS to do a reboot * * We default to following the same pattern. We also have * two other reboot methods: 'triple fault' and 'PCI', which * can be triggered via the reboot= kernel boot option or * via quirks. * * This means that this function can never return, it can misbehave * by not rebooting properly and hanging. */static void native_machine_emergency_restart(void){	int i;	int attempt = 0;	int orig_reboot_type = reboot_type;	unsigned short mode;	if (reboot_emergency)		emergency_vmx_disable_all();	tboot_shutdown(TB_SHUTDOWN_REBOOT);	/* Tell the BIOS if we want cold or warm reboot */	mode = reboot_mode == REBOOT_WARM ? 0x1234 : 0;	*((unsigned short *)__va(0x472)) = mode;	/*	 * If an EFI capsule has been registered with the firmware then	 * override the reboot= parameter.	 */	if (efi_capsule_pending(NULL)) {		pr_info("EFI capsule is pending, forcing EFI reboot./n");		reboot_type = BOOT_EFI;	}	for (;;) {		/* Could also try the reset bit in the Hammer NB */		switch (reboot_type) {		case BOOT_ACPI:			acpi_reboot();			reboot_type = BOOT_KBD;			break;		case BOOT_KBD:			mach_reboot_fixups(); /* For board specific fixups */			for (i = 0; i < 10; i++) {				kb_wait();				udelay(50);				outb(0xfe, 0x64); /* Pulse reset low */				udelay(50);			}			if (attempt == 0 && orig_reboot_type == BOOT_ACPI) {				attempt = 1;				reboot_type = BOOT_ACPI;			} else {				reboot_type = BOOT_EFI;			}			break;		case BOOT_EFI:			efi_reboot(reboot_mode, NULL);			reboot_type = BOOT_BIOS;			break;		case BOOT_BIOS:			machine_real_restart(MRR_BIOS);			/* We're probably dead after this, but... */			reboot_type = BOOT_CF9_SAFE;			break;		case BOOT_CF9_FORCE:			port_cf9_safe = true;			/* Fall through */		case BOOT_CF9_SAFE:			if (port_cf9_safe) {				u8 reboot_code = reboot_mode == REBOOT_WARM ?  0x06 : 0x0E;				u8 cf9 = inb(0xcf9) & ~reboot_code;				outb(cf9|2, 0xcf9); /* Request hard reset */				udelay(50);				/* Actually do the reset */				outb(cf9|reboot_code, 0xcf9);				udelay(50);			}			reboot_type = BOOT_TRIPLE;			break;		case BOOT_TRIPLE:			load_idt(&no_idt);//.........这里部分代码省略.........
开发者ID:AshishNamdev,项目名称:linux,代码行数:101,



注:本文中的tboot_shutdown函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ tc函数代码示例
C++ tbase_get_deferrable函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。