diff options
Diffstat (limited to 'cpukit/score/cpu/riscv/include/rtems/asm.h')
-rw-r--r-- | cpukit/score/cpu/riscv/include/rtems/asm.h | 8 |
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 |