[PATCH 3/3] lib: sbi: sw check exception delegation

Samuel Holland samuel.holland at sifive.com
Wed Aug 21 17:36:07 PDT 2024


Hi Deepak,

On 2024-08-21 6:55 PM, Deepak Gupta wrote:
> 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 at rivosinc.com>
> ---
>  lib/sbi/sbi_hart.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/lib/sbi/sbi_hart.c b/lib/sbi/sbi_hart.c
> index 67a2e42..5bc02a1 100644
> --- a/lib/sbi/sbi_hart.c
> +++ b/lib/sbi/sbi_hart.c
> @@ -234,6 +234,9 @@ static int delegate_traps(struct sbi_scratch *scratch)
>  		exceptions |= (1U << CAUSE_STORE_GUEST_PAGE_FAULT);
>  	}
>  
> +	/* delegate sw check exception to S */
> +	exceptions |= (1U << CAUSE_SW_CHECK_EXCP);

I would suggest to include this with the other unconditionally-delegated
exceptions earlier in the function. Either way:

Reviewed-by: Samuel Holland <samuel.holland at sifive.com>

> +
>  	csr_write(CSR_MIDELEG, interrupts);
>  	csr_write(CSR_MEDELEG, exceptions);
>  




More information about the opensbi mailing list