risc-v: Implement READ_AND_SET_CSR for CSR operate

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
This commit is contained in:
Huang Qi
2022-03-03 14:50:33 +08:00
committed by Xiang Xiao
parent b953296de7
commit 35330a798b
+7
View File
@@ -326,6 +326,13 @@
tmp; \
})
#define READ_AND_SET_CSR(reg, bits) \
({ \
unsigned long tmp; \
asm volatile("csrrs %0, " CSR_STR(reg) ", %1": "=r"(tmp) : "rK"(bits)); \
tmp; \
})
#define WRITE_CSR(reg, val) \
({ \
asm volatile("csrw " CSR_STR(reg) ", %0" :: "rK"(val)); \