mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 16:44:58 +02:00
RISC-V: KVM: Redirect instruction access fault trap to guest
The M-mode redirects an unhandled instruction access fault trap back to S-mode when not delegating it to VS-mode(hedeleg). However, KVM running in HS-mode terminates the VS-mode software when back from M-mode. The KVM should redirect the trap back to VS-mode, and let VS-mode trap handler decide the next step. Signed-off-by: Quan Zhou <zhouquan@iscas.ac.cn> Reviewed-by: Anup Patel <anup@brainfault.org> Signed-off-by: Atish Patra <atishp@rivosinc.com> Link: https://lore.kernel.org/r/20241224-kvm_guest_stat-v2-1-08a77ac36b02@rivosinc.com Signed-off-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
parent
144dfe4017
commit
51c5895673
|
|
@ -187,6 +187,7 @@ int kvm_riscv_vcpu_exit(struct kvm_vcpu *vcpu, struct kvm_run *run,
|
|||
case EXC_STORE_MISALIGNED:
|
||||
case EXC_LOAD_ACCESS:
|
||||
case EXC_STORE_ACCESS:
|
||||
case EXC_INST_ACCESS:
|
||||
if (vcpu->arch.guest_context.hstatus & HSTATUS_SPV) {
|
||||
kvm_riscv_vcpu_trap_redirect(vcpu, trap);
|
||||
ret = 1;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user