@@ -112,11 +112,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->stack_end - CONFIG_STACKSIZE)
- || regs->sp >= gd->stack_end)
+ if (regs->sp < (gd->arch.stack_end - CONFIG_STACKSIZE)
+ || regs->sp >= gd->arch.stack_end)
printf("\nStack pointer seems bogus, won't do stack dump\n");
else
- dump_mem("\nStack: ", regs->sp, gd->stack_end);
+ dump_mem("\nStack: ", regs->sp, gd->arch.stack_end);
panic("Unhandled exception\n");
}
@@ -24,6 +24,7 @@
/* Architecture-specific global data */
struct arch_global_data {
+ unsigned long stack_end; /* highest stack address */
};
/*
@@ -38,7 +39,6 @@ typedef struct global_data {
bd_t *bd;
unsigned long flags;
unsigned int baudrate;
- unsigned long stack_end; /* highest stack address */
unsigned long have_console; /* serial_init() was called */
#ifdef CONFIG_PRE_CONSOLE_BUFFER
unsigned long precon_buf_idx; /* Pre-Console buffer index */
@@ -231,7 +231,7 @@ void board_init_f(ulong board_type)
/* And finally, a new, bigger stack. */
new_sp = (unsigned long *)addr;
- gd->stack_end = addr;
+ gd->arch.stack_end = addr;
*(--new_sp) = 0;
*(--new_sp) = 0;
Move this field into arch_global_data and tidy up. Signed-off-by: Simon Glass <sjg@chromium.org> --- Changes in v2: None arch/avr32/cpu/exception.c | 6 +++--- arch/avr32/include/asm/global_data.h | 2 +- arch/avr32/lib/board.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-)