aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/vmx.c
diff options
context:
space:
mode:
authorMarcelo Tosatti <mtosatti@redhat.com>2009-06-11 11:07:40 -0400
committerAvi Kivity <avi@redhat.com>2009-09-10 01:32:55 -0400
commite799794e02a368f79c3fae26aabaaadd0b7466ce (patch)
treef76f49415559a8c81f8bc98566d4e9f0f2856b91 /arch/x86/kvm/vmx.c
parent71db602322b1197e7951655c46339324b6208bf9 (diff)
KVM: VMX: more MSR_IA32_VMX_EPT_VPID_CAP capability bits
Required for EPT misconfiguration handler. Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm/vmx.c')
-rw-r--r--arch/x86/kvm/vmx.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 6ee929255a3d..6610181267b1 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -270,6 +270,26 @@ static inline bool cpu_has_vmx_flexpriority(void)
270 cpu_has_vmx_virtualize_apic_accesses(); 270 cpu_has_vmx_virtualize_apic_accesses();
271} 271}
272 272
273static inline bool cpu_has_vmx_ept_execute_only(void)
274{
275 return !!(vmx_capability.ept & VMX_EPT_EXECUTE_ONLY_BIT);
276}
277
278static inline bool cpu_has_vmx_eptp_uncacheable(void)
279{
280 return !!(vmx_capability.ept & VMX_EPTP_UC_BIT);
281}
282
283static inline bool cpu_has_vmx_eptp_writeback(void)
284{
285 return !!(vmx_capability.ept & VMX_EPTP_WB_BIT);
286}
287
288static inline bool cpu_has_vmx_ept_2m_page(void)
289{
290 return !!(vmx_capability.ept & VMX_EPT_2MB_PAGE_BIT);
291}
292
273static inline int cpu_has_vmx_invept_individual_addr(void) 293static inline int cpu_has_vmx_invept_individual_addr(void)
274{ 294{
275 return !!(vmx_capability.ept & VMX_EPT_EXTENT_INDIVIDUAL_BIT); 295 return !!(vmx_capability.ept & VMX_EPT_EXTENT_INDIVIDUAL_BIT);