[PATCH v7 00/20] KVM: x86: Enable APX for guests

From: Chang S. Bae

Date: Tue Sep 01 2026 - 22:45:13 EST


Dear KVM maintainers,

This respin is primarily a rebase onto v7.3, with the following minor
changes:

* Patch 8: Adjust the core API usage from static_cpu_has() to
cpu_feature_enabled().
* Patch 2: Fix an unintended code comment change that was previously
leaked to next patch.

Please let me know if there are any remaining issues that should be
addressed. I'm trying to figure out the next steps for the series.

Otherwise, I would appreciate your consideration for picking up this.

References:

* Repo: git://github.com/intel/apx.git apx-kvm_v7
* KVM unit test: https://lore.kernel.org/20260420212355.507827-1-chang.seok.bae@xxxxxxxxx
* V6: https://lore.kernel.org/kvm/20260729191656.598771-1-chang.seok.bae@xxxxxxxxx/

Thanks,
Chang


Chang S. Bae (19):
KVM: x86: Extend VCPU registers for EGPRs
KVM: VMX: Save guest EGPRs in VCPU cache
KVM: x86: Support APX state for XSAVE ABI
KVM: VMX: Refactor VMX instruction information access
KVM: VMX: Refactor instruction information decoding
KVM: VMX: Remove unused control-register access defines
KVM: VMX: Refactor register index retrieval from exit qualification
KVM: VMX: Support instruction information extension
KVM: nVMX: Propagate extended instruction information
KVM: x86: Support EGPR accessing and tracking for emulator
KVM: x86: Handle EGPR index and REX2-incompatible opcodes
KVM: x86: Support REX2-prefixed opcode decode
KVM: x86: Reject EVEX-prefixed instructions
KVM: x86: Guard valid XCR0.APX settings
KVM: x86: Add APX to supported XCR0
KVM: x86: Expose APX foundation feature to userspace
KVM: x86: Expose APX sub-features to userspace
KVM: x86: selftests: Add APX state and ABI test
KVM: x86: selftests: Add APX state handling and XCR0 sanity checks

Sean Christopherson (1):
KVM: x86: Move KVM_SUPPORTED_{XCR0,XSS} into kvm_x86_vendor_init()

arch/x86/Kconfig.assembler | 5 +
arch/x86/include/asm/cpuid/api.h | 1 +
arch/x86/include/asm/kvm_host.h | 19 ++
arch/x86/include/asm/kvm_vcpu_regs.h | 50 +++++
arch/x86/include/asm/vmx.h | 22 +-
arch/x86/kvm/Kconfig | 4 +
arch/x86/kvm/cpuid.c | 27 ++-
arch/x86/kvm/cpuid.h | 2 +
arch/x86/kvm/emulate.c | 121 +++++++----
arch/x86/kvm/kvm_emulate.h | 21 +-
arch/x86/kvm/reverse_cpuid.h | 6 +
arch/x86/kvm/svm/svm.c | 8 +-
arch/x86/kvm/vmenter.h | 1 +
arch/x86/kvm/vmx/nested.c | 75 +++----
arch/x86/kvm/vmx/nested.h | 2 +-
arch/x86/kvm/vmx/vmcs12.c | 1 +
arch/x86/kvm/vmx/vmcs12.h | 3 +-
arch/x86/kvm/vmx/vmenter.S | 31 ++-
arch/x86/kvm/vmx/vmx.c | 28 ++-
arch/x86/kvm/vmx/vmx.h | 77 ++++++-
arch/x86/kvm/x86.c | 92 +++++++--
tools/testing/selftests/kvm/Makefile.kvm | 1 +
.../selftests/kvm/include/x86/processor.h | 120 +++++++++++
tools/testing/selftests/kvm/x86/apx_test.c | 191 ++++++++++++++++++
tools/testing/selftests/kvm/x86/state_test.c | 3 +
.../selftests/kvm/x86/xcr0_cpuid_test.c | 19 ++
26 files changed, 802 insertions(+), 128 deletions(-)
create mode 100644 tools/testing/selftests/kvm/x86/apx_test.c


base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
--
2.53.0