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/vmx.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/vmx.h')
-rw-r--r-- | drivers/kvm/vmx.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/kvm/vmx.h b/drivers/kvm/vmx.h index 270d477a2aa6..c84bd3733153 100644 --- a/drivers/kvm/vmx.h +++ b/drivers/kvm/vmx.h | |||
@@ -89,6 +89,8 @@ enum vmcs_field { | |||
89 | TSC_OFFSET_HIGH = 0x00002011, | 89 | TSC_OFFSET_HIGH = 0x00002011, |
90 | VIRTUAL_APIC_PAGE_ADDR = 0x00002012, | 90 | VIRTUAL_APIC_PAGE_ADDR = 0x00002012, |
91 | VIRTUAL_APIC_PAGE_ADDR_HIGH = 0x00002013, | 91 | VIRTUAL_APIC_PAGE_ADDR_HIGH = 0x00002013, |
92 | APIC_ACCESS_ADDR = 0x00002014, | ||
93 | APIC_ACCESS_ADDR_HIGH = 0x00002015, | ||
92 | VMCS_LINK_POINTER = 0x00002800, | 94 | VMCS_LINK_POINTER = 0x00002800, |
93 | VMCS_LINK_POINTER_HIGH = 0x00002801, | 95 | VMCS_LINK_POINTER_HIGH = 0x00002801, |
94 | GUEST_IA32_DEBUGCTL = 0x00002802, | 96 | GUEST_IA32_DEBUGCTL = 0x00002802, |
@@ -214,6 +216,7 @@ enum vmcs_field { | |||
214 | #define EXIT_REASON_MSR_WRITE 32 | 216 | #define EXIT_REASON_MSR_WRITE 32 |
215 | #define EXIT_REASON_MWAIT_INSTRUCTION 36 | 217 | #define EXIT_REASON_MWAIT_INSTRUCTION 36 |
216 | #define EXIT_REASON_TPR_BELOW_THRESHOLD 43 | 218 | #define EXIT_REASON_TPR_BELOW_THRESHOLD 43 |
219 | #define EXIT_REASON_APIC_ACCESS 44 | ||
217 | 220 | ||
218 | /* | 221 | /* |
219 | * Interruption-information format | 222 | * Interruption-information format |
@@ -307,4 +310,6 @@ enum vmcs_field { | |||
307 | #define MSR_IA32_FEATURE_CONTROL_LOCKED 0x1 | 310 | #define MSR_IA32_FEATURE_CONTROL_LOCKED 0x1 |
308 | #define MSR_IA32_FEATURE_CONTROL_VMXON_ENABLED 0x4 | 311 | #define MSR_IA32_FEATURE_CONTROL_VMXON_ENABLED 0x4 |
309 | 312 | ||
313 | #define APIC_ACCESS_PAGE_PRIVATE_MEMSLOT 9 | ||
314 | |||
310 | #endif | 315 | #endif |