[PATCH v6 5/8] RISC-V: KVM: Handle software-check exits for VCPU
Anup Patel
anup at brainfault.org
Wed Jul 29 06:02:35 PDT 2026
On Mon, Jul 13, 2026 at 6:34 AM Inochi Amaoto <inochiama at gmail.com> wrote:
>
> The extension Zicfiss/Zicfilp introduces a software-check exception
> to the privilege architecture. Delegate this exception to VS mode
> when vCPU enable Zicfiss/Zicfilp so the CFI violations in VU/VS could
> be reported.
The patch6 must be squashed into this patch.
Regards,
Anup
>
> Assisted-by: YuanSheng:claude-4.7-opus
> Co-developed-by: Quan Zhou <zhouquan at iscas.ac.cn>
> Signed-off-by: Quan Zhou <zhouquan at iscas.ac.cn>
> Signed-off-by: Inochi Amaoto <inochiama at gmail.com>
> ---
> arch/riscv/include/asm/csr.h | 1 +
> arch/riscv/kvm/vcpu_exit.c | 4 ++++
> 2 files changed, 5 insertions(+)
>
> diff --git a/arch/riscv/include/asm/csr.h b/arch/riscv/include/asm/csr.h
> index 31b8988f4488..224af9facf1f 100644
> --- a/arch/riscv/include/asm/csr.h
> +++ b/arch/riscv/include/asm/csr.h
> @@ -117,6 +117,7 @@
> #define EXC_INST_PAGE_FAULT 12
> #define EXC_LOAD_PAGE_FAULT 13
> #define EXC_STORE_PAGE_FAULT 15
> +#define EXC_SOFTWARE_CHECK 18
> #define EXC_INST_GUEST_PAGE_FAULT 20
> #define EXC_LOAD_GUEST_PAGE_FAULT 21
> #define EXC_VIRTUAL_INST_FAULT 22
> diff --git a/arch/riscv/kvm/vcpu_exit.c b/arch/riscv/kvm/vcpu_exit.c
> index 0bb0c51e3c89..12eebeabdf14 100644
> --- a/arch/riscv/kvm/vcpu_exit.c
> +++ b/arch/riscv/kvm/vcpu_exit.c
> @@ -243,6 +243,10 @@ int kvm_riscv_vcpu_exit(struct kvm_vcpu *vcpu, struct kvm_run *run,
> run->exit_reason = KVM_EXIT_DEBUG;
> ret = 0;
> break;
> + case EXC_SOFTWARE_CHECK:
> + if (vcpu->arch.cfg.henvcfg & (ENVCFG_LPE | ENVCFG_SSE))
> + ret = vcpu_redirect(vcpu, trap);
> + break;
> default:
> break;
> }
> --
> 2.55.0
>
More information about the linux-riscv
mailing list