[GIT PULL] LoongArch KVM changes for v7.1

From: Huacai Chen

Date: Fri Apr 10 2026 - 06:23:34 EST


The following changes since commit 591cd656a1bf5ea94a222af5ef2ee76df029c1d2:

Linux 7.0-rc7 (2026-04-05 15:26:23 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson.git tags/loongarch-kvm-7.1

for you to fetch changes up to e47b8e1db9a9bbef6765e85b11e87f48e6b56846:

KVM: LoongArch: selftests: Add PMU overflow interrupt test (2026-04-09 18:56:38 +0800)

----------------------------------------------------------------
LoongArch KVM changes for v7.1

1. Use CSR_CRMD_PLV in kvm_arch_vcpu_in_kernel().
2. Let vcpu_is_preempted() a macro & some enhanments.
3. Add DMSINTC irqchip in kernel support.
4. Add KVM PMU test cases for tools/selftests.

----------------------------------------------------------------
Bibo Mao (4):
LoongArch: KVM: Check kvm_request_pending() in kvm_late_check_requests()
LoongArch: KVM: Move host CSR_EENTRY save and restore in context switch
LoongArch: KVM: Move host CSR_GSTAT save and restore in context switch
LoongArch: KVM: Make vcpu_is_preempted() as a macro rather than function

Song Gao (5):
LoongArch: KVM: Add DMSINTC device support
LoongArch: KVM: Add DMSINTC inject msi to vCPU
KVM: LoongArch: selftests: Add cpucfg read/write helpers
KVM: LoongArch: selftests: Add basic PMU event counting test
KVM: LoongArch: selftests: Add PMU overflow interrupt test

Tao Cui (1):
LoongArch: KVM: Use CSR_CRMD_PLV in kvm_arch_vcpu_in_kernel()

arch/loongarch/include/asm/kvm_dmsintc.h | 27 +++
arch/loongarch/include/asm/kvm_host.h | 3 +
arch/loongarch/include/asm/kvm_pch_pic.h | 3 +-
arch/loongarch/include/asm/qspinlock.h | 26 ++-
arch/loongarch/include/uapi/asm/kvm.h | 4 +
arch/loongarch/kernel/paravirt.c | 16 +-
arch/loongarch/kvm/Makefile | 1 +
arch/loongarch/kvm/intc/dmsintc.c | 182 ++++++++++++++++++
arch/loongarch/kvm/intc/pch_pic.c | 15 +-
arch/loongarch/kvm/interrupt.c | 2 +
arch/loongarch/kvm/irqfd.c | 10 +-
arch/loongarch/kvm/main.c | 14 +-
arch/loongarch/kvm/vcpu.c | 29 +--
include/uapi/linux/kvm.h | 2 +
tools/testing/selftests/kvm/Makefile.kvm | 3 +-
.../testing/selftests/kvm/include/loongarch/pmu.h | 66 +++++++
.../selftests/kvm/include/loongarch/processor.h | 15 ++
.../selftests/kvm/lib/loongarch/processor.c | 15 +-
tools/testing/selftests/kvm/loongarch/pmu_test.c | 205 +++++++++++++++++++++
19 files changed, 593 insertions(+), 45 deletions(-)
create mode 100644 arch/loongarch/include/asm/kvm_dmsintc.h
create mode 100644 arch/loongarch/kvm/intc/dmsintc.c
create mode 100644 tools/testing/selftests/kvm/include/loongarch/pmu.h
create mode 100644 tools/testing/selftests/kvm/loongarch/pmu_test.c