Skip to content

Commit 2082153

Browse files
xypronavpatel
authored andcommitted
lib: sbi: simplify pmp_set(), pmp_get()
pmpcfg_csr and pmpcfg_shift are only negative for an unexpected value of __riscv_xlen. We can immediately return in this case. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Dong Du <Dd_nirvana@sjtu.edu.cn> Reviewed-by: Anup Patel <anup.patel@wdc.com>
1 parent f270359 commit 2082153

File tree

1 file changed

+2
-8
lines changed

1 file changed

+2
-8
lines changed

lib/sbi/riscv_asm.c

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -261,12 +261,9 @@ int pmp_set(unsigned int n, unsigned long prot, unsigned long addr,
261261
pmpcfg_csr = (CSR_PMPCFG0 + (n >> 2)) & ~1;
262262
pmpcfg_shift = (n & 7) << 3;
263263
#else
264-
pmpcfg_csr = -1;
265-
pmpcfg_shift = -1;
264+
return SBI_ENOTSUPP;
266265
#endif
267266
pmpaddr_csr = CSR_PMPADDR0 + n;
268-
if (pmpcfg_csr < 0 || pmpcfg_shift < 0)
269-
return SBI_ENOTSUPP;
270267

271268
/* encode PMP config */
272269
prot &= ~PMP_A;
@@ -315,12 +312,9 @@ int pmp_get(unsigned int n, unsigned long *prot_out, unsigned long *addr_out,
315312
pmpcfg_csr = (CSR_PMPCFG0 + (n >> 2)) & ~1;
316313
pmpcfg_shift = (n & 7) << 3;
317314
#else
318-
pmpcfg_csr = -1;
319-
pmpcfg_shift = -1;
315+
return SBI_ENOTSUPP;
320316
#endif
321317
pmpaddr_csr = CSR_PMPADDR0 + n;
322-
if (pmpcfg_csr < 0 || pmpcfg_shift < 0)
323-
return SBI_ENOTSUPP;
324318

325319
/* decode PMP config */
326320
cfgmask = (0xffUL << pmpcfg_shift);

0 commit comments

Comments
 (0)