aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/kernel/setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/blackfin/kernel/setup.c')
-rw-r--r--arch/blackfin/kernel/setup.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c
index f1b059e5a06c..934234f43839 100644
--- a/arch/blackfin/kernel/setup.c
+++ b/arch/blackfin/kernel/setup.c
@@ -316,6 +316,15 @@ void __init setup_arch(char **cmdline_p)
316 316
317 init_leds(); 317 init_leds();
318 318
319 _bfin_swrst = bfin_read_SWRST();
320
321 if (_bfin_swrst & RESET_DOUBLE)
322 printk(KERN_INFO "Recovering from Double Fault event\n");
323 else if (_bfin_swrst & RESET_WDOG)
324 printk(KERN_INFO "Recovering from Watchdog event\n");
325 else if (_bfin_swrst & RESET_SOFTWARE)
326 printk(KERN_NOTICE "Reset caused by Software reset\n");
327
319 printk(KERN_INFO "Blackfin support (C) 2004-2007 Analog Devices, Inc.\n"); 328 printk(KERN_INFO "Blackfin support (C) 2004-2007 Analog Devices, Inc.\n");
320 if (bfin_compiled_revid() == 0xffff) 329 if (bfin_compiled_revid() == 0xffff)
321 printk(KERN_INFO "Compiled for ADSP-%s Rev any\n", CPU); 330 printk(KERN_INFO "Compiled for ADSP-%s Rev any\n", CPU);
@@ -402,8 +411,6 @@ void __init setup_arch(char **cmdline_p)
402 if (l1_length > L1_DATA_A_LENGTH) 411 if (l1_length > L1_DATA_A_LENGTH)
403 panic("L1 data memory overflow\n"); 412 panic("L1 data memory overflow\n");
404 413
405 _bfin_swrst = bfin_read_SWRST();
406
407 /* Copy atomic sequences to their fixed location, and sanity check that 414 /* Copy atomic sequences to their fixed location, and sanity check that
408 these locations are the ones that we advertise to userspace. */ 415 these locations are the ones that we advertise to userspace. */
409 memcpy((void *)FIXED_CODE_START, &fixed_code_start, 416 memcpy((void *)FIXED_CODE_START, &fixed_code_start,
@@ -424,6 +431,8 @@ void __init setup_arch(char **cmdline_p)
424 != ATOMIC_AND32 - FIXED_CODE_START); 431 != ATOMIC_AND32 - FIXED_CODE_START);
425 BUG_ON((char *)&atomic_xor32 - (char *)&fixed_code_start 432 BUG_ON((char *)&atomic_xor32 - (char *)&fixed_code_start
426 != ATOMIC_XOR32 - FIXED_CODE_START); 433 != ATOMIC_XOR32 - FIXED_CODE_START);
434 BUG_ON((char *)&safe_user_instruction - (char *)&fixed_code_start
435 != SAFE_USER_INSTRUCTION - FIXED_CODE_START);
427 436
428 init_exception_vectors(); 437 init_exception_vectors();
429 bf53x_cache_init(); 438 bf53x_cache_init();