mirror of
https://github.com/riscv-software-src/opensbi.git
synced 2025-08-25 15:51:41 +01:00
include: Remove redundant csr_read_n() and csr_write_n()
The patch removes redundant csr_read_n() and csr_write_n() because same thing can be achieved by using __ASM_STR() macro in csr_read() and csr_write() macros. Signed-off-by: Anup Patel <anup.patel@wdc.com>
This commit is contained in:
@@ -140,16 +140,7 @@
|
|||||||
#define csr_read(csr) \
|
#define csr_read(csr) \
|
||||||
({ \
|
({ \
|
||||||
register unsigned long __v; \
|
register unsigned long __v; \
|
||||||
__asm__ __volatile__ ("csrr %0, " #csr \
|
__asm__ __volatile__ ("csrr %0, " __ASM_STR(csr) \
|
||||||
: "=r" (__v) : \
|
|
||||||
: "memory"); \
|
|
||||||
__v; \
|
|
||||||
})
|
|
||||||
|
|
||||||
#define csr_read_n(csr_num) \
|
|
||||||
({ \
|
|
||||||
register unsigned long __v; \
|
|
||||||
__asm__ __volatile__ ("csrr %0, " __ASM_STR(csr_num) \
|
|
||||||
: "=r" (__v) : \
|
: "=r" (__v) : \
|
||||||
: "memory"); \
|
: "memory"); \
|
||||||
__v; \
|
__v; \
|
||||||
@@ -158,15 +149,7 @@
|
|||||||
#define csr_write(csr, val) \
|
#define csr_write(csr, val) \
|
||||||
({ \
|
({ \
|
||||||
unsigned long __v = (unsigned long)(val); \
|
unsigned long __v = (unsigned long)(val); \
|
||||||
__asm__ __volatile__ ("csrw " #csr ", %0" \
|
__asm__ __volatile__ ("csrw " __ASM_STR(csr) ", %0" \
|
||||||
: : "rK" (__v) \
|
|
||||||
: "memory"); \
|
|
||||||
})
|
|
||||||
|
|
||||||
#define csr_write_n(csr_num, val) \
|
|
||||||
({ \
|
|
||||||
unsigned long __v = (unsigned long)(val); \
|
|
||||||
__asm__ __volatile__ ("csrw " __ASM_STR(csr_num) ", %0" \
|
|
||||||
: : "rK" (__v) \
|
: : "rK" (__v) \
|
||||||
: "memory"); \
|
: "memory"); \
|
||||||
})
|
})
|
||||||
|
@@ -17,64 +17,64 @@ unsigned long csr_read_num(int csr_num)
|
|||||||
|
|
||||||
switch (csr_num) {
|
switch (csr_num) {
|
||||||
case CSR_PMPCFG0:
|
case CSR_PMPCFG0:
|
||||||
ret = csr_read_n(CSR_PMPCFG0);
|
ret = csr_read(CSR_PMPCFG0);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPCFG1:
|
case CSR_PMPCFG1:
|
||||||
ret = csr_read_n(CSR_PMPCFG1);
|
ret = csr_read(CSR_PMPCFG1);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPCFG2:
|
case CSR_PMPCFG2:
|
||||||
ret = csr_read_n(CSR_PMPCFG2);
|
ret = csr_read(CSR_PMPCFG2);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPCFG3:
|
case CSR_PMPCFG3:
|
||||||
ret = csr_read_n(CSR_PMPCFG3);
|
ret = csr_read(CSR_PMPCFG3);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR0:
|
case CSR_PMPADDR0:
|
||||||
ret = csr_read_n(CSR_PMPADDR0);
|
ret = csr_read(CSR_PMPADDR0);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR1:
|
case CSR_PMPADDR1:
|
||||||
ret = csr_read_n(CSR_PMPADDR1);
|
ret = csr_read(CSR_PMPADDR1);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR2:
|
case CSR_PMPADDR2:
|
||||||
ret = csr_read_n(CSR_PMPADDR2);
|
ret = csr_read(CSR_PMPADDR2);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR3:
|
case CSR_PMPADDR3:
|
||||||
ret = csr_read_n(CSR_PMPADDR3);
|
ret = csr_read(CSR_PMPADDR3);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR4:
|
case CSR_PMPADDR4:
|
||||||
ret = csr_read_n(CSR_PMPADDR4);
|
ret = csr_read(CSR_PMPADDR4);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR5:
|
case CSR_PMPADDR5:
|
||||||
ret = csr_read_n(CSR_PMPADDR5);
|
ret = csr_read(CSR_PMPADDR5);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR6:
|
case CSR_PMPADDR6:
|
||||||
ret = csr_read_n(CSR_PMPADDR6);
|
ret = csr_read(CSR_PMPADDR6);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR7:
|
case CSR_PMPADDR7:
|
||||||
ret = csr_read_n(CSR_PMPADDR7);
|
ret = csr_read(CSR_PMPADDR7);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR8:
|
case CSR_PMPADDR8:
|
||||||
ret = csr_read_n(CSR_PMPADDR8);
|
ret = csr_read(CSR_PMPADDR8);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR9:
|
case CSR_PMPADDR9:
|
||||||
ret = csr_read_n(CSR_PMPADDR9);
|
ret = csr_read(CSR_PMPADDR9);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR10:
|
case CSR_PMPADDR10:
|
||||||
ret = csr_read_n(CSR_PMPADDR10);
|
ret = csr_read(CSR_PMPADDR10);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR11:
|
case CSR_PMPADDR11:
|
||||||
ret = csr_read_n(CSR_PMPADDR11);
|
ret = csr_read(CSR_PMPADDR11);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR12:
|
case CSR_PMPADDR12:
|
||||||
ret = csr_read_n(CSR_PMPADDR12);
|
ret = csr_read(CSR_PMPADDR12);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR13:
|
case CSR_PMPADDR13:
|
||||||
ret = csr_read_n(CSR_PMPADDR13);
|
ret = csr_read(CSR_PMPADDR13);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR14:
|
case CSR_PMPADDR14:
|
||||||
ret = csr_read_n(CSR_PMPADDR14);
|
ret = csr_read(CSR_PMPADDR14);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR15:
|
case CSR_PMPADDR15:
|
||||||
ret = csr_read_n(CSR_PMPADDR15);
|
ret = csr_read(CSR_PMPADDR15);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -87,64 +87,64 @@ void csr_write_num(int csr_num, unsigned long val)
|
|||||||
{
|
{
|
||||||
switch (csr_num) {
|
switch (csr_num) {
|
||||||
case CSR_PMPCFG0:
|
case CSR_PMPCFG0:
|
||||||
csr_write_n(CSR_PMPCFG0, val);
|
csr_write(CSR_PMPCFG0, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPCFG1:
|
case CSR_PMPCFG1:
|
||||||
csr_write_n(CSR_PMPCFG1, val);
|
csr_write(CSR_PMPCFG1, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPCFG2:
|
case CSR_PMPCFG2:
|
||||||
csr_write_n(CSR_PMPCFG2, val);
|
csr_write(CSR_PMPCFG2, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPCFG3:
|
case CSR_PMPCFG3:
|
||||||
csr_write_n(CSR_PMPCFG3, val);
|
csr_write(CSR_PMPCFG3, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR0:
|
case CSR_PMPADDR0:
|
||||||
csr_write_n(CSR_PMPADDR0, val);
|
csr_write(CSR_PMPADDR0, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR1:
|
case CSR_PMPADDR1:
|
||||||
csr_write_n(CSR_PMPADDR1, val);
|
csr_write(CSR_PMPADDR1, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR2:
|
case CSR_PMPADDR2:
|
||||||
csr_write_n(CSR_PMPADDR2, val);
|
csr_write(CSR_PMPADDR2, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR3:
|
case CSR_PMPADDR3:
|
||||||
csr_write_n(CSR_PMPADDR3, val);
|
csr_write(CSR_PMPADDR3, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR4:
|
case CSR_PMPADDR4:
|
||||||
csr_write_n(CSR_PMPADDR4, val);
|
csr_write(CSR_PMPADDR4, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR5:
|
case CSR_PMPADDR5:
|
||||||
csr_write_n(CSR_PMPADDR5, val);
|
csr_write(CSR_PMPADDR5, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR6:
|
case CSR_PMPADDR6:
|
||||||
csr_write_n(CSR_PMPADDR6, val);
|
csr_write(CSR_PMPADDR6, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR7:
|
case CSR_PMPADDR7:
|
||||||
csr_write_n(CSR_PMPADDR7, val);
|
csr_write(CSR_PMPADDR7, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR8:
|
case CSR_PMPADDR8:
|
||||||
csr_write_n(CSR_PMPADDR8, val);
|
csr_write(CSR_PMPADDR8, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR9:
|
case CSR_PMPADDR9:
|
||||||
csr_write_n(CSR_PMPADDR9, val);
|
csr_write(CSR_PMPADDR9, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR10:
|
case CSR_PMPADDR10:
|
||||||
csr_write_n(CSR_PMPADDR10, val);
|
csr_write(CSR_PMPADDR10, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR11:
|
case CSR_PMPADDR11:
|
||||||
csr_write_n(CSR_PMPADDR11, val);
|
csr_write(CSR_PMPADDR11, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR12:
|
case CSR_PMPADDR12:
|
||||||
csr_write_n(CSR_PMPADDR12, val);
|
csr_write(CSR_PMPADDR12, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR13:
|
case CSR_PMPADDR13:
|
||||||
csr_write_n(CSR_PMPADDR13, val);
|
csr_write(CSR_PMPADDR13, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR14:
|
case CSR_PMPADDR14:
|
||||||
csr_write_n(CSR_PMPADDR14, val);
|
csr_write(CSR_PMPADDR14, val);
|
||||||
break;
|
break;
|
||||||
case CSR_PMPADDR15:
|
case CSR_PMPADDR15:
|
||||||
csr_write_n(CSR_PMPADDR15, val);
|
csr_write(CSR_PMPADDR15, val);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user