diff options
author | Simon Glass <sjg@chromium.org> | 2013-02-28 19:26:12 +0000 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2013-03-04 15:57:36 -0800 |
commit | bc2df1afb92435da6fb16310dac6b722bfaade9f (patch) | |
tree | cd10c393aba37399a0e80a3045a0543e44176003 /arch/x86/lib | |
parent | 8937140957eb91060b766781bb3a9e2b191529a5 (diff) | |
download | u-boot-imx-bc2df1afb92435da6fb16310dac6b722bfaade9f.zip u-boot-imx-bc2df1afb92435da6fb16310dac6b722bfaade9f.tar.gz u-boot-imx-bc2df1afb92435da6fb16310dac6b722bfaade9f.tar.bz2 |
x86: Permit bootstage and timer data to be used prior to relocation
It is useful to be able to access the timer before U-Boot has relocated
so that we can fully support bootstage.
Add new global_data members to support this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/x86/lib')
-rw-r--r-- | arch/x86/lib/timer.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/x86/lib/timer.c b/arch/x86/lib/timer.c index a13424b..1f8ce60 100644 --- a/arch/x86/lib/timer.c +++ b/arch/x86/lib/timer.c @@ -37,7 +37,6 @@ struct timer_isr_function { static struct timer_isr_function *first_timer_isr; static unsigned long system_ticks; -static uint64_t base_value; /* * register_timer_isr() allows multiple architecture and board specific @@ -102,7 +101,7 @@ ulong get_timer(ulong base) void timer_set_tsc_base(uint64_t new_base) { - base_value = new_base; + gd->arch.tsc_base = new_base; } uint64_t timer_get_tsc(void) @@ -110,8 +109,8 @@ uint64_t timer_get_tsc(void) uint64_t time_now; time_now = rdtsc(); - if (!base_value) - base_value = time_now; + if (!gd->arch.tsc_base) + gd->arch.tsc_base = time_now; - return time_now - base_value; + return time_now - gd->arch.tsc_base; } |