Browse Source

[PATCH] x86: x86 clean up nmi panic messages

Clean up some of the output messages on the nmi error paths to make more
sense when they are displayed.  This is mainly a cosmetic fix and
shouldn't impact any normal code path.

Signed-off-by:  Don Zickus <dzickus@redhat.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Don Zickus 18 years ago
parent
commit
c41c5cd3b2
2 changed files with 22 additions and 14 deletions
  1. 8 7
      arch/i386/kernel/traps.c
  2. 14 7
      arch/x86_64/kernel/traps.c

+ 8 - 7
arch/i386/kernel/traps.c

@@ -631,13 +631,15 @@ gp_in_kernel:
 
 
 static void mem_parity_error(unsigned char reason, struct pt_regs * regs)
 static void mem_parity_error(unsigned char reason, struct pt_regs * regs)
 {
 {
-	printk(KERN_EMERG "Uhhuh. NMI received. Dazed and confused, but trying "
-			"to continue\n");
+	printk(KERN_EMERG "Uhhuh. NMI received for unknown reason %02x on "
+		"CPU %d.\n", reason, smp_processor_id());
 	printk(KERN_EMERG "You probably have a hardware problem with your RAM "
 	printk(KERN_EMERG "You probably have a hardware problem with your RAM "
 			"chips\n");
 			"chips\n");
 	if (panic_on_unrecovered_nmi)
 	if (panic_on_unrecovered_nmi)
                 panic("NMI: Not continuing");
                 panic("NMI: Not continuing");
 
 
+	printk(KERN_EMERG "Dazed and confused, but trying to continue\n");
+
 	/* Clear and disable the memory parity error line. */
 	/* Clear and disable the memory parity error line. */
 	clear_mem_error(reason);
 	clear_mem_error(reason);
 }
 }
@@ -668,14 +670,13 @@ static void unknown_nmi_error(unsigned char reason, struct pt_regs * regs)
 		return;
 		return;
 	}
 	}
 #endif
 #endif
-	printk("Uhhuh. NMI received for unknown reason %02x on CPU %d.\n",
-		reason, smp_processor_id());
-	printk("Dazed and confused, but trying to continue\n");
-	printk("Do you have a strange power saving mode enabled?\n");
-
+	printk(KERN_EMERG "Uhhuh. NMI received for unknown reason %02x on "
+		"CPU %d.\n", reason, smp_processor_id());
+	printk(KERN_EMERG "Do you have a strange power saving mode enabled?\n");
 	if (panic_on_unrecovered_nmi)
 	if (panic_on_unrecovered_nmi)
                 panic("NMI: Not continuing");
                 panic("NMI: Not continuing");
 
 
+	printk(KERN_EMERG "Dazed and confused, but trying to continue\n");
 }
 }
 
 
 static DEFINE_SPINLOCK(nmi_print_lock);
 static DEFINE_SPINLOCK(nmi_print_lock);

+ 14 - 7
arch/x86_64/kernel/traps.c

@@ -730,10 +730,15 @@ asmlinkage void __kprobes do_general_protection(struct pt_regs * regs,
 static __kprobes void
 static __kprobes void
 mem_parity_error(unsigned char reason, struct pt_regs * regs)
 mem_parity_error(unsigned char reason, struct pt_regs * regs)
 {
 {
-	printk("Uhhuh. NMI received. Dazed and confused, but trying to continue\n");
-	printk("You probably have a hardware problem with your RAM chips\n");
+	printk(KERN_EMERG "Uhhuh. NMI received for unknown reason %02x.\n",
+		reason);
+	printk(KERN_EMERG "You probably have a hardware problem with your "
+		"RAM chips\n");
+
 	if (panic_on_unrecovered_nmi)
 	if (panic_on_unrecovered_nmi)
-               panic("NMI: Not continuing");
+		panic("NMI: Not continuing");
+
+	printk(KERN_EMERG "Dazed and confused, but trying to continue\n");
 
 
 	/* Clear and disable the memory parity error line. */
 	/* Clear and disable the memory parity error line. */
 	reason = (reason & 0xf) | 4;
 	reason = (reason & 0xf) | 4;
@@ -756,13 +761,15 @@ io_check_error(unsigned char reason, struct pt_regs * regs)
 
 
 static __kprobes void
 static __kprobes void
 unknown_nmi_error(unsigned char reason, struct pt_regs * regs)
 unknown_nmi_error(unsigned char reason, struct pt_regs * regs)
-{	printk("Uhhuh. NMI received for unknown reason %02x.\n", reason);
-	printk("Dazed and confused, but trying to continue\n");
-	printk("Do you have a strange power saving mode enabled?\n");
+{
+	printk(KERN_EMERG "Uhhuh. NMI received for unknown reason %02x.\n",
+		reason);
+	printk(KERN_EMERG "Do you have a strange power saving mode enabled?\n");
 
 
 	if (panic_on_unrecovered_nmi)
 	if (panic_on_unrecovered_nmi)
-                panic("NMI: Not continuing");
+		panic("NMI: Not continuing");
 
 
+	printk(KERN_EMERG "Dazed and confused, but trying to continue\n");
 }
 }
 
 
 /* Runs on IST stack. This code must keep interrupts off all the time.
 /* Runs on IST stack. This code must keep interrupts off all the time.