blob: 1680975e7b54e27232e3181c94999917a492dcef [file] [log] [blame]
rjw1f884582022-01-06 17:20:42 +08001/* ###*B*###
2 * ERIKA Enterprise - a tiny RTOS for small microcontrollers
3 *
4 * Copyright (C) 2002-2014 Evidence Srl
5 *
6 * This file is part of ERIKA Enterprise.
7 *
8 * ERIKA Enterprise is free software; you can redistribute it
9 * and/or modify it under the terms of the GNU General Public License
10 * version 2 as published by the Free Software Foundation,
11 * (with a special exception described below).
12 *
13 * Linking this code statically or dynamically with other modules is
14 * making a combined work based on this code. Thus, the terms and
15 * conditions of the GNU General Public License cover the whole
16 * combination.
17 *
18 * As a special exception, the copyright holders of this library give you
19 * permission to link this code with independent modules to produce an
20 * executable, regardless of the license terms of these independent
21 * modules, and to copy and distribute the resulting executable under
22 * terms of your choice, provided that you also meet, for each linked
23 * independent module, the terms and conditions of the license of that
24 * module. An independent module is a module which is not derived from
25 * or based on this library. If you modify this code, you may extend
26 * this exception to your version of the code, but you are not
27 * obligated to do so. If you do not wish to do so, delete this
28 * exception statement from your version.
29 *
30 * ERIKA Enterprise is distributed in the hope that it will be
31 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
32 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33 * GNU General Public License version 2 for more details.
34 *
35 * You should have received a copy of the GNU General Public License
36 * version 2 along with ERIKA Enterprise; if not, write to the
37 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
38 * Boston, MA 02110-1301 USA.
39 * ###*E*### */
40
41/**
42 * @author Errico Guidieri
43 * @date 2012
44 **/
45
46/*******************************************************************************
47 * Interface header to access IRQ API and Macros support.
48 ******************************************************************************/
49
50#ifndef PKG_EE_IRQ_H
51#define PKG_EE_IRQ_H
52
53#include "eecfg.h"
54
55#if defined(__cplusplus)
56extern "C" {
57#endif
58
59/*
60 *
61 * CPU
62 *
63 */
64
65#ifdef __AVR8__
66#include "cpu/avr8/inc/ee_avr8_cpu.h"
67#endif
68
69/* Freescale */
70#if (defined(__MC9S12__)) || (defined(__HCS12XS__))
71#include "cpu/hs12xs/inc/ee_cpu.h"
72#endif
73
74#ifdef __PIC30__
75#include "cpu/pic30/inc/ee_cpu.h"
76#endif
77
78#ifdef __LM32__
79#include "cpu/mico32/inc/ee_cpu.h"
80#endif
81
82#if (defined(__PPCE200Z7__)) || (defined(__PPCE200ZX__))
83#include "cpu/e200zx/inc/ee_cpu.h"
84#endif /* defined __PPCE200Z7__ || defined __PPCE200ZX__ */
85
86#ifdef __CORTEX_MX__
87#include "cpu/cortex_mx/inc/ee_cpu.h"
88#endif
89
90#ifdef __X86__
91#include "cpu/x86/inc/ee_cpu.h"
92#endif
93
94#ifdef EE_CORTEX_AX_XENPV__
95#include "cpu/cortex_ax_xenpv/inc/ee_cax_cpu.h"
96#endif /* EE_CORTEX_AX_XENPV__ */
97
98#ifdef __CORTEX_RX__
99#include "cpu/cortex_rx/inc/ee_cpu.h"
100#endif
101
102#ifdef __ARC_EM6__
103#include "cpu/arc_em6/inc/ee_cpu.h"
104#endif /* __ARC_EM6__ */
105/*
106 * I need kernel inclusion before IRQ CPU inclusion because is CPU layer that
107 * have to see Kernel API for IRQ Handling
108 */
109
110/*
111 * Kernel
112 *
113 */
114#ifdef __FP__
115#include "kernel/fp/inc/ee_irq.h"
116#endif
117
118#ifdef __EDF__
119#include "kernel/edf/inc/ee_irq.h"
120#endif
121
122#ifdef __FRSH__
123#include "kernel/frsh/inc/ee_irq.h"
124#endif
125
126/* OO */
127#if (defined(__OO_BCC1__)) || (defined(__OO_BCC2__)) \
128 || (defined(__OO_ECC1__)) || (defined(__OO_ECC2__)) || (defined(__AS_SC4__))
129#include "kernel/oo/inc/ee_oo_irq.h"
130#endif
131
132/*
133 * CPU
134 */
135
136#ifdef __AVR8__
137#include "cpu/avr8/inc/ee_avr8_irq.h"
138#endif
139
140/* Freescale */
141#if (defined(__MC9S12__)) || (defined(__HCS12XS__))
142#include "cpu/hs12xs/inc/ee_irqstub.h"
143#endif
144
145#ifdef __PIC30__
146#include "cpu/pic30/inc/ee_irqstub.h"
147#endif
148
149#ifdef __X86__
150#include "cpu/x86/inc/ee_irqstub.h"
151#endif
152
153#ifdef __LM32__
154#include "cpu/mico32/inc/ee_irq.h"
155#endif
156
157#if (defined(__PPCE200Z7__)) || (defined(__PPCE200ZX__))
158#include "cpu/e200zx/inc/ee_irq.h"
159#endif
160
161#ifdef __CORTEX_MX__
162#include "cpu/cortex_mx/inc/ee_irq.h"
163#endif
164
165#ifdef __CORTEX_RX__
166#include "cpu/cortex_rx/inc/ee_irq.h"
167#endif
168
169#ifdef __RX200__
170#include "cpu/rx200/inc/ee_irq.h"
171#endif
172
173#ifdef __RH850__
174#include "cpu/rh850/inc/ee_irq.h"
175#endif
176
177#ifdef EE_TRICORE__
178/* #include "cpu/tricore/inc/ee_tc_irq.h" */
179/* #include "cpu/tricore/inc/ee_tc_trap.h" */
180#endif /* EE_TRICORE__ */
181
182#ifdef __ARC_EM6__
183#include "cpu/arc_em6/inc/ee_irq.h"
184#endif
185
186#if defined(__cplusplus)
187};
188#endif
189
190#endif /* INCLUDE_PKG_EE_IRQ_H__ */