提交 62b3a04d 编写于 作者: E Eric W. Biederman 提交者: Linus Torvalds

[PATCH] x86_64: Implemenent machine_emergency_restart

It is not safe to call set_cpus_allowed() in interrupt
context and disabling the apics is complicated code.
So unconditionally skip machine_shutdown in machine_emergency_reboot
on x86_64.
Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 7c9a9007
......@@ -109,16 +109,10 @@ void machine_shutdown(void)
local_irq_enable();
}
void machine_restart(char * __unused)
void machine_emergency_restart(void)
{
int i;
printk("machine restart\n");
if (!reboot_force) {
machine_shutdown();
}
/* Tell the BIOS if we want cold or warm reboot */
*((unsigned short *)__va(0x472)) = reboot_mode;
......@@ -143,6 +137,16 @@ void machine_restart(char * __unused)
}
}
void machine_restart(char * __unused)
{
printk("machine restart\n");
if (!reboot_force) {
machine_shutdown();
}
machine_emergency_restart();
}
void machine_halt(void)
{
}
......
#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 */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册