[U-Boot] [PATCH] ARM: S3C64XX: fix timer broken by relocation

Wolfgang Denk wd at denx.de
Sat Nov 13 19:13:01 CET 2010


Dear Darius Augulis,

In message <4CDEC32B.7050309 at gmail.com> you wrote:
> 
> > FWIW, there already is a solution based on statics and post-relocation
> > initialization for orion5x. The principle there is that the timer is not
> > used before calling board_init_r, so we don't need initializing
> > timestamp before relocation.

STOP!!  I don't think we want this.

> in this case it seems like timer must be initialised after relocation.
> But I don't know if it could be correct for all ARM architectures. Maybe
> some of them use timer before relocation.

Indeed. Drivers and other code may want to implement timeouts and the
like, and need at least basic timer services like udelay() and such.

> Global data is good place to store important static variables because
> they are valid before and after relocation and it could be common for
> all architectures. Since we have automatic size calculation of global
> data structure there should not be a problem to add several additional
> bytes specific to every CPU.

We should keep the gd as small as possible, but adinng one or two
integers here is indeed probably the best approach.


Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Always leave room to add an explanation if it doesn't work out.


More information about the U-Boot mailing list