diff options
author | Sheng Yang <sheng.yang@intel.com> | 2007-10-28 21:40:42 -0400 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-01-30 10:52:58 -0500 |
commit | f78e0e2ee498e8f847500b565792c7d7634dcf54 (patch) | |
tree | dfd8f35883b40939a1ec013e27e6303af06d3e77 /drivers/kvm/kvm.h | |
parent | a03490ed29d2771c675d4d9c0ffe22e19a1757f3 (diff) |
KVM: VMX: Enable memory mapped TPR shadow (FlexPriority)
This patch based on CR8/TPR patch, and enable the TPR shadow (FlexPriority)
for 32bit Windows. Since TPR is accessed very frequently by 32bit
Windows, especially SMP guest, with FlexPriority enabled, we saw significant
performance gain.
Signed-off-by: Sheng Yang <sheng.yang@intel.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm/kvm.h')
-rw-r--r-- | drivers/kvm/kvm.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/kvm/kvm.h b/drivers/kvm/kvm.h index 516f79ffd126..22317d6f66ae 100644 --- a/drivers/kvm/kvm.h +++ b/drivers/kvm/kvm.h | |||
@@ -383,6 +383,7 @@ struct kvm { | |||
383 | struct kvm_ioapic *vioapic; | 383 | struct kvm_ioapic *vioapic; |
384 | int round_robin_prev_vcpu; | 384 | int round_robin_prev_vcpu; |
385 | unsigned int tss_addr; | 385 | unsigned int tss_addr; |
386 | struct page *apic_access_page; | ||
386 | }; | 387 | }; |
387 | 388 | ||
388 | static inline struct kvm_pic *pic_irqchip(struct kvm *kvm) | 389 | static inline struct kvm_pic *pic_irqchip(struct kvm *kvm) |
@@ -522,6 +523,9 @@ int is_error_page(struct page *page); | |||
522 | int kvm_set_memory_region(struct kvm *kvm, | 523 | int kvm_set_memory_region(struct kvm *kvm, |
523 | struct kvm_userspace_memory_region *mem, | 524 | struct kvm_userspace_memory_region *mem, |
524 | int user_alloc); | 525 | int user_alloc); |
526 | int __kvm_set_memory_region(struct kvm *kvm, | ||
527 | struct kvm_userspace_memory_region *mem, | ||
528 | int user_alloc); | ||
525 | gfn_t unalias_gfn(struct kvm *kvm, gfn_t gfn); | 529 | gfn_t unalias_gfn(struct kvm *kvm, gfn_t gfn); |
526 | struct page *gfn_to_page(struct kvm *kvm, gfn_t gfn); | 530 | struct page *gfn_to_page(struct kvm *kvm, gfn_t gfn); |
527 | void kvm_release_page(struct page *page); | 531 | void kvm_release_page(struct page *page); |