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 <vladimir.kondratiev@mobileye.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Link: https://lore.kernel.org/r/20260223-for-upstream-eyeq7h-v3-2-621d004d1a21@mobileye.com
Signed-off-by: Anup Patel <anup@brainfault.org>
diff --git a/lib/sbi/sbi_hart_pmp.c b/lib/sbi/sbi_hart_pmp.c
index be45912..02a3b3c 100644
--- a/lib/sbi/sbi_hart_pmp.c
+++ b/lib/sbi/sbi_hart_pmp.c
@@ -204,6 +204,9 @@
 		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 @@
 				   reg->order);
 		}
 	}
+	/* Disable remaining PMP entries */
+	for(; pmp_idx < pmp_count; pmp_idx++)
+		pmp_disable(pmp_idx);
 
 	sbi_hart_pmp_fence();
 	return 0;