RTEMS  5.0.0
isr.h
Go to the documentation of this file.
1 
12 /*
13  * COPYRIGHT (c) 1989-2012.
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_H
22 #define _RTEMS_SCORE_ISR_H
23 
24 #include <rtems/score/isrlevel.h>
25 
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
46 typedef uint32_t ISR_Vector_number;
47 
51 typedef void ISR_Handler;
52 
53 #if (CPU_SIMPLE_VECTORED_INTERRUPTS == FALSE)
54 
55 typedef void * ISR_Handler_entry;
56 
57 #else
58 
61 #if (CPU_ISR_PASSES_FRAME_POINTER == TRUE)
62 typedef ISR_Handler ( *ISR_Handler_entry )(
65  );
66 #else
67 typedef ISR_Handler ( *ISR_Handler_entry )(
69  );
70 #endif
71 
76 extern ISR_Handler_entry _ISR_Vector_table[ CPU_INTERRUPT_NUMBER_OF_VECTORS ];
77 #endif
78 
85 RTEMS_DECLARE_GLOBAL_SYMBOL( _ISR_Stack_size );
86 
94 extern char _ISR_Stack_area_begin[];
95 
103 extern const char _ISR_Stack_area_end[];
104 
110 void _ISR_Handler_initialization ( void );
111 
129 #define _ISR_Install_vector( _vector, _new_handler, _old_handler ) \
130  _CPU_ISR_install_vector( _vector, _new_handler, _old_handler )
131 
146 void _ISR_Handler( void );
147 
157 bool _ISR_Is_in_progress( void );
158 
159 #ifdef __cplusplus
160 }
161 #endif
162 
165 #endif
166 /* end of include file */
RTEMS_DECLARE_GLOBAL_SYMBOL(_ISR_Stack_size)
Global symbol with a value equal to the configure interrupt stack size.
const char _ISR_Stack_area_end[]
The interrupt stack area end.
uint32_t ISR_Vector_number
Definition: isr.h:46
Interrupt stack frame (ISF).
Definition: cpu.h:306
ISR Level Type.
void _ISR_Handler(void)
ISR interrupt dispatcher.
Definition: cpu_asm.c:126
bool _ISR_Is_in_progress(void)
Checks if an ISR in progress.
Definition: nios2-isr-is-in-progress.c:23
char _ISR_Stack_area_begin[]
The interrupt stack area begin.
#define CPU_INTERRUPT_NUMBER_OF_VECTORS
Definition: cpu.h:686
void _ISR_Handler_initialization(void)
Initialize the ISR handler.
Definition: isr.c:36
void ISR_Handler
Definition: isr.h:51