diff options
author | Robin Getz <robin.getz@analog.com> | 2009-07-07 22:17:09 +0200 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-09-17 03:31:44 +0200 |
commit | 837ec2d56c41640d1f1238e52c350b2a516d29ba (patch) | |
tree | 1732468388385c411853c67cb2b288c2f8d17cc7 /arch/blackfin/kernel/setup.c | |
parent | Blackfin: add an early shadow console (diff) | |
download | linux-837ec2d56c41640d1f1238e52c350b2a516d29ba.tar.xz linux-837ec2d56c41640d1f1238e52c350b2a516d29ba.zip |
Blackfin: catch hardware errors earlier during booting
Allow hardware errors to be caught during early portions of booting, and
leave something in the shadow console that people can use to debug their
system with (to be printed out by the bootloader on next reset).
This enables the hardare error interrupts in head.S, allowing us to find
hardware errors when they happen (well, as much as you can with a hardware
error) and prints out the trace if it is enabled. This will catch errors
(like booting the wrong image on a 533) which previously resulted in a
infinite loop/hang, as well as random hardware errors before before
setup_arch().
To disable this debug only feature - turn off EARLY_PRINTK.
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch/blackfin/kernel/setup.c')
-rw-r--r-- | arch/blackfin/kernel/setup.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c index 3974764acd2c..f92fffc31689 100644 --- a/arch/blackfin/kernel/setup.c +++ b/arch/blackfin/kernel/setup.c @@ -187,6 +187,8 @@ void __init bfin_relocate_l1_mem(void) unsigned long l1_data_b_length; unsigned long l2_length; + early_shadow_stamp(); + /* * due to the ALIGN(4) in the arch/blackfin/kernel/vmlinux.lds.S * we know that everything about l1 text/data is nice and aligned, @@ -1352,6 +1354,7 @@ const struct seq_operations cpuinfo_op = { void __init cmdline_init(const char *r0) { + early_shadow_stamp(); if (r0) strncpy(command_line, r0, COMMAND_LINE_SIZE); } |