RTEMS  5.0.0
Files | Enumerations | Functions | Variables
Processor Mask

Files

file  processormask.h
 Processor Mask API.
 
file  processormaskcopy.c
 Processor Mask Implementation.
 

Enumerations

enum  Processor_mask_Copy_status { PROCESSOR_MASK_COPY_LOSSLESS, PROCESSOR_MASK_COPY_PARTIAL_LOSS, PROCESSOR_MASK_COPY_COMPLETE_LOSS, PROCESSOR_MASK_COPY_INVALID_SIZE }
 

Functions

typedef BITSET_DEFINE (Processor_mask, CPU_MAXIMUM_PROCESSORS) Processor_mask
 A bit map which is large enough to provide one bit for each processor in the system.
 
RTEMS_INLINE_ROUTINE void _Processor_mask_Zero (Processor_mask *mask)
 
RTEMS_INLINE_ROUTINE bool _Processor_mask_Is_zero (const Processor_mask *mask)
 
RTEMS_INLINE_ROUTINE void _Processor_mask_Fill (Processor_mask *mask)
 
RTEMS_INLINE_ROUTINE void _Processor_mask_Assign (Processor_mask *dst, const Processor_mask *src)
 
RTEMS_INLINE_ROUTINE void _Processor_mask_Set (Processor_mask *mask, uint32_t index)
 
RTEMS_INLINE_ROUTINE void _Processor_mask_Clear (Processor_mask *mask, uint32_t index)
 
RTEMS_INLINE_ROUTINE bool _Processor_mask_Is_set (const Processor_mask *mask, uint32_t index)
 
RTEMS_INLINE_ROUTINE bool _Processor_mask_Is_equal (const Processor_mask *a, const Processor_mask *b)
 Returns true if the processor sets a and b are equal, and false otherwise.
 
RTEMS_INLINE_ROUTINE bool _Processor_mask_Has_overlap (const Processor_mask *a, const Processor_mask *b)
 Returns true if the intersection of the processor sets a and b is non-empty, and false otherwise.
 
RTEMS_INLINE_ROUTINE bool _Processor_mask_Is_subset (const Processor_mask *big, const Processor_mask *small)
 Returns true if the processor set small is a subset of processor set big, and false otherwise.
 
RTEMS_INLINE_ROUTINE void _Processor_mask_And (Processor_mask *a, const Processor_mask *b, const Processor_mask *c)
 Performs a bitwise a = b & c.
 
RTEMS_INLINE_ROUTINE void _Processor_mask_Nand (Processor_mask *a, const Processor_mask *b, const Processor_mask *c)
 Performs a bitwise a = b & ~c.
 
RTEMS_INLINE_ROUTINE void _Processor_mask_Or (Processor_mask *a, const Processor_mask *b, const Processor_mask *c)
 Performs a bitwise a = b | c.
 
RTEMS_INLINE_ROUTINE void _Processor_mask_Xor (Processor_mask *a, const Processor_mask *b, const Processor_mask *c)
 Performs a bitwise a = b ^ c.
 
RTEMS_INLINE_ROUTINE uint32_t _Processor_mask_Count (const Processor_mask *a)
 
RTEMS_INLINE_ROUTINE uint32_t _Processor_mask_Find_last_set (const Processor_mask *a)
 
RTEMS_INLINE_ROUTINE uint32_t _Processor_mask_To_uint32_t (const Processor_mask *mask, uint32_t index)
 Returns the subset of 32 processors containing the specified index as an unsigned 32-bit integer.
 
RTEMS_INLINE_ROUTINE void _Processor_mask_From_uint32_t (Processor_mask *mask, uint32_t bits, uint32_t index)
 Creates a processor set from an unsigned 32-bit integer relative to the specified index.
 
RTEMS_INLINE_ROUTINE void _Processor_mask_From_index (Processor_mask *mask, uint32_t index)
 Creates a processor set from the specified index.
 
RTEMS_INLINE_ROUTINE bool _Processor_mask_Is_at_most_partial_loss (Processor_mask_Copy_status status)
 
Processor_mask_Copy_status _Processor_mask_Copy (long *dst, size_t dst_size, const long *src, size_t src_size)
 
RTEMS_INLINE_ROUTINE Processor_mask_Copy_status _Processor_mask_To_cpu_set_t (const Processor_mask *src, size_t dst_size, cpu_set_t *dst)
 
RTEMS_INLINE_ROUTINE Processor_mask_Copy_status _Processor_mask_From_cpu_set_t (Processor_mask *dst, size_t src_size, const cpu_set_t *src)
 

Variables

const Processor_mask _Processor_mask_The_one_and_only
 

Detailed Description

The processor mask provides a bit map large enough to provide one bit for each processor in the system. It is a fixed size internal data type provided for efficiency in addition to the API level cpu_set_t.