arm: Make barrier operations more visible

This commit is contained in:
Sebastian Huber
2013-08-22 13:19:06 +02:00
parent 389ffb280f
commit 1a246d7e05

View File

@@ -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" );