[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