summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2019-01-08 19:14:41 +0200
committerKyösti Mälkki <kyosti.malkki@gmail.com>2019-01-10 09:55:45 +0000
commit6c19cb53eebdc615c86165653d68c1aa71247ce0 (patch)
tree706486b8fd7a3f0c7765d779e6606b88219fb521
parent6390c5070363d834443ecdfb6b77c077fc2576dd (diff)
downloadcoreboot-6c19cb53eebdc615c86165653d68c1aa71247ce0.tar.xz
arch/x86: Remove weak tsc_freq_mhz() implementation
Build with TSC_CONSTANT_RATE must fail when this function is not implemented for the platform. Weak implementation causes division by zero in timer_monotonic_get() and turns udelay() into no delay. Change-Id: Id3b105ea3aac37cd0cba18ce2fb06d87a055486f Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/30762 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
-rw-r--r--src/arch/x86/timestamp.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/arch/x86/timestamp.c b/src/arch/x86/timestamp.c
index 928d7d7402..b5257c4c7e 100644
--- a/src/arch/x86/timestamp.c
+++ b/src/arch/x86/timestamp.c
@@ -21,15 +21,14 @@ uint64_t timestamp_get(void)
return rdtscll();
}
-unsigned long __weak tsc_freq_mhz(void)
-{
- /* Default to not knowing TSC frequency. cbmem will have to fallback
- * on trying to determine it in userspace. */
- return 0;
-}
-
int timestamp_tick_freq_mhz(void)
{
/* Chipsets that have a constant TSC provide this value correctly. */
- return tsc_freq_mhz();
+ if (IS_ENABLED(CONFIG_TSC_CONSTANT_RATE))
+ return tsc_freq_mhz();
+
+ /* Filling tick_freq_mhz = 0 in timestamps-table will trigger
+ * userspace utility to try deduce it from the running system.
+ */
+ return 0;
}