lib: sbi: sw check exception delegation

zicfiss and zicfilp introduces new exception (cause=18). Delegate this
exception to S mode because cfi violations in U / S will be reported
via this exception.

Signed-off-by: Deepak Gupta <debug@rivosinc.com>
Reviewed-by: Samuel Holland <samuel.holland@sifive.com>
Reviewed-by: Atish Patra <atishp@rivosinc.com>
This commit is contained in:
Deepak Gupta
2024-09-16 11:23:56 -07:00
committed by Anup Patel
parent c0804ed49a
commit 110524441a

View File

@@ -207,7 +207,8 @@ static int delegate_traps(struct sbi_scratch *scratch)
if (sbi_platform_has_mfaults_delegation(plat))
exceptions |= (1U << CAUSE_FETCH_PAGE_FAULT) |
(1U << CAUSE_LOAD_PAGE_FAULT) |
(1U << CAUSE_STORE_PAGE_FAULT);
(1U << CAUSE_STORE_PAGE_FAULT) |
(1U << CAUSE_SW_CHECK_EXCP);
/*
* If hypervisor extension available then we only handle hypervisor