Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cd8fb8df authored by Robin Getz's avatar Robin Getz Committed by Bryan Wu
Browse files

Blackfin arch: Print out doublefault addresses, so debug can occur

parent ee32664d
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -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)
+6 −0
Original line number Diff line number Diff line
@@ -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;