diff --git a/include/sbi/riscv_encoding.h b/include/sbi/riscv_encoding.h index ccd2c69c..e1d0b463 100644 --- a/include/sbi/riscv_encoding.h +++ b/include/sbi/riscv_encoding.h @@ -539,8 +539,8 @@ #define CAUSE_MISALIGNED_STORE 0x6 #define CAUSE_STORE_ACCESS 0x7 #define CAUSE_USER_ECALL 0x8 -#define CAUSE_HYPERVISOR_ECALL 0x9 -#define CAUSE_SUPERVISOR_ECALL 0xa +#define CAUSE_SUPERVISOR_ECALL 0x9 +#define CAUSE_VIRTUAL_SUPERVISOR_ECALL 0xa #define CAUSE_MACHINE_ECALL 0xb #define CAUSE_FETCH_PAGE_FAULT 0xc #define CAUSE_LOAD_PAGE_FAULT 0xd diff --git a/lib/sbi/sbi_hart.c b/lib/sbi/sbi_hart.c index 2211c3ce..d7889188 100644 --- a/lib/sbi/sbi_hart.c +++ b/lib/sbi/sbi_hart.c @@ -108,7 +108,7 @@ static int delegate_traps(struct sbi_scratch *scratch, u32 hartid) * from VS-mode), Guest page faults and Virtual interrupts. */ if (misa_extension('H')) { - exceptions |= (1U << CAUSE_SUPERVISOR_ECALL); + exceptions |= (1U << CAUSE_VIRTUAL_SUPERVISOR_ECALL); exceptions |= (1U << CAUSE_FETCH_GUEST_PAGE_FAULT); exceptions |= (1U << CAUSE_LOAD_GUEST_PAGE_FAULT); exceptions |= (1U << CAUSE_VIRTUAL_INST_FAULT); diff --git a/lib/sbi/sbi_trap.c b/lib/sbi/sbi_trap.c index 8fe67533..b8bb20cc 100644 --- a/lib/sbi/sbi_trap.c +++ b/lib/sbi/sbi_trap.c @@ -251,7 +251,7 @@ void sbi_trap_handler(struct sbi_trap_regs *regs) rc = sbi_misaligned_store_handler(mtval, mtval2, mtinst, regs); msg = "misaligned store handler failed"; break; - case CAUSE_HYPERVISOR_ECALL: + case CAUSE_SUPERVISOR_ECALL: rc = sbi_ecall_handler(regs); msg = "ecall handler failed"; break;