RTEMS  5.1
isrlevel.h
Go to the documentation of this file.
1 
12 /*
13  * COPYRIGHT (c) 1989-2011.
14  * On-Line Applications Research Corporation (OAR).
15  *
16  * The license and distribution terms for this file may be
17  * found in the file LICENSE in this distribution or at
18  * http://www.rtems.org/license/LICENSE.
19  */
20 
21 #ifndef _RTEMS_SCORE_ISR_LEVEL_h
22 #define _RTEMS_SCORE_ISR_LEVEL_h
23 
24 #include <rtems/score/cpu.h>
25 #include <rtems/score/assert.h>
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
41 typedef uint32_t ISR_Level;
42 
57 #define _ISR_Local_disable( _level ) \
58  do { \
59  _CPU_ISR_Disable( _level ); \
60  RTEMS_COMPILER_MEMORY_BARRIER(); \
61  } while (0)
62 
74 #define _ISR_Local_enable( _level ) \
75  do { \
76  RTEMS_COMPILER_MEMORY_BARRIER(); \
77  _CPU_ISR_Enable( _level ); \
78  } while (0)
79 
99 #define _ISR_Local_flash( _level ) \
100  do { \
101  RTEMS_COMPILER_MEMORY_BARRIER(); \
102  _CPU_ISR_Flash( _level ); \
103  RTEMS_COMPILER_MEMORY_BARRIER(); \
104  } while (0)
105 
115 #define _ISR_Is_enabled( _level ) \
116  _CPU_ISR_Is_enabled( _level )
117 
128 #define _ISR_Get_level() \
129  _CPU_ISR_Get_level()
130 
140 #define _ISR_Set_level( _new_level ) \
141  do { \
142  RTEMS_COMPILER_MEMORY_BARRIER(); \
143  _CPU_ISR_Set_level( _new_level ); \
144  RTEMS_COMPILER_MEMORY_BARRIER(); \
145  } while (0)
146 
149 #ifdef __cplusplus
150 }
151 #endif
152 #endif
Information for the Assert Handler.
uint32_t ISR_Level
Definition: isrlevel.h:41