[tip:x86/debug] x86/kdump: No need to disable ioapic/ lapic in crash path
dzickus at redhat.com
Fri Feb 17 15:18:42 EST 2012
On Sat, Feb 18, 2012 at 12:49:16AM +0900, HATAYAMA Daisuke wrote:
> A few days ago I investigted the case where system is reseted due to
> triple fault caused by the NMI after idt is disabled in
> machine_kexec. I didn't see the reset when trigering the kdump with
> NMI since the NMI is masked until next iret instruction executed as
> described in 6.7.2. Handling Multiple NMIs of Intel Manual Vol.3A.
> The NMI mask remains untill the first iret execution on the 2nd
> kernel: just the return path of the first kernel_thread invocation for
> init process. The exact path is:
hmm. So even though the local apic was disabled you still got an NMI?
That could have been from an external NMI. I forget how that is wired up,
if it goes through the IOAPIC to the Local APIC or directly to the NMI pin
on the cpu.
> -> ret_from_fork
> -> int_ret_from_sys_call
> -> retint_restore_args
> -> irq_return
> At that phase idt is already set up and kdump works.
> From the discussion I interpret kdump doesn't assume this behaviour,
> BTW, does anyone know the detail of the NMI mask? I couldn't figure
> out about it from the Intel spec more than ``certain hardware
> conditions''... I expect those who look at here are x86 NMI experts.
I don't understand the question.
More information about the kexec