avr32: use generic gd->start_addr_sp
Before avr32 had an extra storage for stack end to have a nice stack printout on exception. Remove this extra storage and use generic gd->start_addr_sp instead. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
This commit is contained in:
parent
186678600a
commit
4db896236c
@ -96,11 +96,11 @@ void do_unknown_exception(unsigned int ecr, struct pt_regs *regs)
|
||||
printf("CPU Mode: %s\n", cpu_modes[mode]);
|
||||
|
||||
/* Avoid exception loops */
|
||||
if (regs->sp < (gd->arch.stack_end - CONFIG_STACKSIZE)
|
||||
|| regs->sp >= gd->arch.stack_end)
|
||||
if (regs->sp < (gd->start_addr_sp - CONFIG_STACKSIZE) ||
|
||||
regs->sp >= gd->start_addr_sp)
|
||||
printf("\nStack pointer seems bogus, won't do stack dump\n");
|
||||
else
|
||||
dump_mem("\nStack: ", regs->sp, gd->arch.stack_end);
|
||||
dump_mem("\nStack: ", regs->sp, gd->start_addr_sp);
|
||||
|
||||
panic("Unhandled exception\n");
|
||||
}
|
||||
|
@ -8,7 +8,6 @@
|
||||
|
||||
/* Architecture-specific global data */
|
||||
struct arch_global_data {
|
||||
unsigned long stack_end; /* highest stack address */
|
||||
unsigned long cpu_hz; /* cpu core clock frequency */
|
||||
};
|
||||
|
||||
|
@ -157,7 +157,7 @@ void board_init_f(ulong board_type)
|
||||
|
||||
/* And finally, a new, bigger stack. */
|
||||
new_sp = (unsigned long *)addr;
|
||||
gd->arch.stack_end = addr;
|
||||
gd->start_addr_sp = addr;
|
||||
*(--new_sp) = 0;
|
||||
*(--new_sp) = 0;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user