mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 21:54:11 +08:00
[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>
This commit is contained in:
parent
59586e5a26
commit
4a1421f81b
@ -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)
|
||||
{
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
#ifndef _ASM_EMERGENCY_RESTART_H
|
||||
#define _ASM_EMERGENCY_RESTART_H
|
||||
|
||||
#include <asm-generic/emergency-restart.h>
|
||||
extern void machine_emergency_restart(void);
|
||||
|
||||
#endif /* _ASM_EMERGENCY_RESTART_H */
|
||||
|
Loading…
Reference in New Issue
Block a user