freebsd-dev/sys/x86/x86
Mark Johnston 0e494a9e3f x86: Skip late calibration if our reference timer has low quality
Some AMD Geode-based systems end up using the 8254 PIT to calibrate the
TSC during late calibration, which doesn't work because that
timecounter's mask (65535) is much smaller than its frequency (1193182).
Moreover, early calibration is done against the 8254 timer anyway.

Work around the problem by simply using early calibration results if no
high-quality timecounters exist.

PR:		260868
Fixes:		22875f8879 ("x86: Implement deferred TSC calibration")
Reported and tested by:	mike@sentex.net, Stefan Hegnauer <stefan.hegnauer@gmx.ch>
Reviewed by:	imp, kib
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D33730
2022-01-03 13:00:50 -05:00
..
autoconf.c
bus_machdep.c bus: Convert to the new interceptor scheme 2021-07-30 15:15:27 -04:00
busdma_bounce.c busdma: _bus_dmamap_addseg repaired 2022-01-02 12:37:05 -06:00
busdma_machdep.c x86-busdma - Add missing paren 2021-12-31 02:33:54 -06:00
cpu_machdep.c Make CPU_SET macros compliant with other implementations 2021-12-30 12:20:32 +01:00
dbreg.c Create sys/reg.h for the common code previously in machine/reg.h 2021-08-30 12:50:53 +01:00
delay.c
dump_machdep.c
fdt_machdep.c
identcpu.c x86 identcpu.c: fix formatting of the comment. 2021-01-10 04:42:33 +02:00
intr_machdep.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
io_apic.c Rename kernel option ACPI_DMAR to IOMMU. 2020-09-29 20:29:07 +00:00
legacy.c x86: clean up empty lines in .c and .h files 2020-09-01 21:23:59 +00:00
local_apic.c x86: Do not attempt to calibrate the LAPIC timer if no APIC is present 2021-12-28 17:47:49 -05:00
mca.c mca: Some error handling logic improvements. 2021-12-08 21:39:24 -05:00
mp_watchdog.c x86: Remove CTLFLAG_NEEDGIANT from sysctls. 2021-12-25 22:24:20 -05:00
mp_x86.c Prefer CPUID leaf 1Fh for Intel CPU topology detection. 2021-11-06 00:53:52 -04:00
mptable_pci.c x86: clean up empty lines in .c and .h files 2020-09-01 21:23:59 +00:00
mptable.c x86: clean up empty lines in .c and .h files 2020-09-01 21:23:59 +00:00
msi.c Rename kernel option ACPI_DMAR to IOMMU. 2020-09-29 20:29:07 +00:00
nexus.c Avoid dump_avail[] redefinition. 2020-10-14 22:51:40 +00:00
pvclock.c pvclock: Add vDSO support 2021-08-14 15:57:54 +03:00
stack_machdep.c Annotate amd64 stack unwinders with __nomemorysanitize 2021-07-23 10:47:13 -04:00
tsc.c x86: Skip late calibration if our reference timer has low quality 2022-01-03 13:00:50 -05:00
ucode.c
x86_mem.c x86: clean up empty lines in .c and .h files 2020-09-01 21:23:59 +00:00