Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/37050 )
Change subject: cpu/x86/lapic/apic_timer.c: Drop CAR_GLOBAL_MIGRATION support ......................................................................
cpu/x86/lapic/apic_timer.c: Drop CAR_GLOBAL_MIGRATION support
Change-Id: Ideac1a04d6bb1a5e9cc601be7bbfcebe56b4a5da Signed-off-by: Arthur Heymans arthur@aheymans.xyz --- M src/cpu/x86/lapic/apic_timer.c 1 file changed, 8 insertions(+), 12 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/50/37050/1
diff --git a/src/cpu/x86/lapic/apic_timer.c b/src/cpu/x86/lapic/apic_timer.c index 58836b5..8f0f7af 100644 --- a/src/cpu/x86/lapic/apic_timer.c +++ b/src/cpu/x86/lapic/apic_timer.c @@ -16,7 +16,6 @@ #include <delay.h> #include <thread.h> #include <arch/cpu.h> -#include <arch/early_variables.h> #include <cpu/x86/msr.h> #include <cpu/x86/lapic.h>
@@ -63,18 +62,15 @@ int initialized; struct mono_time time; uint32_t last_value; -} mono_counter_g CAR_GLOBAL; +} mono_counter_g;
void timer_monotonic_get(struct mono_time *mt) { uint32_t current_tick; uint32_t usecs_elapsed; uint32_t timer_fsb; - struct monotonic_counter *mono_counter;
- mono_counter = car_get_var_ptr(&mono_counter_g); - - if (!mono_counter->initialized) { + if (!mono_counter_g.initialized) { init_timer(); timer_fsb = get_timer_fsb(); /* An FSB frequency of 200Mhz provides a 20 second polling @@ -84,22 +80,22 @@ printk(BIOS_WARNING, "apic timer freq (%d) may be too fast.\n", timer_fsb); - mono_counter->last_value = lapic_read(LAPIC_TMCCT); - mono_counter->initialized = 1; + mono_counter_g.last_value = lapic_read(LAPIC_TMCCT); + mono_counter_g.initialized = 1; }
timer_fsb = get_timer_fsb(); current_tick = lapic_read(LAPIC_TMCCT); /* Note that the APIC timer counts down. */ - usecs_elapsed = (mono_counter->last_value - current_tick) / timer_fsb; + usecs_elapsed = (mono_counter_g.last_value - current_tick) / timer_fsb;
/* Update current time and tick values only if a full tick occurred. */ if (usecs_elapsed) { - mono_time_add_usecs(&mono_counter->time, usecs_elapsed); - mono_counter->last_value = current_tick; + mono_time_add_usecs(&mono_counter_g.time, usecs_elapsed); + mono_counter_g.last_value = current_tick; }
/* Save result. */ - *mt = mono_counter->time; + *mt = mono_counter_g.time; } #endif
HAOUAS Elyes has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37050 )
Change subject: cpu/x86/lapic/apic_timer.c: Drop CAR_GLOBAL_MIGRATION support ......................................................................
Patch Set 6: Code-Review+1
Patrick Georgi has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37050 )
Change subject: cpu/x86/lapic/apic_timer.c: Drop CAR_GLOBAL_MIGRATION support ......................................................................
Patch Set 7: Code-Review+2
Patrick Georgi has submitted this change. ( https://review.coreboot.org/c/coreboot/+/37050 )
Change subject: cpu/x86/lapic/apic_timer.c: Drop CAR_GLOBAL_MIGRATION support ......................................................................
cpu/x86/lapic/apic_timer.c: Drop CAR_GLOBAL_MIGRATION support
Change-Id: Ideac1a04d6bb1a5e9cc601be7bbfcebe56b4a5da Signed-off-by: Arthur Heymans arthur@aheymans.xyz Reviewed-on: https://review.coreboot.org/c/coreboot/+/37050 Reviewed-by: Patrick Georgi pgeorgi@google.com Reviewed-by: HAOUAS Elyes ehaouas@noos.fr Tested-by: build bot (Jenkins) no-reply@coreboot.org --- M src/cpu/x86/lapic/apic_timer.c 1 file changed, 8 insertions(+), 12 deletions(-)
Approvals: build bot (Jenkins): Verified Patrick Georgi: Looks good to me, approved HAOUAS Elyes: Looks good to me, but someone else must approve
diff --git a/src/cpu/x86/lapic/apic_timer.c b/src/cpu/x86/lapic/apic_timer.c index 58836b5..8f0f7af 100644 --- a/src/cpu/x86/lapic/apic_timer.c +++ b/src/cpu/x86/lapic/apic_timer.c @@ -16,7 +16,6 @@ #include <delay.h> #include <thread.h> #include <arch/cpu.h> -#include <arch/early_variables.h> #include <cpu/x86/msr.h> #include <cpu/x86/lapic.h>
@@ -63,18 +62,15 @@ int initialized; struct mono_time time; uint32_t last_value; -} mono_counter_g CAR_GLOBAL; +} mono_counter_g;
void timer_monotonic_get(struct mono_time *mt) { uint32_t current_tick; uint32_t usecs_elapsed; uint32_t timer_fsb; - struct monotonic_counter *mono_counter;
- mono_counter = car_get_var_ptr(&mono_counter_g); - - if (!mono_counter->initialized) { + if (!mono_counter_g.initialized) { init_timer(); timer_fsb = get_timer_fsb(); /* An FSB frequency of 200Mhz provides a 20 second polling @@ -84,22 +80,22 @@ printk(BIOS_WARNING, "apic timer freq (%d) may be too fast.\n", timer_fsb); - mono_counter->last_value = lapic_read(LAPIC_TMCCT); - mono_counter->initialized = 1; + mono_counter_g.last_value = lapic_read(LAPIC_TMCCT); + mono_counter_g.initialized = 1; }
timer_fsb = get_timer_fsb(); current_tick = lapic_read(LAPIC_TMCCT); /* Note that the APIC timer counts down. */ - usecs_elapsed = (mono_counter->last_value - current_tick) / timer_fsb; + usecs_elapsed = (mono_counter_g.last_value - current_tick) / timer_fsb;
/* Update current time and tick values only if a full tick occurred. */ if (usecs_elapsed) { - mono_time_add_usecs(&mono_counter->time, usecs_elapsed); - mono_counter->last_value = current_tick; + mono_time_add_usecs(&mono_counter_g.time, usecs_elapsed); + mono_counter_g.last_value = current_tick; }
/* Save result. */ - *mt = mono_counter->time; + *mt = mono_counter_g.time; } #endif