summaryrefslogtreecommitdiff
path: root/arch/riscv/kvm/vcpu_exit.c
diff options
context:
space:
mode:
authorAnup Patel <apatel@ventanamicro.com>2023-01-28 13:18:25 +0530
committerAnup Patel <anup@brainfault.org>2023-02-07 20:35:26 +0530
commit06723e124fcbf63a1848c692fad17a023cad5ebc (patch)
tree6dcad0a8b89cfbd53c0152555994c36b9eb55ca2 /arch/riscv/kvm/vcpu_exit.c
parentc25a6dddc62c84f50e57094bd44e7f9d84907f49 (diff)
RISC-V: KVM: Fix privilege mode setting in kvm_riscv_vcpu_trap_redirect()
The kvm_riscv_vcpu_trap_redirect() should set guest privilege mode to supervisor mode because guest traps/interrupts are always handled in virtual supervisor mode. Fixes: 9f7013265112 ("RISC-V: KVM: Handle MMIO exits for VCPU") Signed-off-by: Anup Patel <apatel@ventanamicro.com> Reviewed-by: Andrew Jones <ajones@ventanamicro.com> Reviewed-by: Atish Patra <atishp@rivosinc.com> Signed-off-by: Anup Patel <anup@brainfault.org>
Diffstat (limited to 'arch/riscv/kvm/vcpu_exit.c')
-rw-r--r--arch/riscv/kvm/vcpu_exit.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/riscv/kvm/vcpu_exit.c b/arch/riscv/kvm/vcpu_exit.c
index c9f741ab26f5..af7c4bc07929 100644
--- a/arch/riscv/kvm/vcpu_exit.c
+++ b/arch/riscv/kvm/vcpu_exit.c
@@ -160,6 +160,9 @@ void kvm_riscv_vcpu_trap_redirect(struct kvm_vcpu *vcpu,
/* Set Guest PC to Guest exception vector */
vcpu->arch.guest_context.sepc = csr_read(CSR_VSTVEC);
+
+ /* Set Guest privilege mode to supervisor */
+ vcpu->arch.guest_context.sstatus |= SR_SPP;
}
/*