Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2b3c5cbc authored by Zhang Xiantao's avatar Zhang Xiantao Committed by Gleb Natapov
Browse files

kvm: don't use bit24 for detecting address-specific invalidation capability



Bit24 in VMX_EPT_VPID_CAP_MASI is  not used for address-specific invalidation capability
reporting, so remove it from KVM to avoid conflicts in future.

Signed-off-by: default avatarZhang Xiantao <xiantao.zhang@intel.com>
Signed-off-by: default avatarGleb Natapov <gleb@redhat.com>
parent 0307b7b8
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -446,7 +446,6 @@ enum vmcs_field {
#define VMX_EPT_2MB_PAGE_BIT			(1ull << 16)
#define VMX_EPT_2MB_PAGE_BIT			(1ull << 16)
#define VMX_EPT_1GB_PAGE_BIT			(1ull << 17)
#define VMX_EPT_1GB_PAGE_BIT			(1ull << 17)
#define VMX_EPT_AD_BIT				    (1ull << 21)
#define VMX_EPT_AD_BIT				    (1ull << 21)
#define VMX_EPT_EXTENT_INDIVIDUAL_BIT		(1ull << 24)
#define VMX_EPT_EXTENT_CONTEXT_BIT		(1ull << 25)
#define VMX_EPT_EXTENT_CONTEXT_BIT		(1ull << 25)
#define VMX_EPT_EXTENT_GLOBAL_BIT		(1ull << 26)
#define VMX_EPT_EXTENT_GLOBAL_BIT		(1ull << 26)


+0 −16
Original line number Original line Diff line number Diff line
@@ -802,11 +802,6 @@ static inline bool cpu_has_vmx_ept_ad_bits(void)
	return vmx_capability.ept & VMX_EPT_AD_BIT;
	return vmx_capability.ept & VMX_EPT_AD_BIT;
}
}


static inline bool cpu_has_vmx_invept_individual_addr(void)
{
	return vmx_capability.ept & VMX_EPT_EXTENT_INDIVIDUAL_BIT;
}

static inline bool cpu_has_vmx_invept_context(void)
static inline bool cpu_has_vmx_invept_context(void)
{
{
	return vmx_capability.ept & VMX_EPT_EXTENT_CONTEXT_BIT;
	return vmx_capability.ept & VMX_EPT_EXTENT_CONTEXT_BIT;
@@ -1062,17 +1057,6 @@ static inline void ept_sync_context(u64 eptp)
	}
	}
}
}


static inline void ept_sync_individual_addr(u64 eptp, gpa_t gpa)
{
	if (enable_ept) {
		if (cpu_has_vmx_invept_individual_addr())
			__invept(VMX_EPT_EXTENT_INDIVIDUAL_ADDR,
					eptp, gpa);
		else
			ept_sync_context(eptp);
	}
}

static __always_inline unsigned long vmcs_readl(unsigned long field)
static __always_inline unsigned long vmcs_readl(unsigned long field)
{
{
	unsigned long value;
	unsigned long value;