RTEMS
isr.h
Go to the documentation of this file.
1 
14 /*
15  * COPYRIGHT (c) 1989-2012.
16  * On-Line Applications Research Corporation (OAR).
17  *
18  * The license and distribution terms for this file may be
19  * found in the file LICENSE in this distribution or at
20  * http://www.rtems.org/license/LICENSE.
21  */
22 
23 #ifndef _RTEMS_SCORE_ISR_H
24 #define _RTEMS_SCORE_ISR_H
25 
26 #include <rtems/score/isrlevel.h>
27 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
51 typedef uint32_t ISR_Vector_number;
52 
56 typedef void ISR_Handler;
57 
58 #if (CPU_SIMPLE_VECTORED_INTERRUPTS == FALSE)
59 
60 typedef void * ISR_Handler_entry;
61 
62 #else
63 
66 #if (CPU_ISR_PASSES_FRAME_POINTER == TRUE)
67 typedef ISR_Handler ( *ISR_Handler_entry )(
70  );
71 #else
72 typedef ISR_Handler ( *ISR_Handler_entry )(
74  );
75 #endif
76 
81 extern ISR_Handler_entry _ISR_Vector_table[ CPU_INTERRUPT_NUMBER_OF_VECTORS ];
82 #endif
83 
90 RTEMS_DECLARE_GLOBAL_SYMBOL( _ISR_Stack_size );
91 
99 extern char _ISR_Stack_area_begin[];
100 
108 extern const char _ISR_Stack_area_end[];
109 
115 void _ISR_Handler_initialization ( void );
116 
134 #define _ISR_Install_vector( _vector, _new_handler, _old_handler ) \
135  _CPU_ISR_install_vector( _vector, _new_handler, _old_handler )
136 
151 void _ISR_Handler( void );
152 
163 bool _ISR_Is_in_progress( void );
164 
165 #ifdef __cplusplus
166 }
167 #endif
168 
171 #endif
172 /* end of include file */
char _ISR_Stack_area_begin[]
The interrupt stack area begin.
bool _ISR_Is_in_progress(void)
Checks if an ISR in progress.
Interrupt stack frame (ISF).
Definition: cpu.h:571
ISR Level Type.
RTEMS_DECLARE_GLOBAL_SYMBOL(_ISR_Stack_size)
Global symbol with a value equal to the configure interrupt stack size.
void _ISR_Handler(void)
ISR interrupt dispatcher.
void _ISR_Handler_initialization(void)
Initializes the ISR handler.
Definition: isr.c:36
const char _ISR_Stack_area_end[]
The interrupt stack area end.
uint32_t ISR_Vector_number
Definition: isr.h:51
#define CPU_INTERRUPT_NUMBER_OF_VECTORS
Definition: cpu.h:686
void ISR_Handler
Definition: isr.h:56