diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2012-06-06 16:28:42 +0200 |
---|---|---|
committer | Marcelo Tosatti <mtosatti@redhat.com> | 2012-06-29 23:02:10 -0300 |
commit | 960d355dc60d998dcd7b389b84ffefad9b612650 (patch) | |
tree | e756c8b0329b37ddd2e2043bc564ba1213173316 /hw/fdc.c | |
parent | 15ecf28f39e2b6fba359ed094770c8fa4ad8dc60 (diff) |
kvm: i8254: Fix conversion of in-kernel to userspace state
Due to a offset between the clock used to generate the in-kernel
count_load_time (CLOCK_MONOTONIC) and the clock used for processing this
in userspace (vm_clock), reading back the output of PIT channel 2 via
port 0x61 was broken. One use cases that suffered from it was the CPU
frequency calibration of SeaBIOS, which also affected IDE/AHCI timeouts.
This fixes it by calibrating the offset between both clocks on
kvm_pit_get and adjusting the kernel value before saving it in the
userspace state. As the calibration only works while the vm_clock is
running, we cache the in-kernel state across stopped phases.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'hw/fdc.c')
0 files changed, 0 insertions, 0 deletions