From 6e5b0cfb4520d0c2d36ae1005770f2537970e90a Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Sun, 29 Oct 2023 00:49:59 +0200 Subject: [PATCH] lib: sbi: enable seed access in S-mode If ISA extension Zkr is available, set mseccfg.sseed=1 mseccfg.useed=0 This enables access to the seed CSR in S-mode but not in U-mode. Signed-off-by: Heinrich Schuchardt Reviewed-by: Anup Patel --- lib/sbi/sbi_hart.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/sbi/sbi_hart.c b/lib/sbi/sbi_hart.c index 569596f1..b47f00b2 100644 --- a/lib/sbi/sbi_hart.c +++ b/lib/sbi/sbi_hart.c @@ -160,6 +160,12 @@ static void mstatus_init(struct sbi_scratch *scratch) } csr_write(CSR_MENVCFG, menvcfg_val); + + /* Enable S-mode access to seed CSR */ + if (sbi_hart_has_extension(scratch, SBI_HART_EXT_ZKR)) { + csr_set(CSR_MSECCFG, MSECCFG_SSEED); + csr_clear(CSR_MSECCFG, MSECCFG_USEED); + } } /* Disable all interrupts */