From ea45923765de4145d174b98abc6b945c8407265e Mon Sep 17 00:00:00 2001 From: Vladimir Kondratiev Date: Mon, 23 Feb 2026 16:54:41 +0200 Subject: [PATCH] lib: sbi_hart_pmp: disable unconfigured PMP entries Disable PMP entries not configured in domain. These entries may contain values configured by the boot loader; disabling it to be certain PMP configuration is exactly as configured by the openSBI Signed-off-by: Vladimir Kondratiev Reviewed-by: Anup Patel Link: https://lore.kernel.org/r/20260223-for-upstream-eyeq7h-v3-2-621d004d1a21@mobileye.com Signed-off-by: Anup Patel --- lib/sbi/sbi_hart_pmp.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/sbi/sbi_hart_pmp.c b/lib/sbi/sbi_hart_pmp.c index be459129..02a3b3c4 100644 --- a/lib/sbi/sbi_hart_pmp.c +++ b/lib/sbi/sbi_hart_pmp.c @@ -204,6 +204,9 @@ static int sbi_hart_smepmp_configure(struct sbi_scratch *scratch) sbi_hart_smepmp_set(scratch, dom, reg, pmp_idx++, pmp_flags, pmp_log2gran, pmp_addr_max); } + /* Disable remaining PMP entries */ + for(; pmp_idx < pmp_count; pmp_idx++) + pmp_disable(pmp_idx); /* * All entries are programmed. @@ -286,6 +289,9 @@ static int sbi_hart_oldpmp_configure(struct sbi_scratch *scratch) reg->order); } } + /* Disable remaining PMP entries */ + for(; pmp_idx < pmp_count; pmp_idx++) + pmp_disable(pmp_idx); sbi_hart_pmp_fence(); return 0;