[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250408100638.202531-1-pbonzini@redhat.com>
Date: Tue, 8 Apr 2025 06:06:37 -0400
From: Paolo Bonzini <pbonzini@...hat.com>
To: torvalds@...ux-foundation.org
Cc: linux-kernel@...r.kernel.org,
kvm@...r.kernel.org
Subject: [GIT PULL] KVM fixes for Linux 6.15-rc2
Linus,
The following changes since commit 782f9feaa9517caf33186dcdd6b50a8f770ed29b:
Merge branch 'kvm-pre-tdx' into HEAD (2025-03-20 13:13:13 -0400)
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 c478032df0789250afe861bff5306d0dc4a8f9e5:
Merge tag 'kvmarm-fixes-6.15-1' of https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD (2025-04-08 05:49:31 -0400)
The diffstat is dominated by moving around some docs that were in the wrong
section ("Documentation: kvm: organize capabilities in the right section").
----------------------------------------------------------------
ARM:
* Rework heuristics for resolving the fault IPA (HPFAR_EL2 v. re-walk
stage-1 page tables) to align with the architecture. This avoids
possibly taking an SEA at EL2 on the page table walk or using an
architecturally UNKNOWN fault IPA.
* Use acquire/release semantics in the KVM FF-A proxy to avoid reading
a stale value for the FF-A version.
* Fix KVM guest driver to match PV CPUID hypercall ABI.
* Use Inner Shareable Normal Write-Back mappings at stage-1 in KVM
selftests, which is the only memory type for which atomic
instructions are architecturally guaranteed to work.
s390:
* Don't use %pK for debug printing and tracepoints.
x86:
* Use a separate subclass when acquiring KVM's per-CPU posted interrupts
wakeup lock in the scheduled out path, i.e. when adding a vCPU on
the list of vCPUs to wake, to workaround a false positive deadlock.
The schedule out code runs with a scheduler lock that the wakeup
handler takes in the opposite order; but it does so with IRQs disabled
and cannot run concurrently with a wakeup.
* Explicitly zero-initialize on-stack CPUID unions
* Allow building irqbypass.ko as as module when kvm.ko is a module
* Wrap relatively expensive sanity check with KVM_PROVE_MMU
* Acquire SRCU in KVM_GET_MP_STATE to protect guest memory accesses
selftests:
* Add more scenarios to the MONITOR/MWAIT test.
* Add option to rseq test to override /dev/cpu_dma_latency
* Bring list of exit reasons up to date
* Cleanup Makefile to list once tests that are valid on all architectures
Other:
* Documentation fixes
----------------------------------------------------------------
Chen Ni (1):
smccc: kvm_guest: Remove unneeded semicolon
Oliver Upton (4):
smccc: kvm_guest: Align with DISCOVER_IMPL_CPUS ABI
KVM: arm64: Only read HPFAR_EL2 when value is architecturally valid
arm64: Convert HPFAR_EL2 to sysreg table
KVM: arm64: Don't translate FAR if invalid/unsafe
Paolo Bonzini (14):
Merge tag 'kvm-s390-next-6.15-1' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
selftests: kvm: revamp MONITOR/MWAIT tests
selftests: kvm: bring list of exit reasons up to date
selftests: kvm: list once tests that are valid on all architectures
Documentation: KVM: KVM_GET_SUPPORTED_CPUID now exposes TSC_DEADLINE
Documentation: kvm: give correct name for KVM_CAP_SPAPR_MULTITCE
Documentation: kvm: drop "Capability" heading from capabilities
Documentation: kvm: fix some definition lists
Documentation: kvm: organize capabilities in the right section
Documentation: kvm: remove KVM_CAP_MIPS_TE
Merge branch 'kvm-6.15-rc2-cleanups' into HEAD
Merge branch 'kvm-6.15-rc2-fixes' into HEAD
Merge branch 'kvm-pi-fix-lockdep' into HEAD
Merge tag 'kvmarm-fixes-6.15-1' of https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
Raghavendra Rao Ananta (2):
KVM: arm64: selftests: Introduce and use hardware-definition macros
KVM: arm64: selftests: Explicitly set the page attrs to Inner-Shareable
Sean Christopherson (6):
KVM: x86: Acquire SRCU in KVM_GET_MP_STATE to protect guest memory accesses
KVM: selftests: Add option to rseq test to override /dev/cpu_dma_latency
KVM: x86/mmu: Wrap sanity check on number of TDP MMU pages with KVM_PROVE_MMU
KVM: Allow building irqbypass.ko as as module when kvm.ko is a module
KVM: x86: Explicitly zero-initialize on-stack CPUID unions
KVM: VMX: Assert that IRQs are disabled when putting vCPU on PI wakeup list
Thomas Weißschuh (2):
KVM: s390: Don't use %pK through tracepoints
KVM: s390: Don't use %pK through debug printing
Will Deacon (1):
KVM: arm64: Use acquire/release to communicate FF-A version negotiation
Yan Zhao (1):
KVM: VMX: Use separate subclasses for PI wakeup lock to squash false positive
Documentation/virt/kvm/api.rst | 1147 ++++++++++----------
arch/arm64/include/asm/esr.h | 44 +-
arch/arm64/include/asm/kvm_emulate.h | 7 +-
arch/arm64/include/asm/kvm_ras.h | 2 +-
arch/arm64/kvm/hyp/include/hyp/fault.h | 70 +-
arch/arm64/kvm/hyp/nvhe/ffa.c | 9 +-
arch/arm64/kvm/hyp/nvhe/mem_protect.c | 9 +-
arch/arm64/kvm/mmu.c | 31 +-
arch/arm64/tools/sysreg | 7 +
arch/s390/kvm/intercept.c | 2 +-
arch/s390/kvm/interrupt.c | 8 +-
arch/s390/kvm/kvm-s390.c | 10 +-
arch/s390/kvm/trace-s390.h | 4 +-
arch/x86/include/asm/kvm_host.h | 7 +-
arch/x86/kvm/cpuid.c | 8 +-
arch/x86/kvm/mmu/tdp_mmu.c | 8 +-
arch/x86/kvm/vmx/posted_intr.c | 37 +-
arch/x86/kvm/x86.c | 4 +
drivers/firmware/smccc/kvm_guest.c | 4 +-
include/linux/kvm_host.h | 2 +-
tools/testing/selftests/kvm/Makefile.kvm | 45 +-
.../testing/selftests/kvm/arm64/page_fault_test.c | 2 +-
.../selftests/kvm/include/arm64/processor.h | 67 +-
tools/testing/selftests/kvm/lib/arm64/processor.c | 60 +-
tools/testing/selftests/kvm/lib/kvm_util.c | 5 +-
tools/testing/selftests/kvm/rseq_test.c | 31 +-
.../testing/selftests/kvm/x86/monitor_mwait_test.c | 108 +-
virt/kvm/Kconfig | 2 +-
virt/kvm/eventfd.c | 10 +-
29 files changed, 964 insertions(+), 786 deletions(-)
Powered by blists - more mailing lists