[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250216062837.4152522-1-pbonzini@redhat.com>
Date: Sun, 16 Feb 2025 07:28:37 +0100
From: Paolo Bonzini <pbonzini@...hat.com>
To: torvalds@...ux-foundation.org
Cc: linux-kernel@...r.kernel.org,
kvm@...r.kernel.org,
eauger@...hat.com,
maz@...nel.org,
seanjc@...gle.com
Subject: [GIT PULL] KVM fixes for Linux 6.14-rc3
Linus,
The following changes since commit a64dcfb451e254085a7daee5fe51bf22959d52d3:
Linux 6.14-rc2 (2025-02-09 12:45:03 -0800)
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 d3d0b8dfe06098d6d584266c35e9a0947f5b7132:
Merge tag 'kvm-x86-fixes-6.14-rcN' of https://github.com/kvm-x86/linux into HEAD (2025-02-14 19:08:35 -0500)
Yet another largish pull request, this time that's (mostly) thanks to ARM
which has a vector register ~rewrite that fixes a good deal of bugs and
actually removes more code than it adds.
Paolo
----------------------------------------------------------------
ARM:
- Large set of fixes for vector handling, specially in the interactions
between host and guest state. This fixes a number of bugs affecting
actual deployments, and greatly simplifies the FP/SIMD/SVE handling.
Thanks to Mark Rutland for dealing with this thankless task.
- Fix an ugly race between vcpu and vgic creation/init, resulting in
unexpected behaviours.
- Fix use of kernel VAs at EL2 when emulating timers with nVHE.
- Small set of pKVM improvements and cleanups.
x86:
- Fix broken SNP support with KVM module built-in, ensuring the PSP
module is initialized before KVM even when the module infrastructure
cannot be used to order initcalls
- Reject Hyper-V SEND_IPI hypercalls if the local APIC isn't being emulated
by KVM to fix a NULL pointer dereference.
- Enter guest mode (L2) from KVM's perspective before initializing the vCPU's
nested NPT MMU so that the MMU is properly tagged for L2, not L1.
- Load the guest's DR6 outside of the innermost .vcpu_run() loop, as the
guest's value may be stale if a VM-Exit is handled in the fastpath.
----------------------------------------------------------------
Ashish Kalra (1):
x86/sev: Fix broken SNP support with KVM module built-in
Marc Zyngier (4):
KVM: arm64: Fix __pkvm_host_mkyoung_guest() return value
KVM: arm64: Convert timer offset VA when accessed in HYP code
KVM: arm64: timer: Drop warning on failed interrupt signalling
KVM: arm64: vgic: Hoist SGI/PPI alloc from vgic_init() to kvm_create_vgic()
Mark Rutland (9):
KVM: arm64: Unconditionally save+flush host FPSIMD/SVE/SME state
KVM: arm64: Remove host FPSIMD saving for non-protected KVM
KVM: arm64: Remove VHE host restore of CPACR_EL1.ZEN
KVM: arm64: Remove VHE host restore of CPACR_EL1.SMEN
KVM: arm64: Refactor CPTR trap deactivation
KVM: arm64: Refactor exit handlers
KVM: arm64: Mark some header functions as inline
KVM: arm64: Eagerly switch ZCR_EL{1,2}
KVM: arm64: Simplify warning in kvm_arch_vcpu_load_fp()
Paolo Bonzini (2):
Merge tag 'kvmarm-fixes-6.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
Merge tag 'kvm-x86-fixes-6.14-rcN' of https://github.com/kvm-x86/linux into HEAD
Quentin Perret (3):
KVM: arm64: Improve error handling from check_host_shared_guest()
KVM: arm64: Simplify np-guest hypercalls
KVM: arm64: Fix alignment of kvm_hyp_memcache allocations
Sean Christopherson (8):
KVM: x86: Reject Hyper-V's SEND_IPI hypercalls if local APIC isn't in-kernel
KVM: selftests: Mark test_hv_cpuid_e2big() static in Hyper-V CPUID test
KVM: selftests: Manage CPUID array in Hyper-V CPUID test's core helper
KVM: selftests: Add CPUID tests for Hyper-V features that need in-kernel APIC
KVM: nSVM: Enter guest mode before initializing nested NPT MMU
KVM: x86: Load DR6 with guest value only before entering .vcpu_run() loop
crypto: ccp: Add external API interface for PSP module initialization
KVM: SVM: Ensure PSP module is initialized if KVM module is built-in
arch/arm64/include/asm/kvm_emulate.h | 42 -------
arch/arm64/include/asm/kvm_host.h | 22 +---
arch/arm64/kernel/fpsimd.c | 25 -----
arch/arm64/kvm/arch_timer.c | 16 ++-
arch/arm64/kvm/arm.c | 8 --
arch/arm64/kvm/fpsimd.c | 107 ++----------------
arch/arm64/kvm/hyp/entry.S | 5 +
arch/arm64/kvm/hyp/include/hyp/switch.h | 148 ++++++++++++++++++-------
arch/arm64/kvm/hyp/nvhe/hyp-main.c | 15 ++-
arch/arm64/kvm/hyp/nvhe/mem_protect.c | 76 +++++++------
arch/arm64/kvm/hyp/nvhe/switch.c | 89 +++++++--------
arch/arm64/kvm/hyp/vhe/switch.c | 33 +++---
arch/arm64/kvm/vgic/vgic-init.c | 74 ++++++-------
arch/x86/include/asm/kvm-x86-ops.h | 1 +
arch/x86/include/asm/kvm_host.h | 1 +
arch/x86/include/asm/sev.h | 2 +
arch/x86/kvm/hyperv.c | 6 +-
arch/x86/kvm/mmu/mmu.c | 2 +-
arch/x86/kvm/svm/nested.c | 10 +-
arch/x86/kvm/svm/sev.c | 10 ++
arch/x86/kvm/svm/svm.c | 13 +--
arch/x86/kvm/vmx/main.c | 1 +
arch/x86/kvm/vmx/vmx.c | 10 +-
arch/x86/kvm/vmx/x86_ops.h | 1 +
arch/x86/kvm/x86.c | 3 +
arch/x86/virt/svm/sev.c | 23 ++--
drivers/crypto/ccp/sp-dev.c | 14 +++
drivers/iommu/amd/init.c | 34 +++++-
include/linux/psp-sev.h | 9 ++
tools/testing/selftests/kvm/x86/hyperv_cpuid.c | 47 +++++---
30 files changed, 420 insertions(+), 427 deletions(-)
Powered by blists - more mailing lists