diff options
Diffstat (limited to 'cpukit/score/include/rtems/score/processormask.h')
-rw-r--r-- | cpukit/score/include/rtems/score/processormask.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/cpukit/score/include/rtems/score/processormask.h b/cpukit/score/include/rtems/score/processormask.h index 5a78dd33c6..8ee869a895 100644 --- a/cpukit/score/include/rtems/score/processormask.h +++ b/cpukit/score/include/rtems/score/processormask.h @@ -62,6 +62,37 @@ extern "C" { */ typedef uint32_t Processor_mask[ PROCESSOR_MASK_FIELD_COUNT ]; +RTEMS_INLINE_ROUTINE void _Processor_mask_Zero( Processor_mask mask ) +{ + size_t i; + + for ( i = 0; i < PROCESSOR_MASK_FIELD_COUNT; ++i ) { + mask[ i ] = 0; + } +} + +RTEMS_INLINE_ROUTINE bool _Processor_mask_Is_zero( const Processor_mask mask ) +{ + size_t i; + + for ( i = 0; i < PROCESSOR_MASK_FIELD_COUNT; ++i ) { + if ( mask[ i ] != 0 ) { + return false; + } + } + + return true; +} + +RTEMS_INLINE_ROUTINE void _Processor_mask_Assign( Processor_mask dst, const Processor_mask src ) +{ + size_t i; + + for ( i = 0; i < PROCESSOR_MASK_FIELD_COUNT; ++i ) { + dst[ i ] = src[ i ]; + } +} + RTEMS_INLINE_ROUTINE void _Processor_mask_Set( Processor_mask mask, uint32_t index ) { mask[ PROCESSOR_MASK_FIELD( index ) ] |= PROCESSOR_MASK_BIT( index ); |