diff options
author | Sheng Yang <sheng.yang@intel.com> | 2008-01-27 16:10:22 -0500 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-04-27 05:00:21 -0400 |
commit | 7837699fa6d7adf81f26ab73a5f6897ea1ab9d6a (patch) | |
tree | 37a89d5c10869a9ada59df75b49d685708661434 /include | |
parent | 4fcaa98267efc4d39ded9b0bc33c6b4a2f62fecd (diff) |
KVM: In kernel PIT model
The patch moves the PIT model from userspace to kernel, and increases
the timer accuracy greatly.
[marcelo: make last_injected_time per-guest]
Signed-off-by: Sheng Yang <sheng.yang@intel.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Tested-and-Acked-by: Alex Davis <alex14641@yahoo.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-x86/kvm_host.h | 1 | ||||
-rw-r--r-- | include/linux/kvm.h | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/include/asm-x86/kvm_host.h b/include/asm-x86/kvm_host.h index 49ced21e0290..26a313a09472 100644 --- a/include/asm-x86/kvm_host.h +++ b/include/asm-x86/kvm_host.h | |||
@@ -298,6 +298,7 @@ struct kvm_arch{ | |||
298 | struct list_head active_mmu_pages; | 298 | struct list_head active_mmu_pages; |
299 | struct kvm_pic *vpic; | 299 | struct kvm_pic *vpic; |
300 | struct kvm_ioapic *vioapic; | 300 | struct kvm_ioapic *vioapic; |
301 | struct kvm_pit *vpit; | ||
301 | 302 | ||
302 | int round_robin_prev_vcpu; | 303 | int round_robin_prev_vcpu; |
303 | unsigned int tss_addr; | 304 | unsigned int tss_addr; |
diff --git a/include/linux/kvm.h b/include/linux/kvm.h index e92e70324ea1..cefa9a2c7b89 100644 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h | |||
@@ -236,6 +236,7 @@ struct kvm_vapic_addr { | |||
236 | #define KVM_CAP_CLOCKSOURCE 8 | 236 | #define KVM_CAP_CLOCKSOURCE 8 |
237 | #define KVM_CAP_NR_VCPUS 9 /* returns max vcpus per vm */ | 237 | #define KVM_CAP_NR_VCPUS 9 /* returns max vcpus per vm */ |
238 | #define KVM_CAP_NR_MEMSLOTS 10 /* returns max memory slots per vm */ | 238 | #define KVM_CAP_NR_MEMSLOTS 10 /* returns max memory slots per vm */ |
239 | #define KVM_CAP_PIT 11 | ||
239 | 240 | ||
240 | /* | 241 | /* |
241 | * ioctls for VM fds | 242 | * ioctls for VM fds |
@@ -258,6 +259,7 @@ struct kvm_vapic_addr { | |||
258 | #define KVM_IRQ_LINE _IOW(KVMIO, 0x61, struct kvm_irq_level) | 259 | #define KVM_IRQ_LINE _IOW(KVMIO, 0x61, struct kvm_irq_level) |
259 | #define KVM_GET_IRQCHIP _IOWR(KVMIO, 0x62, struct kvm_irqchip) | 260 | #define KVM_GET_IRQCHIP _IOWR(KVMIO, 0x62, struct kvm_irqchip) |
260 | #define KVM_SET_IRQCHIP _IOR(KVMIO, 0x63, struct kvm_irqchip) | 261 | #define KVM_SET_IRQCHIP _IOR(KVMIO, 0x63, struct kvm_irqchip) |
262 | #define KVM_CREATE_PIT _IO(KVMIO, 0x64) | ||
261 | 263 | ||
262 | /* | 264 | /* |
263 | * ioctls for vcpu fds | 265 | * ioctls for vcpu fds |