diff options
Diffstat (limited to '')
-rw-r--r-- | cpukit/score/cpu/arm/rtems/score/cpu.h | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/cpukit/score/cpu/arm/rtems/score/cpu.h b/cpukit/score/cpu/arm/rtems/score/cpu.h index a11de9a4c9..205e41fd67 100644 --- a/cpukit/score/cpu/arm/rtems/score/cpu.h +++ b/cpukit/score/cpu/arm/rtems/score/cpu.h @@ -285,6 +285,21 @@ typedef struct { extern uint32_t arm_cpu_mode; +static inline void _ARM_Data_memory_barrier( void ) +{ + __asm__ volatile ( "dmb" : : : "memory" ); +} + +static inline void _ARM_Data_synchronization_barrier( void ) +{ + __asm__ volatile ( "dsb" : : : "memory" ); +} + +static inline void _ARM_Instruction_synchronization_barrier( void ) +{ + __asm__ volatile ( "isb" : : : "memory" ); +} + static inline uint32_t arm_interrupt_disable( void ) { uint32_t level; @@ -465,16 +480,6 @@ void _CPU_Context_validate( uintptr_t pattern ); void _CPU_SMP_Send_interrupt( uint32_t target_processor_index ); - static inline void _ARM_Data_memory_barrier( void ) - { - __asm__ volatile ( "dmb" : : : "memory" ); - } - - static inline void _ARM_Data_synchronization_barrier( void ) - { - __asm__ volatile ( "dsb" : : : "memory" ); - } - static inline void _ARM_Send_event( void ) { __asm__ volatile ( "sev" : : : "memory" ); |