lib: sbi: Add domain parameter to hart protection (un)configure()

The switch_to_next_domain_context() already has the pointers to current
and next domains so pass them as parameters to hart protection configure()
and unconfigure() callbacks.

Signed-off-by: Anup Patel <anup.patel@oss.qualcomm.com>
Reviewed-by: Rahul Pathak <rahul.pathak@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260727042504.1743250-4-anup.patel@oss.qualcomm.com
Signed-off-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
Anup Patel
2026-08-02 15:17:12 +05:30
committed by Anup Patel
parent 48725e95b4
commit 5053774c2f
6 changed files with 50 additions and 29 deletions
+6 -5
View File
@@ -228,10 +228,10 @@ static bool is_valid_pmp_idx(unsigned int pmp_count, unsigned int pmp_idx)
return false;
}
static int sbi_hart_smepmp_configure(struct sbi_scratch *scratch)
static int sbi_hart_smepmp_configure(struct sbi_scratch *scratch,
struct sbi_domain *dom)
{
struct sbi_domain_memregion *reg;
struct sbi_domain *dom = sbi_domain_thishart_ptr();
unsigned int pmp_log2gran, pmp_bits;
unsigned int pmp_idx, pmp_count;
unsigned long pmp_addr_max;
@@ -366,10 +366,10 @@ static int sbi_hart_smepmp_unmap_range(struct sbi_scratch *scratch,
return sbi_hart_pmp_disable(SBI_SMEPMP_RESV_ENTRY);
}
static int sbi_hart_oldpmp_configure(struct sbi_scratch *scratch)
static int sbi_hart_oldpmp_configure(struct sbi_scratch *scratch,
struct sbi_domain *dom)
{
struct sbi_domain_memregion *reg;
struct sbi_domain *dom = sbi_domain_thishart_ptr();
unsigned long pmp_addr, pmp_addr_max;
unsigned int pmp_log2gran, pmp_bits;
unsigned int pmp_idx, pmp_count;
@@ -407,7 +407,8 @@ static int sbi_hart_oldpmp_configure(struct sbi_scratch *scratch)
return 0;
}
static void sbi_hart_pmp_unconfigure(struct sbi_scratch *scratch)
static void sbi_hart_pmp_unconfigure(struct sbi_scratch *scratch,
struct sbi_domain *dom)
{
int i, pmp_count = sbi_hart_pmp_count(scratch);