RTEMS CPU Kit with SuperCore  4.11.3
Modules | Files | Macros | Typedefs | Functions | Variables

RTEMS thread and RTEMS_ASR modes. More...

Collaboration diagram for Modes:

Modules

 Classic Modes Implementation
 

Files

file  modes.c
 Body for RTEMS_INTERRUPT_LEVEL Macro.
 

Macros

#define RTEMS_ALL_MODE_MASKS   0x0000ffff
 The following constants define the individual modes and masks which may be used to compose a mode set and to alter modes.
 
#define RTEMS_DEFAULT_MODES   0x00000000
 This mode constant is the default mode set.
 
#define RTEMS_CURRENT_MODE   0
 This mode constant is used when the user wishes to obtain their current execution mode.
 
#define RTEMS_TIMESLICE_MASK   0x00000200
 This mode constant corresponds to the timeslice enable/disable bit. More...
 
#define RTEMS_PREEMPT_MASK   0x00000100
 This mode constant corresponds to the preemption enable/disable bit. More...
 
#define RTEMS_ASR_MASK   0x00000400
 This mode constant corresponds to the signal enable/disable bit. More...
 
#define RTEMS_INTERRUPT_MASK   CPU_MODES_INTERRUPT_MASK
 This mode constant corresponds to the interrupt enable/disable bits. More...
 
#define RTEMS_PREEMPT   0x00000000
 This mode constant is used to indicate preemption is enabled. More...
 
#define RTEMS_NO_PREEMPT   0x00000100
 This mode constant is used to indicate preemption is disabled. More...
 
#define RTEMS_NO_TIMESLICE   0x00000000
 This mode constant is used to indicate timeslicing is disabled. More...
 
#define RTEMS_TIMESLICE   0x00000200
 This mode constant is used to indicate timeslicing is enabled. More...
 
#define RTEMS_ASR   0x00000000
 This mode constant is used to indicate signal processing is enabled. More...
 
#define RTEMS_NO_ASR   0x00000400
 This mode constant is used to indicate signal processing is disabled. More...
 
#define RTEMS_INTERRUPT_LEVEL(_mode_set)   ( (_mode_set) & RTEMS_INTERRUPT_MASK )
 RTEMS_INTERRUPT_LEVEL. More...
 

Typedefs

typedef uint32_t Modes_Control
 The following type defines the control block used to manage each a mode set.
 

Functions

Modes_Control rtems_interrupt_level_body (uint32_t level)
 Body for RTEMS_INTERRUPT_LEVEL Macro. More...
 

Variables

const uint32_t rtems_interrupt_mask
 Interrupt Mask Variable. More...
 

Detailed Description

RTEMS thread and RTEMS_ASR modes.

This encapsulates functionality related to the task modes supported by the Classic API Task Manager.

This include file contains all constants and structures associated with the RTEMS thread and RTEMS_ASR modes.

Macro Definition Documentation

◆ RTEMS_ASR

#define RTEMS_ASR   0x00000000

This mode constant is used to indicate signal processing is enabled.

◆ RTEMS_ASR_MASK

#define RTEMS_ASR_MASK   0x00000400

This mode constant corresponds to the signal enable/disable bit.

Referenced by _Modes_Is_asr_disabled().

◆ RTEMS_INTERRUPT_LEVEL

#define RTEMS_INTERRUPT_LEVEL (   _mode_set)    ( (_mode_set) & RTEMS_INTERRUPT_MASK )

RTEMS_INTERRUPT_LEVEL.

This function returns the processor dependent interrupt level which corresponds to the requested interrupt level.

Note
RTEMS supports 256 interrupt levels using the least significant eight bits of MODES.CONTROL. On any particular CPU, fewer than 256 levels may be supported.

Referenced by rtems_interrupt_level_body().

◆ RTEMS_INTERRUPT_MASK

#define RTEMS_INTERRUPT_MASK   CPU_MODES_INTERRUPT_MASK

This mode constant corresponds to the interrupt enable/disable bits.

Referenced by _Modes_Get_interrupt_level().

◆ RTEMS_NO_ASR

#define RTEMS_NO_ASR   0x00000400

This mode constant is used to indicate signal processing is disabled.

Referenced by _Modes_Is_asr_disabled().

◆ RTEMS_NO_PREEMPT

#define RTEMS_NO_PREEMPT   0x00000100

This mode constant is used to indicate preemption is disabled.

◆ RTEMS_NO_TIMESLICE

#define RTEMS_NO_TIMESLICE   0x00000000

This mode constant is used to indicate timeslicing is disabled.

◆ RTEMS_PREEMPT

#define RTEMS_PREEMPT   0x00000000

This mode constant is used to indicate preemption is enabled.

Referenced by _Modes_Is_preempt().

◆ RTEMS_PREEMPT_MASK

#define RTEMS_PREEMPT_MASK   0x00000100

This mode constant corresponds to the preemption enable/disable bit.

Referenced by _Modes_Is_preempt().

◆ RTEMS_TIMESLICE

#define RTEMS_TIMESLICE   0x00000200

This mode constant is used to indicate timeslicing is enabled.

Referenced by _Modes_Is_timeslice().

◆ RTEMS_TIMESLICE_MASK

#define RTEMS_TIMESLICE_MASK   0x00000200

This mode constant corresponds to the timeslice enable/disable bit.

Referenced by _Modes_Is_timeslice().

Function Documentation

◆ rtems_interrupt_level_body()

Modes_Control rtems_interrupt_level_body ( uint32_t  level)

Body for RTEMS_INTERRUPT_LEVEL Macro.

Parameters
[in]levelis the desired interrupt level
Return values
Thismethods returns a mode with the desired interrupt level in the proper bitfield location.
Note
This variable is used by bindings from languages other than C and C++.

References RTEMS_INTERRUPT_LEVEL.

Variable Documentation

◆ rtems_interrupt_mask

const uint32_t rtems_interrupt_mask

Interrupt Mask Variable.

This variable is used by bindings from languages other than C and C++.