aboutsummaryrefslogtreecommitdiff
path: root/arch/x86/kernel/head_64.S
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-03-07 17:38:36 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2014-03-07 17:38:36 -0800
commit95648c0e9fdd1cb1199ef387025d684704a8e62e (patch)
treeadaf2c45384c306bc43c0d8272c9062f88dcf669 /arch/x86/kernel/head_64.S
parent9579f10dfdd91d5a1bc77a588b630bc945d9fb95 (diff)
parent5fa10196bdb5f190f595ebd048490ee52dddea0f (diff)
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Peter Anvin: "A small collection of minor fixes. The FPU stuff is still pending, I fear. I haven't heard anything from Suresh so I suspect I'm going to have to dig into the init specifics myself and fix up the patchset" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86: Ignore NMIs that come in during early boot x86, trace: Further robustify CR2 handling vs tracing x86, trace: Fix CR2 corruption when tracing page faults x86/efi: Quirk out SGI UV
Diffstat (limited to 'arch/x86/kernel/head_64.S')
-rw-r--r--arch/x86/kernel/head_64.S6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
index e1aabdb314c8..33f36c78594e 100644
--- a/arch/x86/kernel/head_64.S
+++ b/arch/x86/kernel/head_64.S
@@ -343,6 +343,9 @@ early_idt_handlers:
ENTRY(early_idt_handler)
cld
+ cmpl $X86_TRAP_NMI,(%rsp)
+ je is_nmi # Ignore NMI
+
cmpl $2,early_recursion_flag(%rip)
jz 1f
incl early_recursion_flag(%rip)
@@ -405,8 +408,9 @@ ENTRY(early_idt_handler)
popq %rdx
popq %rcx
popq %rax
- addq $16,%rsp # drop vector number and error code
decl early_recursion_flag(%rip)
+is_nmi:
+ addq $16,%rsp # drop vector number and error code
INTERRUPT_RETURN
ENDPROC(early_idt_handler)