[GIT PULL] KVM/riscv changes for 6.18
Anup Patel
anup at brainfault.org
Thu Sep 25 00:00:26 PDT 2025
Hi Paolo,
We have the following KVM RISC-V changes for 6.18:
1) Added SBI FWFT extension for Guest/VM along with
corresponding ONE_REG interface
2) Added Zicbop and bfloat16 extensions for Guest/VM
3) Enabled more common KVM selftests for RISC-V
4) Added SBI v3.0 PMU enhancements in KVM and
perf driver
The perf driver changes in #4 above are going through
KVM RISC-V tree based discussion with Will and Paul [1].
Please pull.
[1] - https://lore.kernel.org/all/CAAhSdy3wJd5uicJntf+WgTaLciiQsqT1QfUmrZ1Jk9qEONRgPw@mail.gmail.com/
Regards,
Anup
The following changes since commit 76eeb9b8de9880ca38696b2fb56ac45ac0a25c6c:
Linux 6.17-rc5 (2025-09-07 14:22:57 -0700)
are available in the Git repository at:
https://github.com/kvm-riscv/linux.git tags/kvm-riscv-6.18-1
for you to fetch changes up to dbdadd943a278fb8a24ae4199a668131108034b4:
RISC-V: KVM: Upgrade the supported SBI version to 3.0 (2025-09-16
11:49:31 +0530)
----------------------------------------------------------------
KVM/riscv changes for 6.18
- Added SBI FWFT extension for Guest/VM with misaligned
delegation and pointer masking PMLEN features
- Added ONE_REG interface for SBI FWFT extension
- Added Zicbop and bfloat16 extensions for Guest/VM
- Enabled more common KVM selftests for RISC-V such as
access_tracking_perf_test, dirty_log_perf_test,
memslot_modification_stress_test, memslot_perf_test,
mmu_stress_test, and rseq_test
- Added SBI v3.0 PMU enhancements in KVM and perf driver
----------------------------------------------------------------
Anup Patel (6):
RISC-V: KVM: Set initial value of hedeleg in kvm_arch_vcpu_create()
RISC-V: KVM: Introduce feature specific reset for SBI FWFT
RISC-V: KVM: Introduce optional ONE_REG callbacks for SBI extensions
RISC-V: KVM: Move copy_sbi_ext_reg_indices() to SBI implementation
RISC-V: KVM: Implement ONE_REG interface for SBI FWFT state
KVM: riscv: selftests: Add SBI FWFT to get-reg-list test
Atish Patra (8):
drivers/perf: riscv: Add SBI v3.0 flag
drivers/perf: riscv: Add raw event v2 support
RISC-V: KVM: Add support for Raw event v2
drivers/perf: riscv: Implement PMU event info function
drivers/perf: riscv: Export PMU event info function
RISC-V: KVM: No need of explicit writable slot check
RISC-V: KVM: Implement get event info function
RISC-V: KVM: Upgrade the supported SBI version to 3.0
Clément Léger (2):
RISC-V: KVM: add support for FWFT SBI extension
RISC-V: KVM: add support for SBI_FWFT_MISALIGNED_DELEG
Dong Yang (1):
KVM: riscv: selftests: Add missing headers for new testcases
Fangyu Yu (1):
RISC-V: KVM: Write hgatp register with valid mode bits
Guo Ren (Alibaba DAMO Academy) (2):
RISC-V: KVM: Remove unnecessary HGATP csr_read
RISC-V: KVM: Prevent HGATP_MODE_BARE passed
Quan Zhou (8):
RISC-V: KVM: Change zicbom/zicboz block size to depend on the host isa
RISC-V: KVM: Provide UAPI for Zicbop block size
RISC-V: KVM: Allow Zicbop extension for Guest/VM
RISC-V: KVM: Allow bfloat16 extension for Guest/VM
KVM: riscv: selftests: Add Zicbop extension to get-reg-list test
KVM: riscv: selftests: Add bfloat16 extension to get-reg-list test
KVM: riscv: selftests: Use the existing RISCV_FENCE macro in
`rseq-riscv.h`
KVM: riscv: selftests: Add common supported test cases
Samuel Holland (1):
RISC-V: KVM: Add support for SBI_FWFT_POINTER_MASKING_PMLEN
arch/riscv/include/asm/kvm_host.h | 4 +
arch/riscv/include/asm/kvm_vcpu_pmu.h | 3 +
arch/riscv/include/asm/kvm_vcpu_sbi.h | 25 +-
arch/riscv/include/asm/kvm_vcpu_sbi_fwft.h | 34 ++
arch/riscv/include/asm/sbi.h | 13 +
arch/riscv/include/uapi/asm/kvm.h | 21 +
arch/riscv/kvm/Makefile | 1 +
arch/riscv/kvm/gstage.c | 27 +-
arch/riscv/kvm/main.c | 33 +-
arch/riscv/kvm/vcpu.c | 3 +-
arch/riscv/kvm/vcpu_onereg.c | 95 ++--
arch/riscv/kvm/vcpu_pmu.c | 74 ++-
arch/riscv/kvm/vcpu_sbi.c | 176 ++++++-
arch/riscv/kvm/vcpu_sbi_fwft.c | 544 +++++++++++++++++++++
arch/riscv/kvm/vcpu_sbi_pmu.c | 3 +
arch/riscv/kvm/vcpu_sbi_sta.c | 72 +--
arch/riscv/kvm/vmid.c | 8 +-
drivers/perf/riscv_pmu_sbi.c | 191 ++++++--
include/linux/perf/riscv_pmu.h | 1 +
tools/testing/selftests/kvm/Makefile.kvm | 6 +
.../selftests/kvm/access_tracking_perf_test.c | 1 +
.../selftests/kvm/include/riscv/processor.h | 1 +
.../kvm/memslot_modification_stress_test.c | 1 +
tools/testing/selftests/kvm/memslot_perf_test.c | 1 +
tools/testing/selftests/kvm/riscv/get-reg-list.c | 60 +++
tools/testing/selftests/rseq/rseq-riscv.h | 3 +-
26 files changed, 1188 insertions(+), 213 deletions(-)
create mode 100644 arch/riscv/include/asm/kvm_vcpu_sbi_fwft.h
create mode 100644 arch/riscv/kvm/vcpu_sbi_fwft.c
More information about the linux-riscv
mailing list