From 2b51a9dd9c24783154dd776773603116d53a2d28 Mon Sep 17 00:00:00 2001 From: Anup Patel Date: Thu, 7 Sep 2023 17:19:44 +0530 Subject: [PATCH] lib: sbi: Fix pmp_flags for Smepmp read-only shared region The Smepmp read-only shared region must have pmpcfg.L, pmpcfg.R, pmpcfg.W, and pmpcfg.X bits set so sbi_hart_get_smepmp_flags() must return pmp_flags accordingly. Signed-off-by: Anup Patel Signed-off-by: Mayuresh Chitale --- lib/sbi/sbi_hart.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/sbi/sbi_hart.c b/lib/sbi/sbi_hart.c index 6320ea6..c8aa342 100644 --- a/lib/sbi/sbi_hart.c +++ b/lib/sbi/sbi_hart.c @@ -297,7 +297,7 @@ static unsigned int sbi_hart_get_smepmp_flags(struct sbi_scratch *scratch, if (SBI_DOMAIN_MEMREGION_IS_SHARED(reg->flags)) { /* Read only for both M and SU modes */ if (SBI_DOMAIN_MEMREGION_IS_SUR_MR(reg->flags)) - pmp_flags = (PMP_R | PMP_W | PMP_X); + pmp_flags = (PMP_L | PMP_R | PMP_W | PMP_X); /* Execute for SU but Read/Execute for M mode */ else if (SBI_DOMAIN_MEMREGION_IS_SUX_MRX(reg->flags))