37#ifndef _RTEMS_SCORE_SMPBARRIER_H
38#define _RTEMS_SCORE_SMPBARRIER_H
40#include <rtems/score/cpuopts.h>
84#define SMP_BARRIER_CONTROL_INITIALIZER \
85 { ATOMIC_INITIALIZER_UINT( 0U ), ATOMIC_INITIALIZER_UINT( 0U ) }
90#define SMP_BARRIER_STATE_INITIALIZER { 0U }
99static inline void _SMP_barrier_Control_initialize(
103 _Atomic_Init_uint( &
control->value, 0U );
104 _Atomic_Init_uint( &
control->sense, 0U );
112static inline void _SMP_barrier_State_initialize(
145static inline void _SMP_barrier_Wait_for_other(
153 value = _Atomic_Load_uint( &
control->value, ATOMIC_ORDER_ACQUIRE );
154 }
while ( value != count );
bool _SMP_barrier_Wait(SMP_barrier_Control *control, SMP_barrier_State *state, unsigned int count)
Waits on the SMP barrier until count threads rendezvoused.
Definition: smpbarrierwait.c:43
This header file provides the interfaces of the Atomic Operations.
SMP barrier control.
Definition: smpbarrier.h:67
SMP barrier per-thread state.
Definition: smpbarrier.h:77
Definition: intercom.c:87