RTEMS: cpukit/include/rtems/score/isr.h Source File

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
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
45extern "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
60typedef void * ISR_Handler_entry;
61
62#else
66#if (CPU_ISR_PASSES_FRAME_POINTER == TRUE)
67typedef ISR_Handler ( *ISR_Handler_entry )(
68 ISR_Vector_number,
69 CPU_Interrupt_frame *
70 );
71#else
72typedef ISR_Handler ( *ISR_Handler_entry )(
73 ISR_Vector_number
74 );
75#endif
76
81extern ISR_Handler_entry _ISR_Vector_table[ CPU_INTERRUPT_NUMBER_OF_VECTORS ];
82#endif
83
90 RTEMS_DECLARE_GLOBAL_SYMBOL( _ISR_Stack_size );
91
99extern char _ISR_Stack_area_begin[];
100
108extern const char _ISR_Stack_area_end[];
109
115void _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
151void _ISR_Handler( void );
152
163bool _ISR_Is_in_progress( void );
164
165#ifdef __cplusplus
166}
167#endif
168
171#endif
172/* end of include file */
RTEMS_DECLARE_GLOBAL_SYMBOL
#define RTEMS_DECLARE_GLOBAL_SYMBOL(_name)
Declares a global symbol with the specified name.
Definition: basedefs.h:321
_ISR_Is_in_progress
bool _ISR_Is_in_progress(void)
Checks if an ISR in progress.
Definition: nios2-isr-is-in-progress.c:23
ISR_Handler
void ISR_Handler
Definition: isr.h:56
_ISR_Handler
void _ISR_Handler(void)
ISR interrupt dispatcher.
Definition: cpu_asm.c:126
_ISR_Stack_area_end
const char _ISR_Stack_area_end[]
The interrupt stack area end.
_ISR_Handler_initialization
void _ISR_Handler_initialization(void)
Initializes the ISR handler.
Definition: isr.c:36
_ISR_Stack_area_begin
char _ISR_Stack_area_begin[]
The interrupt stack area begin.
ISR_Vector_number
uint32_t ISR_Vector_number
Definition: isr.h:51
isrlevel.h
ISR Level Type.
CPU_Interrupt_frame
Interrupt stack frame (ISF).
Definition: cpu.h:191