Hi Paolo, We have the following KVM RISC-V changes for 6.16: 1) Add vector registers to get-reg-list selftest 2) VCPU reset related improvements 3) Remove scounteren initialization from VCPU reset 4) Support VCPU reset from userspace using set_mpstate() ioctl (NOTE: we have re-used KVM_MP_STATE_INIT_RECEIVED for this purpose since it is a temporary state. This way of VCPU reset only resets the register state and does not affect the actual VCPU MP_STATE. This new mechanism of VCPU reset can be used by KVM user space upon SBI system reset to reset the register state of the VCPU initiating SBI system reset. ) Please pull. Regards, Anup The following changes since commit 87ec7d5249bb8ebf40261420da069fa238c21789: KVM: RISC-V: reset smstateen CSRs (2025-05-01 18:26:14 +0530) are available in the Git repository at: https://github.com/kvm-riscv/linux.git tags/kvm-riscv-6.16-1 for you to fetch changes up to 7917be170928189fefad490d1a1237fdfa6b856f: RISC-V: KVM: lock the correct mp_state during reset (2025-05-24 21:30:47 +0530) ---------------------------------------------------------------- KVM/riscv changes for 6.16 - Add vector registers to get-reg-list selftest - VCPU reset related improvements - Remove scounteren initialization from VCPU reset - Support VCPU reset from userspace using set_mpstate() ioctl ---------------------------------------------------------------- Atish Patra (5): KVM: riscv: selftests: Align the trap information wiht pt_regs KVM: riscv: selftests: Decode stval to identify exact exception type KVM: riscv: selftests: Add vector extension tests RISC-V: KVM: Remove experimental tag for RISC-V RISC-V: KVM: Remove scounteren initialization Radim Krčmář (5): KVM: RISC-V: refactor vector state reset KVM: RISC-V: refactor sbi reset request KVM: RISC-V: remove unnecessary SBI reset state RISC-V: KVM: add KVM_CAP_RISCV_MP_STATE_RESET RISC-V: KVM: lock the correct mp_state during reset Documentation/virt/kvm/api.rst | 11 ++ arch/riscv/include/asm/kvm_aia.h | 3 - arch/riscv/include/asm/kvm_host.h | 17 ++- arch/riscv/include/asm/kvm_vcpu_sbi.h | 3 + arch/riscv/include/asm/kvm_vcpu_vector.h | 6 +- arch/riscv/kernel/head.S | 10 ++ arch/riscv/kvm/Kconfig | 2 +- arch/riscv/kvm/aia_device.c | 4 +- arch/riscv/kvm/vcpu.c | 64 +++++----- arch/riscv/kvm/vcpu_sbi.c | 32 ++++- arch/riscv/kvm/vcpu_sbi_hsm.c | 13 +- arch/riscv/kvm/vcpu_sbi_system.c | 10 +- arch/riscv/kvm/vcpu_vector.c | 13 +- arch/riscv/kvm/vm.c | 13 ++ include/uapi/linux/kvm.h | 1 + .../selftests/kvm/include/riscv/processor.h | 23 +++- tools/testing/selftests/kvm/lib/riscv/handlers.S | 139 +++++++++++---------- tools/testing/selftests/kvm/lib/riscv/processor.c | 2 +- tools/testing/selftests/kvm/riscv/arch_timer.c | 2 +- tools/testing/selftests/kvm/riscv/ebreak_test.c | 2 +- tools/testing/selftests/kvm/riscv/get-reg-list.c | 132 +++++++++++++++++++ tools/testing/selftests/kvm/riscv/sbi_pmu_test.c | 24 +++- 22 files changed, 374 insertions(+), 152 deletions(-)