mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-30 07:34:12 +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
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void machine_restart(char * __unused)
|
void machine_emergency_restart(void)
|
||||||
{
|
{
|
||||||
machine_shutdown();
|
|
||||||
|
|
||||||
if (!reboot_thru_bios) {
|
if (!reboot_thru_bios) {
|
||||||
if (efi_enabled) {
|
if (efi_enabled) {
|
||||||
efi.reset_system(EFI_RESET_COLD, EFI_SUCCESS, 0, NULL);
|
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));
|
machine_real_restart(jump_to_bios, sizeof(jump_to_bios));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void machine_restart(char * __unused)
|
||||||
|
{
|
||||||
|
machine_shutdown();
|
||||||
|
machine_emergency_restart();
|
||||||
|
}
|
||||||
|
|
||||||
void machine_halt(void)
|
void machine_halt(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#ifndef _ASM_EMERGENCY_RESTART_H
|
#ifndef _ASM_EMERGENCY_RESTART_H
|
||||||
#define _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 */
|
#endif /* _ASM_EMERGENCY_RESTART_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user