Commit 3cc359ca authored by Sean Christopherson's avatar Sean Christopherson
Browse files

KVM: x86: Rename kvm_cpu_cap_mask() to kvm_cpu_cap_init()



Rename kvm_cpu_cap_mask() to kvm_cpu_cap_init() in anticipation of merging
it with kvm_cpu_cap_init_kvm_defined(), and in anticipation of _setting_
bits in the helper (a future commit will play macro games to set emulated
feature flags via kvm_cpu_cap_init()).

No functional change intended.

Reviewed-by: default avatarMaxim Levitsky <mlevitsk@redhat.com>
Link: https://lore.kernel.org/r/20241128013424.4096668-24-seanjc@google.com


Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
parent ccf93de4
Loading
Loading
Loading
Loading
+17 −17
Original line number Diff line number Diff line
@@ -636,7 +636,7 @@ static __always_inline void __kvm_cpu_cap_mask(unsigned int leaf)
static __always_inline
void kvm_cpu_cap_init_kvm_defined(enum kvm_only_cpuid_leafs leaf, u32 mask)
{
	/* Use kvm_cpu_cap_mask for leafs that aren't KVM-only. */
	/* Use kvm_cpu_cap_init for leafs that aren't KVM-only. */
	BUILD_BUG_ON(leaf < NCAPINTS);

	kvm_cpu_caps[leaf] = mask;
@@ -644,7 +644,7 @@ void kvm_cpu_cap_init_kvm_defined(enum kvm_only_cpuid_leafs leaf, u32 mask)
	__kvm_cpu_cap_mask(leaf);
}

static __always_inline void kvm_cpu_cap_mask(enum cpuid_leafs leaf, u32 mask)
static __always_inline void kvm_cpu_cap_init(enum cpuid_leafs leaf, u32 mask)
{
	/* Use kvm_cpu_cap_init_kvm_defined for KVM-only leafs. */
	BUILD_BUG_ON(leaf >= NCAPINTS);
@@ -682,7 +682,7 @@ void kvm_set_cpu_caps(void)
	memcpy(&kvm_cpu_caps, &boot_cpu_data.x86_capability,
	       sizeof(kvm_cpu_caps) - (NKVMCAPINTS * sizeof(*kvm_cpu_caps)));

	kvm_cpu_cap_mask(CPUID_1_ECX,
	kvm_cpu_cap_init(CPUID_1_ECX,
		F(XMM3) |
		F(PCLMULQDQ) |
		0 /* DTES64 */ |
@@ -718,7 +718,7 @@ void kvm_set_cpu_caps(void)
	/* KVM emulates x2apic in software irrespective of host support. */
	kvm_cpu_cap_set(X86_FEATURE_X2APIC);

	kvm_cpu_cap_mask(CPUID_1_EDX,
	kvm_cpu_cap_init(CPUID_1_EDX,
		F(FPU) |
		F(VME) |
		F(DE) |
@@ -748,7 +748,7 @@ void kvm_set_cpu_caps(void)
		0 /* HTT, TM, Reserved, PBE */
	);

	kvm_cpu_cap_mask(CPUID_7_0_EBX,
	kvm_cpu_cap_init(CPUID_7_0_EBX,
		F(FSGSBASE) |
		F(SGX) |
		F(BMI1) |
@@ -778,7 +778,7 @@ void kvm_set_cpu_caps(void)
		F(AVX512BW) |
		F(AVX512VL));

	kvm_cpu_cap_mask(CPUID_7_ECX,
	kvm_cpu_cap_init(CPUID_7_ECX,
		F(AVX512VBMI) |
		F(LA57) |
		F(PKU) |
@@ -810,7 +810,7 @@ void kvm_set_cpu_caps(void)
	if (!tdp_enabled || !boot_cpu_has(X86_FEATURE_OSPKE))
		kvm_cpu_cap_clear(X86_FEATURE_PKU);

	kvm_cpu_cap_mask(CPUID_7_EDX,
	kvm_cpu_cap_init(CPUID_7_EDX,
		F(AVX512_4VNNIW) |
		F(AVX512_4FMAPS) |
		F(SPEC_CTRL) |
@@ -842,7 +842,7 @@ void kvm_set_cpu_caps(void)
	if (boot_cpu_has(X86_FEATURE_AMD_SSBD))
		kvm_cpu_cap_set(X86_FEATURE_SPEC_CTRL_SSBD);

	kvm_cpu_cap_mask(CPUID_7_1_EAX,
	kvm_cpu_cap_init(CPUID_7_1_EAX,
		F(SHA512) |
		F(SM3) |
		F(SM4) |
@@ -875,7 +875,7 @@ void kvm_set_cpu_caps(void)
		F(MCDT_NO)
	);

	kvm_cpu_cap_mask(CPUID_D_1_EAX,
	kvm_cpu_cap_init(CPUID_D_1_EAX,
		F(XSAVEOPT) |
		F(XSAVEC) |
		F(XGETBV1) |
@@ -895,7 +895,7 @@ void kvm_set_cpu_caps(void)
		F(AVX10_512)
	);

	kvm_cpu_cap_mask(CPUID_8000_0001_ECX,
	kvm_cpu_cap_init(CPUID_8000_0001_ECX,
		F(LAHF_LM) |
		F(CMP_LEGACY) |
		0 /*SVM*/ |
@@ -915,7 +915,7 @@ void kvm_set_cpu_caps(void)
		0 /* PERFCTR_CORE */
	);

	kvm_cpu_cap_mask(CPUID_8000_0001_EDX,
	kvm_cpu_cap_init(CPUID_8000_0001_EDX,
		F(FPU) |
		F(VME) |
		F(DE) |
@@ -956,7 +956,7 @@ void kvm_set_cpu_caps(void)
		SF(CONSTANT_TSC)
	);

	kvm_cpu_cap_mask(CPUID_8000_0008_EBX,
	kvm_cpu_cap_init(CPUID_8000_0008_EBX,
		F(CLZERO) |
		F(XSAVEERPTR) |
		F(WBNOINVD) |
@@ -1002,9 +1002,9 @@ void kvm_set_cpu_caps(void)
	 * Hide all SVM features by default, SVM will set the cap bits for
	 * features it emulates and/or exposes for L1.
	 */
	kvm_cpu_cap_mask(CPUID_8000_000A_EDX, 0);
	kvm_cpu_cap_init(CPUID_8000_000A_EDX, 0);

	kvm_cpu_cap_mask(CPUID_8000_001F_EAX,
	kvm_cpu_cap_init(CPUID_8000_001F_EAX,
		0 /* SME */ |
		0 /* SEV */ |
		0 /* VM_PAGE_FLUSH */ |
@@ -1012,7 +1012,7 @@ void kvm_set_cpu_caps(void)
		F(SME_COHERENT)
	);

	kvm_cpu_cap_mask(CPUID_8000_0021_EAX,
	kvm_cpu_cap_init(CPUID_8000_0021_EAX,
		F(NO_NESTED_DATA_BP) |
		F(LFENCE_RDTSC) |
		0 /* SmmPgCfgLock */ |
@@ -1036,7 +1036,7 @@ void kvm_set_cpu_caps(void)
	 * kernel.  LFENCE_RDTSC was a Linux-defined synthetic feature long
	 * before AMD joined the bandwagon, e.g. LFENCE is serializing on most
	 * CPUs that support SSE2.  On CPUs that don't support AMD's leaf,
	 * kvm_cpu_cap_mask() will unfortunately drop the flag due to ANDing
	 * kvm_cpu_cap_init() will unfortunately drop the flag due to ANDing
	 * the mask with the raw host CPUID, and reporting support in AMD's
	 * leaf can make it easier for userspace to detect the feature.
	 */
@@ -1046,7 +1046,7 @@ void kvm_set_cpu_caps(void)
		kvm_cpu_cap_set(X86_FEATURE_NULL_SEL_CLR_BASE);
	kvm_cpu_cap_set(X86_FEATURE_NO_SMM_CTL_MSR);

	kvm_cpu_cap_mask(CPUID_C000_0001_EDX,
	kvm_cpu_cap_init(CPUID_C000_0001_EDX,
		F(XSTORE) |
		F(XSTORE_EN) |
		F(XCRYPT) |