[GIT PULL] KVM/riscv changes for 7.3
Anup Patel
anup at brainfault.org
Sat Aug 15 03:58:37 PDT 2026
Hi Paolo,
We have the following KVM RISC-V changes for 7.3:
1) Svadu/Zicfiss/Zicfilp FWFT support for Guest
2) Use try_cmpxchg for IMSIC MRIF RMW
3) More arch-specific tracepoints in KVM RISC-V
4) Eager Page Splitting for KVM RISC-V
5) Optimize hfence request handling for SMP Guests
6) Improve dirty log clearing by skipping zero bits in mask
7) Guard HFENCE range loops against overflow
8) CPU PM notifiers in KVM RISC-V for non-retentive idle states
9) Fix kernel-mode vector context save/restore for Guest
In addition to the above, we also have a few small fixes such as
limit checks, array overflow checks, data type changes, etc.
Please pull.
Regards,
Anup
The following changes since commit f5098b6bae761e346ebcd9da7f95622c04733cff:
Linux 7.2-rc5 (2026-07-26 14:45:48 -0700)
are available in the Git repository at:
https://github.com/kvm-riscv/linux.git tags/kvm-riscv-7.3-1
for you to fetch changes up to b5060a4aa33d7d78a8c1837ab08ef0c81ea96650:
RISC-V: KVM: fix vcpu vector context handling for kernel-mode vector
(2026-08-13 13:20:02 +0530)
----------------------------------------------------------------
KVM/riscv changes for 7.3
- Svadu/Zicfiss/Zicfilp FWFT support for Guest
- Use try_cmpxchg for IMSIC MRIF RMW
- More arch-specific tracepoints in KVM RISC-V
- Eager Page Splitting for KVM RISC-V
- Optimize hfence request handling for SMP Guests
- Improve dirty log clearing by skipping zero bits in mask
- Guard HFENCE range loops against overflow
- CPU PM notifiers in KVM RISC-V for non-retentive idle states
- Fix kernel-mode vector context save/restore for Guest
----------------------------------------------------------------
Andy Chiu (3):
riscv: vector: refactor riscv_v_start_kernel_context
riscv: vector: allow non-preemptible kernel-mode vector with IRQs off
RISC-V: KVM: fix vcpu vector context handling for kernel-mode vector
Bingyu.Xian (2):
RISC-V: KVM: Use unsigned int for vma_pageshift
RISC-V: KVM: Widen G-stage fault address to gpa_t
Guidong Han (1):
RISC-V: KVM: Fix PMU event info array size overflow
Inochi Amaoto (11):
RISC-V: KVM: Add support for Svadu FWFT features
KVM: riscv: selftests: add Svadu FWFT extension to get-reg-list test
RISC-V: KVM: Allow Zicfiss/Zicfilp extensions for Guest/VM
RISC-V: KVM: Add ssp context save/restore
RISC-V: KVM: Handle software-check exits for VCPU
RISC-V: KVM: Add support for control-flow integrity FWFT features
KVM: riscv: selftests: add Zicfiss/Zicfilp extension to get-reg-list test
RISC-V: KVM: Add SBI extension validate callback
RISC-V: KVM: Add SBI FWFT validation support
RISC-V: KVM: Reset the SBI extension when disable it
RISC-V: KVM: Mark the reset callback of FWFT extension always dirties CSR
Pengpeng Hou (4):
RISC-V: KVM: Allow memslots ending at the GPA limit
RISC-V: KVM: Reject overlapping AIA IMSIC address fields
RISC-V: KVM: Guard HFENCE range loops against overflow
RISC-V: KVM: Avoid one-word masks for SBI v0.1 all-harts
Wang Yechao (8):
RISC-V: KVM: Add the split page cache for ioctl context
RISC-V: KVM: Split huge pages when dirty logging is enabled
RISC-V: KVM: Remove redundant TLB flush operations
RISC-V: KVM: Split huge pages during KVM_CLEAR_DIRTY_LOG
RISC-V: KVM: Add the eager_page_split module parameter
RISC-V: KVM: Separate req and fallback_req masks in make_xfence_request
RISC-V: KVM: Introduce make_xfence_request_nodata for FENCE.I requests
RISC-V: KVM: Improve dirty log clearing by skipping zero bits in mask
Yicong Yang (1):
RISC-V: KVM: Use try_cmpxchg for IMSIC MRIF RMW
Yong-Xuan Wang (2):
KVM: RISC-V: Clear former VCPU cache on virtualization disable
KVM: RISC-V: Add CPU PM notifier for non-retention idle states
Yuhang.Chen (1):
RISC-V: KVM: Add more arch-specific tracepoints
Yuhang.chen (1):
RISC-V: KVM: Account VM-scoped allocations to the VM cgroup
Zongmin Zhou (1):
KVM: riscv: Fix infinite loop in NACL hfence entry allocation
Documentation/admin-guide/kernel-parameters.txt | 7 +-
arch/riscv/include/asm/csr.h | 1 +
arch/riscv/include/asm/kvm_aia.h | 3 +
arch/riscv/include/asm/kvm_gstage.h | 9 +-
arch/riscv/include/asm/kvm_host.h | 10 ++
arch/riscv/include/asm/kvm_vcpu_insn.h | 4 +-
arch/riscv/include/asm/kvm_vcpu_sbi.h | 4 +
arch/riscv/include/asm/kvm_vcpu_vector.h | 24 +++
arch/riscv/include/asm/processor.h | 8 +
arch/riscv/include/asm/simd.h | 16 +-
arch/riscv/include/asm/vector.h | 5 +
arch/riscv/include/uapi/asm/kvm.h | 13 ++
arch/riscv/kernel/kernel_mode_vector.c | 88 +++++++---
arch/riscv/kvm/aia.c | 42 +++++
arch/riscv/kvm/aia_aplic.c | 3 +-
arch/riscv/kvm/aia_device.c | 6 +
arch/riscv/kvm/aia_imsic.c | 18 +-
arch/riscv/kvm/gstage.c | 82 ++++++++-
arch/riscv/kvm/isa.c | 2 +
arch/riscv/kvm/main.c | 112 ++++++++++--
arch/riscv/kvm/mmu.c | 108 +++++++++++-
arch/riscv/kvm/nacl.c | 2 +-
arch/riscv/kvm/tlb.c | 117 ++++++++++---
arch/riscv/kvm/trace.h | 81 ++++++++-
arch/riscv/kvm/vcpu.c | 34 ++++
arch/riscv/kvm/vcpu_config.c | 2 +
arch/riscv/kvm/vcpu_exit.c | 20 ++-
arch/riscv/kvm/vcpu_insn.c | 17 +-
arch/riscv/kvm/vcpu_onereg.c | 68 +++++++-
arch/riscv/kvm/vcpu_pmu.c | 16 +-
arch/riscv/kvm/vcpu_sbi.c | 30 ++++
arch/riscv/kvm/vcpu_sbi_fwft.c | 207 ++++++++++++++++++++++-
arch/riscv/kvm/vcpu_sbi_v01.c | 52 +++---
arch/riscv/kvm/vcpu_vector.c | 26 ++-
tools/testing/selftests/kvm/riscv/get-reg-list.c | 90 ++++++++++
35 files changed, 1169 insertions(+), 158 deletions(-)
More information about the linux-riscv
mailing list