summaryrefslogtreecommitdiff
path: root/lib/sbi/sbi_hart.c
diff options
context:
space:
mode:
authorAnup Patel <anup.patel@wdc.com>2020-08-18 09:21:16 +0300
committerAnup Patel <anup@brainfault.org>2020-09-01 07:58:26 +0300
commit7b0b289887380d2e71210f12b5ce0f3afc011b35 (patch)
tree14af735edbeccd13b12a41964c959b14b6488cb4 /lib/sbi/sbi_hart.c
parent4f3bad6e43f0e5a1a124847edf910e309ae9d59a (diff)
downloadopensbi-7b0b289887380d2e71210f12b5ce0f3afc011b35.tar.xz
lib: sbi: Remove redundant SBI_HART_HAS_PMP feature
The SBI_HART_HAS_PMP feature is redundant because we already have number of PMP regions returned by sbi_hart_pmp_count(). Checking whether PMP is supported for a HART can be simply done by checking non-zero value returned by sbi_hart_pmp_count(). Signed-off-by: Anup Patel <anup.patel@wdc.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Atish Patra <atish.patra@wdc.com>
Diffstat (limited to 'lib/sbi/sbi_hart.c')
-rw-r--r--lib/sbi/sbi_hart.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/lib/sbi/sbi_hart.c b/lib/sbi/sbi_hart.c
index fa20bd2..80ed86a 100644
--- a/lib/sbi/sbi_hart.c
+++ b/lib/sbi/sbi_hart.c
@@ -158,9 +158,6 @@ void sbi_hart_pmp_dump(struct sbi_scratch *scratch)
unsigned long prot, addr, size;
unsigned int i, pmp_count;
- if (!sbi_hart_has_feature(scratch, SBI_HART_HAS_PMP))
- return;
-
pmp_count = sbi_hart_pmp_count(scratch);
for (i = 0; i < pmp_count; i++) {
pmp_get(i, &prot, &addr, &size);
@@ -190,9 +187,6 @@ int sbi_hart_pmp_check_addr(struct sbi_scratch *scratch, unsigned long addr,
unsigned long prot, size, tempaddr;
unsigned int i, pmp_count;
- if (!sbi_hart_has_feature(scratch, SBI_HART_HAS_PMP))
- return SBI_OK;
-
pmp_count = sbi_hart_pmp_count(scratch);
for (i = 0; i < pmp_count; i++) {
pmp_get(i, &prot, &tempaddr, &size);
@@ -213,7 +207,7 @@ static int pmp_init(struct sbi_scratch *scratch, u32 hartid)
ulong prot, addr, log2size;
const struct sbi_platform *plat = sbi_platform_ptr(scratch);
- if (!sbi_hart_has_feature(scratch, SBI_HART_HAS_PMP))
+ if (!sbi_hart_pmp_count(scratch))
return 0;
/* Firmware PMP region to protect OpenSBI firmware */
@@ -276,9 +270,6 @@ static inline char *sbi_hart_feature_id2string(unsigned long feature)
return NULL;
switch (feature) {
- case SBI_HART_HAS_PMP:
- fstr = "pmp";
- break;
case SBI_HART_HAS_SCOUNTEREN:
fstr = "scounteren";
break;
@@ -375,10 +366,6 @@ static void hart_detect_features(struct sbi_scratch *scratch)
__detect_pmp(CSR_PMPADDR15);
#undef __detect_pmp
- /* Set hart PMP feature if we have at least one PMP region */
- if (hfeatures->pmp_count)
- hfeatures->features |= SBI_HART_HAS_PMP;
-
/* Detect if hart supports SCOUNTEREN feature */
trap.cause = 0;
val = csr_read_allowed(CSR_SCOUNTEREN, (unsigned long)&trap);