[PATCH v2] RISC-V: KVM: Introduce KVM_EXIT_FAIL_ENTRY_NO_VSFILE

Anup Patel anup at brainfault.org
Wed Nov 5 21:47:51 PST 2025


On Tue, Sep 23, 2025 at 11:09 AM BillXiang
<xiangwencheng at lanxincomputing.com> wrote:
>
> Currently, we return CSR_HSTATUS as hardware_entry_failure_reason when
> kvm_riscv_aia_alloc_hgei failed in KVM_DEV_RISCV_AIA_MODE_HWACCEL
> mode, which is vague so it is better to return a well defined value
> KVM_EXIT_FAIL_ENTRY_NO_VSFILE provided via uapi/asm/kvm.h.
>
> Signed-off-by: BillXiang <xiangwencheng at lanxincomputing.com>

LGTM.

Reviewed-by: Anup Patel <anup at brainfault.org>

Queued this for Linux-6.19

Thanks,
Anup

> ---
>  arch/riscv/include/uapi/asm/kvm.h | 2 ++
>  arch/riscv/kvm/aia_imsic.c        | 2 +-
>  2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/arch/riscv/include/uapi/asm/kvm.h b/arch/riscv/include/uapi/asm/kvm.h
> index ef27d4289da1..068d4d9cff7b 100644
> --- a/arch/riscv/include/uapi/asm/kvm.h
> +++ b/arch/riscv/include/uapi/asm/kvm.h
> @@ -23,6 +23,8 @@
>  #define KVM_INTERRUPT_SET      -1U
>  #define KVM_INTERRUPT_UNSET    -2U
>
> +#define KVM_EXIT_FAIL_ENTRY_NO_VSFILE  (1ULL << 0)
> +
>  /* for KVM_GET_REGS and KVM_SET_REGS */
>  struct kvm_regs {
>  };
> diff --git a/arch/riscv/kvm/aia_imsic.c b/arch/riscv/kvm/aia_imsic.c
> index fda0346f0ea1..937963fb46c5 100644
> --- a/arch/riscv/kvm/aia_imsic.c
> +++ b/arch/riscv/kvm/aia_imsic.c
> @@ -802,7 +802,7 @@ int kvm_riscv_vcpu_aia_imsic_update(struct kvm_vcpu *vcpu)
>                 /* For HW acceleration mode, we can't continue */
>                 if (kvm->arch.aia.mode == KVM_DEV_RISCV_AIA_MODE_HWACCEL) {
>                         run->fail_entry.hardware_entry_failure_reason =
> -                                                               CSR_HSTATUS;
> +                                                               KVM_EXIT_FAIL_ENTRY_NO_VSFILE;
>                         run->fail_entry.cpu = vcpu->cpu;
>                         run->exit_reason = KVM_EXIT_FAIL_ENTRY;
>                         return 0;
> --
> 2.43.0



More information about the linux-riscv mailing list