summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNishanth Menon <nm@ti.com>2011-08-17 18:31:58 -0500
committerColin Cross <ccross@android.com>2012-04-09 13:53:09 -0700
commitb7d739c58e38e3430b216c789e2a61effc5d10e9 (patch)
tree4e0b3e581ccb90cfa1311e879167c02cf31e0f56
parentc8ffd5b3852c164f41b89a40b3f3ffd65299b93a (diff)
panic: Add board ID to panic output
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>
-rw-r--r--include/linux/kernel.h3
-rw-r--r--kernel/panic.c8
2 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index 645231c373c..747404ab4c9 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -705,6 +705,9 @@ static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { }
extern int do_sysinfo(struct sysinfo *info);
+/* To identify board information in panic logs, set this */
+extern char *mach_panic_string;
+
#endif /* __KERNEL__ */
#endif
diff --git a/kernel/panic.c b/kernel/panic.c
index d2cbccb207c..92d458a1c65 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -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;
@@ -378,6 +381,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);
}