coreboot/src/cpu/x86
Kyösti Mälkki 0d6ddf8da7 cpu/x86/tsc: Flip and rename TSC_CONSTANT_RATE to UNKNOWN_TSC_RATE
The x86 timers are a bit of a mess. Cases where different stages use
different counters and timestamps use different counters from udelays.

The original intention was to only flip TSC_CONSTANT_RATE Kconfig
to NOT_CONSTANT_TSC_RATE. The name would be incorrect though, those
counters do run with a constant rate but we just lack tsc_freq_mhz()
implementation for three platforms.

Note that for boards with UNKNOWN_TSC_RATE=y, each stage will have a
slow run of calibrate_tsc_with_pit(). This is easy enough to fix with
followup implementation of tsc_freq_mhz() for the platforms.

Implementations with LAPIC_MONOTONIC_TIMER typically will not have
tsc_freq_mhz() implemented and default to UNKNOWN_TSC_RATE. However,
as they don't use TSC for udelay() the slow calibrate_tsc_with_pit()
is avoided.

Because x86/tsc_delay.tsc was using two different guards and nb/via/vx900
claimed UDELAY_TSC, but pulled UDELAY_IO implementation, we also switch
that romstage to use UDELAY_TSC.

Change-Id: I1690cb80295d6b006b75ed69edea28899b674b68
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/33928
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2019-11-03 06:15:35 +00:00
..
16bit coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
32bit coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
cache
lapic arch/x86/*.S: use defines instead of hardcoded values 2019-10-29 19:41:19 +00:00
mtrr cpu/x86: Add a prog_run hook to set up caching of XIP stages 2019-11-02 16:15:19 +00:00
name AUTHORS: Move src/cpu copyrights into AUTHORS file 2019-09-10 12:51:22 +00:00
pae AUTHORS: Move src/cpu copyrights into AUTHORS file 2019-09-10 12:51:22 +00:00
smm AUTHORS: Move src/cpu copyrights into AUTHORS file 2019-09-10 12:51:22 +00:00
tsc cpu/x86/tsc: Flip and rename TSC_CONSTANT_RATE to UNKNOWN_TSC_RATE 2019-11-03 06:15:35 +00:00
backup_default_smm.c AUTHORS: Move src/cpu copyrights into AUTHORS file 2019-09-10 12:51:22 +00:00
car.c arch/x86: Drop _car_relocatable_data symbols 2019-09-11 06:22:10 +00:00
early_reset.S cpu/x86: Move checking for MTRR's as a proxy for proper CPU reset 2019-04-21 23:29:29 +00:00
fpu_enable.inc AUTHORS: Move src/cpu copyrights into AUTHORS file 2019-09-10 12:51:22 +00:00
Kconfig cpu/x86/tsc: Flip and rename TSC_CONSTANT_RATE to UNKNOWN_TSC_RATE 2019-11-03 06:15:35 +00:00
Kconfig.debug cpu/x86: Fix DEBUG_SMM_RELOCATION dependency 2019-07-15 04:49:30 +00:00
Makefile.inc arch/x86: Obsolete CACHE_AS_RAM config 2019-08-11 18:36:34 +00:00
mirror_payload.c src/cpu: Use 'include <stdlib.h>' when appropriate 2019-10-28 11:57:23 +00:00
mp_init.c AUTHORS: Move src/cpu copyrights into AUTHORS file 2019-09-10 12:51:22 +00:00
sipi_vector.S arch/x86/*.S: use defines instead of hardcoded values 2019-10-29 19:41:19 +00:00
sse_enable.inc AUTHORS: Move src/cpu copyrights into AUTHORS file 2019-09-10 12:51:22 +00:00