panic: Add board ID to panic output
authorNishanth Menon <nm@ti.com>
Wed, 17 Aug 2011 23:31:58 +0000 (18:31 -0500)
committerTodd Poynor <toddpoynor@google.com>
Fri, 19 Aug 2011 18:41:00 +0000 (11:41 -0700)
At times, it is necessary for boards to provide some additional information
as part of panic logs. Provide information on the board hardware as part
of panic logs.

It is safer to print this information at the very end in case something
bad happens as part of the information retrieval itself.

To use this, set global mach_panic_string to an appropriate string in the
board file.

Change-Id: Id12cdda87b0cd2940dd01d52db97e6162f671b4d
Signed-off-by: Nishanth Menon <nm@ti.com>
include/linux/kernel.h
kernel/panic.c

index 953352a88336c0385e2e385f93e41c278513be7b..47e8dbea85c893833d54069aab17e3af1021e6c7 100644 (file)
@@ -736,4 +736,7 @@ extern int __build_bug_on_failed;
 # define REBUILD_DUE_TO_FTRACE_MCOUNT_RECORD
 #endif
 
+/* To identify board information in panic logs, set this */
+extern char *mach_panic_string;
+
 #endif
index 5578d0adc275168a377706613e21a0d630b29c17..a136da2f3968939da7f44482b1691ecaa138c247 100644 (file)
@@ -27,6 +27,9 @@
 #define PANIC_TIMER_STEP 100
 #define PANIC_BLINK_SPD 18
 
+/* Machine specific panic information string */
+char *mach_panic_string;
+
 int panic_on_oops;
 static unsigned long tainted_mask;
 static int pause_on_oops;
@@ -345,6 +348,11 @@ late_initcall(init_oops_id);
 void print_oops_end_marker(void)
 {
        init_oops_id();
+
+       if (mach_panic_string)
+               printk(KERN_WARNING "Board Information: %s\n",
+                      mach_panic_string);
+
        printk(KERN_WARNING "---[ end trace %016llx ]---\n",
                (unsigned long long)oops_id);
 }