diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-08-22 13:19:06 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-08-22 14:20:35 +0200 |
commit | 1a246d7e059cd8cde810045553343fb835bb30c9 (patch) | |
tree | 19c73a651152262ce16f8e9aacd41ae9a76db695 | |
parent | dosfs: Use unprotected chain operations (diff) | |
download | rtems-1a246d7e059cd8cde810045553343fb835bb30c9.tar.bz2 |
arm: Make barrier operations more visible
-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" ); |