diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2012-06-06 16:28:42 +0200 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2012-06-11 14:18:23 +0300 |
commit | 0cdd3d14447da1a04e778c219c77db8b96f9cf33 (patch) | |
tree | a59e85a1e9a7ed208704f811e978b7342a63e185 /configure | |
parent | 0614cb82ca27bdffb83864e693fc29e29182667b (diff) | |
download | qemu-0cdd3d14447da1a04e778c219c77db8b96f9cf33.zip qemu-0cdd3d14447da1a04e778c219c77db8b96f9cf33.tar.gz qemu-0cdd3d14447da1a04e778c219c77db8b96f9cf33.tar.bz2 |
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 'configure')
0 files changed, 0 insertions, 0 deletions