Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c7ffa6c2 authored by Avi Kivity's avatar Avi Kivity Committed by Ingo Molnar
Browse files

x86: default to reboot via ACPI



Triple-fault and keyboard reset may assert INIT instead of RESET; however
INIT is blocked when Intel VT is enabled.  This leads to a partially reset
machine when invoking emergency_restart via sysrq-b: the processor is still
working but other parts of the system are dead.

Default to rebooting via ACPI, which correctly asserts RESET and reboots the
machine.

This is safe since we will fall back to keyboard reset and triple fault if
acpi is not enabled or if the reset is not successful.

Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 83097aca
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -29,7 +29,11 @@ EXPORT_SYMBOL(pm_power_off);

static const struct desc_ptr no_idt = {};
static int reboot_mode;
enum reboot_type reboot_type = BOOT_KBD;
/*
 * 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;
int reboot_force;

#if defined(CONFIG_X86_32) && defined(CONFIG_SMP)