KVM: x86: Move enabling EFER.SVME and EFER.LMSLE to generic EFER setup

Move SVM-specific EFER bit enablement to generic x86 code, with the rest
of EFER bit enablement. Unifying the code for EFER bit enablement allows
for a later change to re-initialize EFER bits on module init.

No functional change intended.

Cc: stable@vger.kernel.org
Suggested-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Yosry Ahmed <yosry@kernel.org>
Link: https://patch.msgid.link/20260713181020.2735367-2-yosry@kernel.org
Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
Yosry Ahmed 2026-07-13 18:10:16 +00:00 committed by Sean Christopherson
parent 0ca49fbd28
commit 6ccc19d4c1
2 changed files with 6 additions and 4 deletions

View File

@ -5636,10 +5636,6 @@ static __init int svm_hardware_setup(void)
if (nested) {
pr_info("Nested Virtualization enabled\n");
kvm_enable_efer_bits(EFER_SVME);
if (!boot_cpu_has(X86_FEATURE_EFER_LMSLE_MBZ))
kvm_enable_efer_bits(EFER_LMSLE);
r = nested_svm_init_msrpm_merge_offsets();
if (r)
return r;

View File

@ -6918,6 +6918,12 @@ static void kvm_setup_efer_caps(void)
if (kvm_cpu_cap_has(X86_FEATURE_AUTOIBRS))
kvm_enable_efer_bits(EFER_AUTOIBRS);
if (kvm_cpu_cap_has(X86_FEATURE_SVM)) {
kvm_enable_efer_bits(EFER_SVME);
if (!boot_cpu_has(X86_FEATURE_EFER_LMSLE_MBZ))
kvm_enable_efer_bits(EFER_LMSLE);
}
}
static void kvm_nested_ops_update(const struct kvm_x86_nested_ops *nested_ops)