mirror of https://gitee.com/openkylin/linux.git
x86, paravirt: Use native_halt on a halt, not native_safe_halt
halt() should use native_halt() safe_halt() uses native_safe_halt() If CONFIG_PARAVIRT=y, halt() is defined in arch/x86/include/asm/paravirt.h as static inline void halt(void) { PVOP_VCALL0(pv_irq_ops.safe_halt); } Otherwise (no CONFIG_PARAVIRT) halt() in arch/x86/include/asm/irqflags.h is static inline void halt(void) { native_halt(); } So it looks to me like the CONFIG_PARAVIRT case of using native_safe_halt() for a halt() is an oversight. Am I missing something? It probably hasn't shown up as a problem because the local apic is disabled on a shutdown or restart. But if we disable interrupts and call halt() we shouldn't expect that the halt() will re-enable interrupts. Signed-off-by: Cliff Wickman <cpw@sgi.com> LKML-Reference: <E1PSBcz-0001g1-FM@eag09.americas.sgi.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
This commit is contained in:
parent
90a8a73c06
commit
c8217b8305
|
@ -112,7 +112,7 @@ static inline void arch_safe_halt(void)
|
|||
|
||||
static inline void halt(void)
|
||||
{
|
||||
PVOP_VCALL0(pv_irq_ops.safe_halt);
|
||||
PVOP_VCALL0(pv_irq_ops.halt);
|
||||
}
|
||||
|
||||
static inline void wbinvd(void)
|
||||
|
|
Loading…
Reference in New Issue