diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2005-07-26 19:41:26 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-26 23:35:42 +0200 |
commit | 4a1421f81b64e49ce932125e7222a2d7b7f87f13 (patch) | |
tree | 8f960fc27c718039bb9b93b237233d304eec8be7 /arch/i386/kernel/reboot.c | |
parent | [PATCH] Don't export machine_restart, machine_halt, or machine_power_off. (diff) | |
download | linux-4a1421f81b64e49ce932125e7222a2d7b7f87f13.tar.xz linux-4a1421f81b64e49ce932125e7222a2d7b7f87f13.zip |
[PATCH] i386: Implement machine_emergency_reboot
set_cpus_allowed is not safe in interrupt context
and disabling apics is complicated code so don't
call machine_shutdown on i386 from emergency_restart().
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/i386/kernel/reboot.c')
-rw-r--r-- | arch/i386/kernel/reboot.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/i386/kernel/reboot.c b/arch/i386/kernel/reboot.c index 1b24bc7271af..d473350aa055 100644 --- a/arch/i386/kernel/reboot.c +++ b/arch/i386/kernel/reboot.c @@ -311,10 +311,8 @@ void machine_shutdown(void) #endif } -void machine_restart(char * __unused) +void machine_emergency_restart(void) { - machine_shutdown(); - if (!reboot_thru_bios) { if (efi_enabled) { efi.reset_system(EFI_RESET_COLD, EFI_SUCCESS, 0, NULL); @@ -337,6 +335,12 @@ void machine_restart(char * __unused) machine_real_restart(jump_to_bios, sizeof(jump_to_bios)); } +void machine_restart(char * __unused) +{ + machine_shutdown(); + machine_emergency_restart(); +} + void machine_halt(void) { } |