mirror of https://gitee.com/openkylin/linux.git
Blackfin arch: Print out doublefault addresses, so debug can occur
Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org> Signed-off-by: Bryan Wu <cooloney@kernel.org>
This commit is contained in:
parent
ee32664da9
commit
cd8fb8df14
|
@ -52,6 +52,7 @@ EXPORT_SYMBOL(mtd_size);
|
|||
#endif
|
||||
|
||||
char __initdata command_line[COMMAND_LINE_SIZE];
|
||||
unsigned int __initdata *__retx;
|
||||
|
||||
/* boot memmap, for parsing "memmap=" */
|
||||
#define BFIN_MEMMAP_MAX 128 /* number of entries in bfin_memmap */
|
||||
|
@ -785,7 +786,11 @@ void __init setup_arch(char **cmdline_p)
|
|||
bfin_write_SWRST(DOUBLE_FAULT);
|
||||
|
||||
if (_bfin_swrst & RESET_DOUBLE)
|
||||
printk(KERN_INFO "Recovering from Double Fault event\n");
|
||||
/*
|
||||
* don't decode the address, since you don't know if this
|
||||
* kernel's symbol map is the same as the crashing kernel
|
||||
*/
|
||||
printk(KERN_INFO "Recovering from Double Fault event at %p\n", __retx);
|
||||
else if (_bfin_swrst & RESET_WDOG)
|
||||
printk(KERN_INFO "Recovering from Watchdog event\n");
|
||||
else if (_bfin_swrst & RESET_SOFTWARE)
|
||||
|
|
|
@ -90,6 +90,12 @@ ENTRY(__start)
|
|||
[p0] = R0;
|
||||
SSYNC;
|
||||
|
||||
/* Save RETX, in case of doublefault */
|
||||
p0.l = ___retx;
|
||||
p0.h = ___retx;
|
||||
R0 = RETX;
|
||||
[P0] = R0;
|
||||
|
||||
/* Let each Blackfin family do its own thing */
|
||||
call _mach_early_start;
|
||||
|
||||
|
|
Loading…
Reference in New Issue