aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/i386/kernel/traps.c6
-rw-r--r--arch/x86_64/kernel/traps.c6
2 files changed, 12 insertions, 0 deletions
diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c
index 7db664d0b25c..2f6cb8276480 100644
--- a/arch/i386/kernel/traps.c
+++ b/arch/i386/kernel/traps.c
@@ -635,6 +635,8 @@ static void mem_parity_error(unsigned char reason, struct pt_regs * regs)
635 "to continue\n"); 635 "to continue\n");
636 printk(KERN_EMERG "You probably have a hardware problem with your RAM " 636 printk(KERN_EMERG "You probably have a hardware problem with your RAM "
637 "chips\n"); 637 "chips\n");
638 if (panic_on_unrecovered_nmi)
639 panic("NMI: Not continuing");
638 640
639 /* Clear and disable the memory parity error line. */ 641 /* Clear and disable the memory parity error line. */
640 clear_mem_error(reason); 642 clear_mem_error(reason);
@@ -670,6 +672,10 @@ static void unknown_nmi_error(unsigned char reason, struct pt_regs * regs)
670 reason, smp_processor_id()); 672 reason, smp_processor_id());
671 printk("Dazed and confused, but trying to continue\n"); 673 printk("Dazed and confused, but trying to continue\n");
672 printk("Do you have a strange power saving mode enabled?\n"); 674 printk("Do you have a strange power saving mode enabled?\n");
675
676 if (panic_on_unrecovered_nmi)
677 panic("NMI: Not continuing");
678
673} 679}
674 680
675static DEFINE_SPINLOCK(nmi_print_lock); 681static DEFINE_SPINLOCK(nmi_print_lock);
diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c
index 42bc070fdf11..b18829db2a6a 100644
--- a/arch/x86_64/kernel/traps.c
+++ b/arch/x86_64/kernel/traps.c
@@ -732,6 +732,8 @@ mem_parity_error(unsigned char reason, struct pt_regs * regs)
732{ 732{
733 printk("Uhhuh. NMI received. Dazed and confused, but trying to continue\n"); 733 printk("Uhhuh. NMI received. Dazed and confused, but trying to continue\n");
734 printk("You probably have a hardware problem with your RAM chips\n"); 734 printk("You probably have a hardware problem with your RAM chips\n");
735 if (panic_on_unrecovered_nmi)
736 panic("NMI: Not continuing");
735 737
736 /* Clear and disable the memory parity error line. */ 738 /* Clear and disable the memory parity error line. */
737 reason = (reason & 0xf) | 4; 739 reason = (reason & 0xf) | 4;
@@ -757,6 +759,10 @@ unknown_nmi_error(unsigned char reason, struct pt_regs * regs)
757{ printk("Uhhuh. NMI received for unknown reason %02x.\n", reason); 759{ printk("Uhhuh. NMI received for unknown reason %02x.\n", reason);
758 printk("Dazed and confused, but trying to continue\n"); 760 printk("Dazed and confused, but trying to continue\n");
759 printk("Do you have a strange power saving mode enabled?\n"); 761 printk("Do you have a strange power saving mode enabled?\n");
762
763 if (panic_on_unrecovered_nmi)
764 panic("NMI: Not continuing");
765
760} 766}
761 767
762/* Runs on IST stack. This code must keep interrupts off all the time. 768/* Runs on IST stack. This code must keep interrupts off all the time.