[GIT PULL] KVM fixes for Linux 6.16-rc3

From: Paolo Bonzini
Date: Sun Jun 22 2025 - 03:33:49 EST


Linus,

The following changes since commit e04c78d86a9699d136910cfc0bdcf01087e3267e:

Linux 6.16-rc2 (2025-06-15 13:49:41 -0700)

are available in the Git repository at:

https://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus

for you to fetch changes up to 25e8b1dd4883e6c251c3db5b347f3c8ae4ade921:

KVM: TDX: Exit to userspace for GetTdVmCallInfo (2025-06-20 13:55:47 -0400)

----------------------------------------------------------------
ARM:

- Fix another set of FP/SIMD/SVE bugs affecting NV, and plugging some
missing synchronisation

- A small fix for the irqbypass hook fixes, tightening the check and
ensuring that we only deal with MSI for both the old and the new
route entry

- Rework the way the shadow LRs are addressed in a nesting
configuration, plugging an embarrassing bug as well as simplifying
the whole process

- Add yet another fix for the dreaded arch_timer_edge_cases selftest

RISC-V:

- Fix the size parameter check in SBI SFENCE calls

- Don't treat SBI HFENCE calls as NOPs

x86 TDX:

- Complete API for handling complex TDVMCALLs in userspace. This was
delayed because the spec lacked a way for userspace to deny supporting
these calls; the new exit code is now approved.

----------------------------------------------------------------
Anup Patel (2):
RISC-V: KVM: Fix the size parameter check in SBI SFENCE calls
RISC-V: KVM: Don't treat SBI HFENCE calls as NOPs

Binbin Wu (3):
KVM: TDX: Add new TDVMCALL status code for unsupported subfuncs
KVM: TDX: Handle TDG.VP.VMCALL<GetQuote>
KVM: TDX: Exit to userspace for GetTdVmCallInfo

Marc Zyngier (1):
KVM: arm64: nv: Fix tracking of shadow list registers

Mark Rutland (7):
KVM: arm64: VHE: Synchronize restore of host debug registers
KVM: arm64: VHE: Synchronize CPTR trap deactivation
KVM: arm64: Reorganise CPTR trap manipulation
KVM: arm64: Remove ad-hoc CPTR manipulation from fpsimd_sve_sync()
KVM: arm64: Remove ad-hoc CPTR manipulation from kvm_hyp_handle_fpsimd()
KVM: arm64: Remove cpacr_clear_set()
KVM: arm64: VHE: Centralize ISBs when returning to host

Paolo Bonzini (2):
Merge tag 'kvmarm-fixes-6.16-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
Merge tag 'kvm-riscv-fixes-6.16-1' of https://github.com/kvm-riscv/linux into HEAD

Sean Christopherson (1):
KVM: arm64: Explicitly treat routing entry type changes as changes

Zenghui Yu (1):
KVM: arm64: selftests: Close the GIC FD in arch_timer_edge_cases

Documentation/virt/kvm/api.rst | 59 ++++++++-
arch/arm64/include/asm/kvm_emulate.h | 62 ---------
arch/arm64/include/asm/kvm_host.h | 6 +-
arch/arm64/kvm/arm.c | 3 +-
arch/arm64/kvm/hyp/include/hyp/switch.h | 147 +++++++++++++++++++--
arch/arm64/kvm/hyp/nvhe/hyp-main.c | 5 +-
arch/arm64/kvm/hyp/nvhe/switch.c | 59 ---------
arch/arm64/kvm/hyp/vhe/switch.c | 107 ++-------------
arch/arm64/kvm/vgic/vgic-v3-nested.c | 81 ++++++------
arch/riscv/kvm/vcpu_sbi_replace.c | 8 +-
arch/x86/include/asm/shared/tdx.h | 1 +
arch/x86/kvm/vmx/tdx.c | 83 +++++++++++-
include/uapi/linux/kvm.h | 22 +++
.../selftests/kvm/arm64/arch_timer_edge_cases.c | 16 ++-
14 files changed, 376 insertions(+), 283 deletions(-)