|
RTEMS CPU Kit with SuperCore
4.10.99.0
|
This handler encapsulates functionality which is used to manage thread priorities. More...
|
Defines | |
| #define | PRIORITY_MINIMUM 0 |
| This defines the highest (most important) thread priority. | |
| #define | PRIORITY_DEFAULT_MAXIMUM 255 |
| This defines the default lowest (least important) thread priority. | |
| #define | PRIORITY_MAXIMUM rtems_maximum_priority |
| This defines the lowest (least important) thread priority. | |
Typedefs | |
| typedef uint32_t | Priority_Control |
| The following type defines the control block used to manage thread priorities. | |
Functions | |
| RTEMS_INLINE_ROUTINE bool | _Priority_Is_valid (Priority_Control the_priority) |
| This function returns true if the_priority if valid for a user task, and false otherwise. | |
|
RTEMS_INLINE_ROUTINE Priority_bit_map_Control | _Priority_Major (Priority_Control the_priority) |
| This function returns the major portion of the_priority. | |
|
RTEMS_INLINE_ROUTINE Priority_bit_map_Control | _Priority_Minor (Priority_Control the_priority) |
| This function returns the minor portion of the_priority. | |
|
RTEMS_INLINE_ROUTINE Priority_bit_map_Control | _Priority_Mask (uint32_t bit_number) |
| This function returns the mask associated with the major or minor number passed to it. | |
|
RTEMS_INLINE_ROUTINE Priority_bit_map_Control | _Priority_Mask_invert (uint32_t mask) |
| This function returns the mask bit inverted. | |
| RTEMS_INLINE_ROUTINE uint32_t | _Priority_Bits_index (uint32_t bit_number) |
| This function translates the bit numbers returned by the bit scan of a priority bit field into something suitable for use as a major or minor component of a priority. | |
| RTEMS_INLINE_ROUTINE void | _Priority_bit_map_Handler_initialization (void) |
| Priority Queue implemented by bit map. | |
| RTEMS_INLINE_ROUTINE void | _Priority_bit_map_Add (Priority_bit_map_Information *the_priority_map) |
| This routine uses the_priority_map to update the priority bit maps to indicate that a thread has been readied. | |
| RTEMS_INLINE_ROUTINE void | _Priority_bit_map_Remove (Priority_bit_map_Information *the_priority_map) |
| This routine uses the_priority_map to update the priority bit maps to indicate that a thread has been removed from the ready state. | |
|
RTEMS_INLINE_ROUTINE Priority_Control | _Priority_bit_map_Get_highest (void) |
| This function returns the priority of the highest priority ready thread. | |
| RTEMS_INLINE_ROUTINE void | _Priority_bit_map_Initialize_information (Priority_bit_map_Information *the_priority_map, Priority_Control new_priority) |
| This routine initializes the_priority_map so that it contains the information necessary to manage a thread at new_priority. | |
Variables | |
| uint8_t | rtems_maximum_priority |
| This variable contains the configured number of priorities. | |
This handler encapsulates functionality which is used to manage thread priorities.
At the SuperCore level 256 priority levels are supported with lower numbers representing logically more important threads. The priority level 0 is reserved for internal RTEMS use. Typically it is assigned to threads which defer internal RTEMS actions from an interrupt to thread level to improve interrupt response. Priority level 255 is assigned to the IDLE thread and really should not be used by application threads. The default IDLE thread implementation is an infinite "branch to self" loop which never yields to other threads at the same priority.
| #define PRIORITY_DEFAULT_MAXIMUM 255 |
This defines the default lowest (least important) thread priority.
| #define PRIORITY_MAXIMUM rtems_maximum_priority |
This defines the lowest (least important) thread priority.
Referenced by _Priority_Is_valid(), and _Scheduler_priority_Ready_queue_initialize().
| #define PRIORITY_MINIMUM 0 |
This defines the highest (most important) thread priority.
| typedef uint32_t Priority_Control |
The following type defines the control block used to manage thread priorities.
| RTEMS_INLINE_ROUTINE void _Priority_bit_map_Handler_initialization | ( | void | ) |
Priority Queue implemented by bit map.
This routine performs the initialization necessary for this handler.
References _Priority_Major_bit_map.
1.7.5