diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-06-02 13:23:07 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-06-02 13:48:58 +0200 |
commit | 7c90670c81b213610a43f55d065f5b86fd6e646b (patch) | |
tree | 645041e471767bf0f0e11c0b6fcd02aa1d9f4f0b /cpukit/score/cpu/arm/rtems/score/cpu.h | |
parent | libblock: Use pthread_once() for initialization (diff) | |
download | rtems-7c90670c81b213610a43f55d065f5b86fd6e646b.tar.bz2 |
arm: Add ARM_MULTILIB_HAS_BARRIER_INSTRUCTIONS
Diffstat (limited to 'cpukit/score/cpu/arm/rtems/score/cpu.h')
-rw-r--r-- | cpukit/score/cpu/arm/rtems/score/cpu.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/cpukit/score/cpu/arm/rtems/score/cpu.h b/cpukit/score/cpu/arm/rtems/score/cpu.h index d53be6043f..ad070dfbad 100644 --- a/cpukit/score/cpu/arm/rtems/score/cpu.h +++ b/cpukit/score/cpu/arm/rtems/score/cpu.h @@ -301,17 +301,23 @@ extern uint32_t arm_cpu_mode; static inline void _ARM_Data_memory_barrier( void ) { +#ifdef ARM_MULTILIB_HAS_BARRIER_INSTRUCTIONS __asm__ volatile ( "dmb" : : : "memory" ); +#endif } static inline void _ARM_Data_synchronization_barrier( void ) { +#ifdef ARM_MULTILIB_HAS_BARRIER_INSTRUCTIONS __asm__ volatile ( "dsb" : : : "memory" ); +#endif } static inline void _ARM_Instruction_synchronization_barrier( void ) { +#ifdef ARM_MULTILIB_HAS_BARRIER_INSTRUCTIONS __asm__ volatile ( "isb" : : : "memory" ); +#endif } static inline uint32_t arm_interrupt_disable( void ) |