[U-Boot] arm: timer_init() and bss (relocation)

Alexander Holler holler at ahsoftware.de
Sat Jan 22 07:07:58 CET 2011


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


More information about the U-Boot mailing list