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>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user