summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/riscv/include/rtems/asm.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/cpu/riscv/include/rtems/asm.h')
-rw-r--r--cpukit/score/cpu/riscv/include/rtems/asm.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/cpukit/score/cpu/riscv/include/rtems/asm.h b/cpukit/score/cpu/riscv/include/rtems/asm.h
index 34b6474515..55fcb801c3 100644
--- a/cpukit/score/cpu/riscv/include/rtems/asm.h
+++ b/cpukit/score/cpu/riscv/include/rtems/asm.h
@@ -117,4 +117,12 @@
#define EXTERN(sym) .extern SYM (sym)
#define TYPE_FUNC(sym) .type SYM (sym), %function
+.macro GET_SELF_CPU_CONTROL REG
+#ifdef RTEMS_SMP
+ csrr \REG, mscratch
+#else
+ la \REG, _Per_CPU_Information
+#endif
+.endm
+
#endif