RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
cpukit
include
rtems
score
isr.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-2-Clause */
2
11
12
/*
13
* COPYRIGHT (c) 1989-2012.
14
* On-Line Applications Research Corporation (OAR).
15
*
16
* Redistribution and use in source and binary forms, with or without
17
* modification, are permitted provided that the following conditions
18
* are met:
19
* 1. Redistributions of source code must retain the above copyright
20
* notice, this list of conditions and the following disclaimer.
21
* 2. Redistributions in binary form must reproduce the above copyright
22
* notice, this list of conditions and the following disclaimer in the
23
* documentation and/or other materials provided with the distribution.
24
*
25
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
29
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35
* POSSIBILITY OF SUCH DAMAGE.
36
*/
37
38
#ifndef _RTEMS_SCORE_ISR_H
39
#define _RTEMS_SCORE_ISR_H
40
41
#include <
rtems/score/isrlevel.h
>
42
59
60
#ifdef __cplusplus
61
extern
"C"
{
62
#endif
63
67
typedef
uint32_t
ISR_Vector_number
;
68
72
typedef
void
ISR_Handler
;
73
74
#if (CPU_SIMPLE_VECTORED_INTERRUPTS == FALSE)
75
76
typedef
void
* ISR_Handler_entry;
77
78
#else
82
#if (CPU_ISR_PASSES_FRAME_POINTER == TRUE)
83
typedef
ISR_Handler
( *ISR_Handler_entry )(
84
ISR_Vector_number
,
85
CPU_Interrupt_frame
*
86
);
87
#else
88
typedef
ISR_Handler
( *ISR_Handler_entry )(
89
ISR_Vector_number
90
);
91
#endif
92
97
extern
ISR_Handler_entry _ISR_Vector_table[ CPU_INTERRUPT_NUMBER_OF_VECTORS ];
98
#endif
99
110
RTEMS_DECLARE_GLOBAL_SYMBOL
( _ISR_Stack_size );
111
118
extern
const
char
*
const
volatile
_ISR_Stack_size_object
;
119
127
extern
char
_ISR_Stack_area_begin
[];
128
136
extern
const
char
_ISR_Stack_area_end
[];
137
143
void
_ISR_Handler_initialization
(
void
);
144
162
#define _ISR_Install_vector( _vector, _new_handler, _old_handler ) \
163
_CPU_ISR_install_vector( _vector, _new_handler, _old_handler )
164
179
void
_ISR_Handler
(
void
);
180
181
#ifdef __cplusplus
182
}
183
#endif
184
186
187
#endif
188
/* end of include file */
RTEMS_DECLARE_GLOBAL_SYMBOL
#define RTEMS_DECLARE_GLOBAL_SYMBOL(_name)
Declares a global symbol with the name.
Definition
basedefs.h:321
ISR_Handler
void ISR_Handler
Definition
isr.h:72
_ISR_Stack_size_object
const char *const volatile _ISR_Stack_size_object
Provides the configured interrupt stack size through an object.
Definition
isr.c:47
_ISR_Handler
void _ISR_Handler(void)
ISR interrupt dispatcher.
Definition
cpu_asm.c:145
_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:49
_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:67
isrlevel.h
This header file provides the ISR_Level related interfaces of the ISR Handler.
CPU_Interrupt_frame
Interrupt stack frame (ISF).
Definition
cpuimpl.h:64
Generated by
1.18.0