diff options
author | Robin Getz <robin.getz@analog.com> | 2007-10-29 18:12:15 +0800 |
---|---|---|
committer | Bryan Wu <bryan.wu@analog.com> | 2007-10-29 18:12:15 +0800 |
commit | 7728ec33faf88605fb871b9b0ecf8e45d4359678 (patch) | |
tree | 7d94f5701aa4ca30f26308ec56c41c09c992f569 /arch/blackfin | |
parent | 4ad1ec7154d7e26c1bd82c03c44690ba2b566f2f (diff) | |
download | linux-7728ec33faf88605fb871b9b0ecf8e45d4359678.tar.gz linux-7728ec33faf88605fb871b9b0ecf8e45d4359678.tar.bz2 linux-7728ec33faf88605fb871b9b0ecf8e45d4359678.zip |
Blackfin arch: fix bug: tell users if the kernel is recovering from a fault condition
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Diffstat (limited to 'arch/blackfin')
-rw-r--r-- | arch/blackfin/kernel/setup.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c index f1b059e5a06c..fc22ec8c2f47 100644 --- a/arch/blackfin/kernel/setup.c +++ b/arch/blackfin/kernel/setup.c @@ -316,6 +316,15 @@ void __init setup_arch(char **cmdline_p) init_leds(); + _bfin_swrst = bfin_read_SWRST(); + + if (_bfin_swrst & RESET_DOUBLE) + printk(KERN_INFO "Recovering from Double Fault event\n"); + else if (_bfin_swrst & RESET_WDOG) + printk(KERN_INFO "Recovering from Watchdog event\n"); + else if (_bfin_swrst & RESET_SOFTWARE) + printk(KERN_NOTICE "Reset caused by Software reset\n"); + printk(KERN_INFO "Blackfin support (C) 2004-2007 Analog Devices, Inc.\n"); if (bfin_compiled_revid() == 0xffff) printk(KERN_INFO "Compiled for ADSP-%s Rev any\n", CPU); @@ -402,8 +411,6 @@ void __init setup_arch(char **cmdline_p) if (l1_length > L1_DATA_A_LENGTH) panic("L1 data memory overflow\n"); - _bfin_swrst = bfin_read_SWRST(); - /* Copy atomic sequences to their fixed location, and sanity check that these locations are the ones that we advertise to userspace. */ memcpy((void *)FIXED_CODE_START, &fixed_code_start, |