[PATCH v2 0/3] KVM: x86: Convert nested ops to static calls
From: Sean Christopherson
Date: Tue Jun 30 2026 - 16:28:33 EST
Convert nested_ops to use static calls, mainly because the nested ops are
bizarrely different than the x86 and PMU ops, and the kvm_x86_ops.nested_ops->
code is an eyesore (IMO). I haven't bothered to do any performance testing.
v2: In patch 1, keep the get_evmcs_version != NULL check in kvm_get_hv_cpuid(),
then convert it to a RET0 call in patch 2. [Sashiko]
v1: https://lore.kernel.org/all/20260625233846.3407303-1-seanjc@xxxxxxxxxx
Sean Christopherson (3):
KVM: x86: Reject nested CAP enablement if nested virtualization is
disabled
KVM: x86: Add static calls for nested virtualization ops
KVM: x86: Move nested_ops out of kvm_x86_ops, to global kvm_nested_ops
arch/x86/include/asm/kvm-x86-nested-ops.h | 36 +++++++++++++
arch/x86/include/asm/kvm_host.h | 14 ++++-
arch/x86/kvm/hyperv.c | 6 +--
arch/x86/kvm/mmu.h | 5 +-
arch/x86/kvm/mmu/paging_tmpl.h | 2 +-
arch/x86/kvm/svm/nested.c | 2 +-
arch/x86/kvm/svm/svm.c | 4 +-
arch/x86/kvm/vmx/main.c | 3 +-
arch/x86/kvm/vmx/nested.c | 2 +-
arch/x86/kvm/vmx/vmx.c | 1 +
arch/x86/kvm/x86.c | 66 +++++++++++++++--------
arch/x86/kvm/x86.h | 2 +-
12 files changed, 104 insertions(+), 39 deletions(-)
create mode 100644 arch/x86/include/asm/kvm-x86-nested-ops.h
base-commit: a204badd8432f93b7e862e7dac6db0fe3d65f370
--
2.55.0.rc0.799.gd6f94ed593-goog