Hi Graeme, On Fri, Dec 14, 2012 at 2:15 PM, Graeme Russ <graeme.r...@gmail.com> wrote: > Hi Simon, > > On 15/12/12 08:13, Simon Glass wrote: >> It is useful to be able to access the timer before U-Boot has relocated >> so that we can fully support bootstage. >> >> Move the relevant variables to the data region to support this. >> >> Signed-off-by: Simon Glass <s...@chromium.org> >> --- >> arch/x86/cpu/coreboot/coreboot.c | 4 ++-- >> arch/x86/cpu/interrupts.c | 2 +- >> arch/x86/lib/timer.c | 2 +- >> 3 files changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/arch/x86/cpu/coreboot/coreboot.c >> b/arch/x86/cpu/coreboot/coreboot.c >> index 9c9431e..22474f5 100644 >> --- a/arch/x86/cpu/coreboot/coreboot.c >> +++ b/arch/x86/cpu/coreboot/coreboot.c >> @@ -68,8 +68,8 @@ int board_early_init_r(void) >> void show_boot_progress(int val) >> { >> #if MIN_PORT80_KCLOCKS_DELAY >> - static uint32_t prev_stamp; >> - static uint32_t base; >> + static uint32_t prev_stamp __attribute__((section(".data"))); >> + static uint32_t base __attribute__((section(".data"))); > > NAK > > This may work for coreboot where SDRAM is already initialised and you've > loaded U-Boot into RAM, but it will not work when U-Boot is in Flash as all > sections (including .data) are read-only until after relocation. > > The stack and Global Data are the only guaranteed read/write locations > prior to relocation
Ah yes, I was thinking of your comment that all boards would move to use coreboot. If that is not the case, then I will need to add something to global data for the timer. And I don't want to do that while generic board is in progress since it creates conflicts. Regards, Simon > > Regards, > > Graeme > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot