ab23c2784b
Stop attempting to use FADT legacy hardware flag, it is almost always a lie. Instead, unless user explicitly disabled the calibration, calibrate against 8254 ISA clock. Then, obtain the rough value of the expected TSC frequency from CPUID leafs 0x15/0x16 or even from the CPU marketing name string. If calibration results look unbelievably bogus comparing with CPUID leafs report, use CPUID one. Intel does not recommend to use CPUID leaf 0x16 for the value of the system time frequency, indeed the error there might be up to 1% which e.g. makes ntpd give up. If ISA clock is present, we win, if not, we get some frequency that allows the machine to boot without enormous delay. Next improvement would be to use HPET for re-calibration if we decided that ISA clock gives bogus results, after HPETs are enumerated. This is a much bigger change since we probably would need to re-evaluate some constants depending on TSC frequency. Reviewed by: emaste, jhb, scottl Tested by: scottl Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D24426 |
||
---|---|---|
.. | ||
acpica | ||
bios | ||
conf | ||
cpufreq | ||
include | ||
iommu | ||
isa | ||
pci | ||
x86 | ||
xen |