projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
x86: call machine_shutdown and stop all CPUs in native_machine_halt
[cascardo/linux.git]
/
arch
/
x86
/
kernel
/
reboot.c
diff --git
a/arch/x86/kernel/reboot.c
b/arch/x86/kernel/reboot.c
index
f4c93f1
..
34f8d37
100644
(file)
--- a/
arch/x86/kernel/reboot.c
+++ b/
arch/x86/kernel/reboot.c
@@
-29,11
+29,7
@@
EXPORT_SYMBOL(pm_power_off);
static const struct desc_ptr no_idt = {};
static int reboot_mode;
static const struct desc_ptr no_idt = {};
static int reboot_mode;
-/*
- * Keyboard reset and triple fault may result in INIT, not RESET, which
- * doesn't work when we're in vmx root mode. Try ACPI first.
- */
-enum reboot_type reboot_type = BOOT_ACPI;
+enum reboot_type reboot_type = BOOT_KBD;
int reboot_force;
#if defined(CONFIG_X86_32) && defined(CONFIG_SMP)
int reboot_force;
#if defined(CONFIG_X86_32) && defined(CONFIG_SMP)
@@
-465,6
+461,11
@@
static void native_machine_restart(char *__unused)
static void native_machine_halt(void)
{
static void native_machine_halt(void)
{
+ /* stop other cpus and apics */
+ machine_shutdown();
+
+ /* stop this cpu */
+ stop_this_cpu(NULL);
}
static void native_machine_power_off(void)
}
static void native_machine_power_off(void)