RTEMS 6.1-rc6
Loading...
Searching...
No Matches
Macros | Typedefs | Functions | Variables
Task Modes

This group contains the Classic API task modes. More...

Macros

#define RTEMS_ALL_MODE_MASKS   0x0000ffff
 This task mode constant is a bit mask with all mode bits set.
 
#define RTEMS_ASR   0x00000000
 This task mode constant indicates that signal processing is disabled.
 
#define RTEMS_ASR_MASK   0x00000400
 This mode constant corresponds to the signal enable/disable bit.
 
#define RTEMS_CURRENT_MODE   0
 This task mode constant indicates that the current task mode of the executing task shall be returned by rtems_task_mode().
 
#define RTEMS_DEFAULT_MODES   0x00000000
 This task mode constant represents the default mode set.
 
#define RTEMS_INTERRUPT_MASK   CPU_MODES_INTERRUPT_MASK
 This task mode constant corresponds to the interrupt enable/disable bits.
 
#define RTEMS_INTERRUPT_LEVEL(_interrupt_level)    ( ( _interrupt_level ) & RTEMS_INTERRUPT_MASK )
 Maps the interrupt level to the associated processor-dependent task mode interrupt level.
 
#define RTEMS_NO_ASR   0x00000400
 This task mode constant indicates that signal processing is disabled.
 
#define RTEMS_NO_PREEMPT   0x00000100
 This task mode constant indicates that preemption is disabled.
 
#define RTEMS_NO_TIMESLICE   0x00000000
 This task mode constant indicates that timeslicing is disabled.
 
#define RTEMS_PREEMPT   0x00000000
 This task mode constant indicates that preemption is enabled.
 
#define RTEMS_PREEMPT_MASK   0x00000100
 This task mode constant corresponds to the preemption enable/disable bit.
 
#define RTEMS_TIMESLICE   0x00000200
 This task mode constant indicates that timeslicing is enabled.
 
#define RTEMS_TIMESLICE_MASK   0x00000200
 This task mode constant corresponds to the timeslice enable/disable bit.
 

Typedefs

typedef uint32_t rtems_mode
 This type represents a Classic API task mode set.
 

Functions

rtems_mode rtems_interrupt_level_body (uint32_t level)
 Maps the interrupt level to the associated processor-dependent task mode interrupt level.
 

Variables

const uint32_t rtems_interrupt_mask
 This task mode constant has the same value as RTEMS_INTERRUPT_MASK.
 

Detailed Description

This group contains the Classic API task modes.

Macro Definition Documentation

◆ RTEMS_INTERRUPT_LEVEL

#define RTEMS_INTERRUPT_LEVEL (   _interrupt_level)     ( ( _interrupt_level ) & RTEMS_INTERRUPT_MASK )

Maps the interrupt level to the associated processor-dependent task mode interrupt level.

Parameters
_interrupt_levelis the interrupt level to map.
Returns
Returns the processor-dependent task mode interrupt level associated with the interrupt level.
Notes
The Classic API supports 256 interrupt levels using the least significant eight bits of the mode set. On any particular processor variant, fewer than 256 levels may be supported. At least level 0 (all interrupts enabled) and level 1 (interrupts disabled, on most architectures) are supported.

Function Documentation

◆ rtems_interrupt_level_body()

rtems_mode rtems_interrupt_level_body ( uint32_t  level)

Maps the interrupt level to the associated processor-dependent task mode interrupt level.

Parameters
levelis the interrupt level to map.
Returns
Returns RTEMS_INTERRUPT_LEVEL() for the interrupt level.
Notes
This function is used by bindings from languages other than C and C++.

Variable Documentation

◆ rtems_interrupt_mask

const uint32_t rtems_interrupt_mask
extern

This task mode constant has the same value as RTEMS_INTERRUPT_MASK.

Notes
This task mode constant is used by bindings from languages other than C and C++.