mirror of
https://github.com/Fishwaldo/opensbi.git
synced 2025-06-28 17:18:37 +00:00
include: Replace #csr with __ASM_STR(csr) in csr_xyz() macros
We replace #csr with __ASM_STR(csr) in all csr_xyz() macros so that we can pass CSR number instead of CSR name when GCC is not aware of CSR name. Signed-off-by: Anup Patel <anup.patel@wdc.com>
This commit is contained in:
parent
81e8950abe
commit
24bfa687fc
1 changed files with 5 additions and 5 deletions
|
@ -131,7 +131,7 @@
|
||||||
#define csr_swap(csr, val) \
|
#define csr_swap(csr, val) \
|
||||||
({ \
|
({ \
|
||||||
unsigned long __v = (unsigned long)(val); \
|
unsigned long __v = (unsigned long)(val); \
|
||||||
__asm__ __volatile__ ("csrrw %0, " #csr ", %1" \
|
__asm__ __volatile__ ("csrrw %0, " __ASM_STR(csr) ", %1"\
|
||||||
: "=r" (__v) : "rK" (__v) \
|
: "=r" (__v) : "rK" (__v) \
|
||||||
: "memory"); \
|
: "memory"); \
|
||||||
__v; \
|
__v; \
|
||||||
|
@ -157,7 +157,7 @@
|
||||||
#define csr_read_set(csr, val) \
|
#define csr_read_set(csr, val) \
|
||||||
({ \
|
({ \
|
||||||
unsigned long __v = (unsigned long)(val); \
|
unsigned long __v = (unsigned long)(val); \
|
||||||
__asm__ __volatile__ ("csrrs %0, " #csr ", %1" \
|
__asm__ __volatile__ ("csrrs %0, " __ASM_STR(csr) ", %1"\
|
||||||
: "=r" (__v) : "rK" (__v) \
|
: "=r" (__v) : "rK" (__v) \
|
||||||
: "memory"); \
|
: "memory"); \
|
||||||
__v; \
|
__v; \
|
||||||
|
@ -166,7 +166,7 @@
|
||||||
#define csr_set(csr, val) \
|
#define csr_set(csr, val) \
|
||||||
({ \
|
({ \
|
||||||
unsigned long __v = (unsigned long)(val); \
|
unsigned long __v = (unsigned long)(val); \
|
||||||
__asm__ __volatile__ ("csrs " #csr ", %0" \
|
__asm__ __volatile__ ("csrs " __ASM_STR(csr) ", %0" \
|
||||||
: : "rK" (__v) \
|
: : "rK" (__v) \
|
||||||
: "memory"); \
|
: "memory"); \
|
||||||
})
|
})
|
||||||
|
@ -174,7 +174,7 @@
|
||||||
#define csr_read_clear(csr, val) \
|
#define csr_read_clear(csr, val) \
|
||||||
({ \
|
({ \
|
||||||
unsigned long __v = (unsigned long)(val); \
|
unsigned long __v = (unsigned long)(val); \
|
||||||
__asm__ __volatile__ ("csrrc %0, " #csr ", %1" \
|
__asm__ __volatile__ ("csrrc %0, " __ASM_STR(csr) ", %1"\
|
||||||
: "=r" (__v) : "rK" (__v) \
|
: "=r" (__v) : "rK" (__v) \
|
||||||
: "memory"); \
|
: "memory"); \
|
||||||
__v; \
|
__v; \
|
||||||
|
@ -183,7 +183,7 @@
|
||||||
#define csr_clear(csr, val) \
|
#define csr_clear(csr, val) \
|
||||||
({ \
|
({ \
|
||||||
unsigned long __v = (unsigned long)(val); \
|
unsigned long __v = (unsigned long)(val); \
|
||||||
__asm__ __volatile__ ("csrc " #csr ", %0" \
|
__asm__ __volatile__ ("csrc " __ASM_STR(csr) ", %0" \
|
||||||
: : "rK" (__v) \
|
: : "rK" (__v) \
|
||||||
: "memory"); \
|
: "memory"); \
|
||||||
})
|
})
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue