| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CPU0 is the reference clock and all others are skewed. During CPU
initialization the clocks synchronize by keeping a registry of each CPU
clock skewness and adapting the TSC read routine accordingly.
This commit also re-enables TSC as the default time source.
Future work includes MSR-based synchronization via IA32_TSC_ADJUST
and perhaps adding a task that is executed periodically to keep the
clocks in sync in case they drift apart.
Inspired from NetBSD.
Tested by many and thoroughly reviewed by kettenis@, thank you!
OK kettenis@, deraadt@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If frequency of an invariant (non-stop) time stamp counter is measured
using an independent working timecounter that has a known frequency, we
can assume that the measured TSC frequency is as good as the resolution
of the timecounter that we use to perform the measurement. This lets us
switch from this high quality but expensive source to the cheaper TSC
without sacrificing precision on a wide range of modern CPUs.
From Adam Steen <adam@adamsteen.com.au> with tweaks from reyk@ and myself.
Tested by brynet@, sthen@ and others, OK mlarkin, sthen
|
|
|
|
|
|
| |
acpicpu(4) drivers to the right cpu(4).
ok mlarkin@, guenther@
|
|
|
|
|
|
| |
They always returned 0
ok mlarkin@ kettenis@
|
|
|
|
|
|
| |
They always returned 0
ok mlarkin@ kettenis@
|
|
|
|
|
|
|
|
|
| |
This is currently only enabled on hypervisors because on real hardware, it
requires interrupt remapping which we don't support yet. But on virtualization
it reduces the number of vmexits required per IPI from 4 to 1, causing a
significant speed-up for MP guests.
ok kettenis@
|
|
|
|
|
|
| |
They are not used anywhere.
ok mlarkin@
|
|
|
|
|
|
|
|
|
| |
Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.
OK deraadt@
|
|
|
|
| |
pointed out by and ok drahn@, toby@;
|
|
hacked by art@ from netbsd sources and then later debugged
by me into the shape where it can host itself.
no bootloader yet as needs redoing from the
recent advanced i386 sources (anyone? ;)
|