
Hello,
because I still have problems where I think the problem is the relocation, I've had a look at some timer code.
E.g. in arch/arm/cpu/arm926ejs/kirkwood/timer.c on top there is
struct kwtmr_registers *kwtmr_regs = (struct kwtmr_registers *)KW_TIMER_BASE;
which is used in timer_init().
In arch/arm/cpu/armv7/omap-common/timer.c we have
static struct gptimer *timer_base = (struct gptimer *)CONFIG_SYS_TIMERBASE;
which is used in timer_init() too.
(I assume similiar code is used in more files, I've just had a look at those two.)
timer_init() is called in board_init_f() through init_sequence, that means before relocation.
Did I miss something, or I'm right that this is a problem because those two variables are stored in bss but are accessed before relocation?
Regards,
Alexander