| /* ###*B*### |
| * ERIKA Enterprise - a tiny RTOS for small microcontrollers |
| * |
| * Copyright (C) 2002-2014 Evidence Srl |
| * |
| * This file is part of ERIKA Enterprise. |
| * |
| * ERIKA Enterprise is free software; you can redistribute it |
| * and/or modify it under the terms of the GNU General Public License |
| * version 2 as published by the Free Software Foundation, |
| * (with a special exception described below). |
| * |
| * Linking this code statically or dynamically with other modules is |
| * making a combined work based on this code. Thus, the terms and |
| * conditions of the GNU General Public License cover the whole |
| * combination. |
| * |
| * As a special exception, the copyright holders of this library give you |
| * permission to link this code with independent modules to produce an |
| * executable, regardless of the license terms of these independent |
| * modules, and to copy and distribute the resulting executable under |
| * terms of your choice, provided that you also meet, for each linked |
| * independent module, the terms and conditions of the license of that |
| * module. An independent module is a module which is not derived from |
| * or based on this library. If you modify this code, you may extend |
| * this exception to your version of the code, but you are not |
| * obligated to do so. If you do not wish to do so, delete this |
| * exception statement from your version. |
| * |
| * ERIKA Enterprise is distributed in the hope that it will be |
| * useful, but WITHOUT ANY WARRANTY; without even the implied warranty |
| * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License version 2 for more details. |
| * |
| * You should have received a copy of the GNU General Public License |
| * version 2 along with ERIKA Enterprise; if not, write to the |
| * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| * Boston, MA 02110-1301 USA. |
| * ###*E*### */ |
| |
| /** |
| * @author Errico Guidieri |
| * @date 2012 |
| **/ |
| |
| /******************************************************************************* |
| * Interface header to access IRQ API and Macros support. |
| ******************************************************************************/ |
| |
| #ifndef PKG_EE_IRQ_H |
| #define PKG_EE_IRQ_H |
| |
| #include "eecfg.h" |
| |
| #if defined(__cplusplus) |
| extern "C" { |
| #endif |
| |
| /* |
| * |
| * CPU |
| * |
| */ |
| |
| #ifdef __AVR8__ |
| #include "cpu/avr8/inc/ee_avr8_cpu.h" |
| #endif |
| |
| /* Freescale */ |
| #if (defined(__MC9S12__)) || (defined(__HCS12XS__)) |
| #include "cpu/hs12xs/inc/ee_cpu.h" |
| #endif |
| |
| #ifdef __PIC30__ |
| #include "cpu/pic30/inc/ee_cpu.h" |
| #endif |
| |
| #ifdef __LM32__ |
| #include "cpu/mico32/inc/ee_cpu.h" |
| #endif |
| |
| #if (defined(__PPCE200Z7__)) || (defined(__PPCE200ZX__)) |
| #include "cpu/e200zx/inc/ee_cpu.h" |
| #endif /* defined __PPCE200Z7__ || defined __PPCE200ZX__ */ |
| |
| #ifdef __CORTEX_MX__ |
| #include "cpu/cortex_mx/inc/ee_cpu.h" |
| #endif |
| |
| #ifdef __X86__ |
| #include "cpu/x86/inc/ee_cpu.h" |
| #endif |
| |
| #ifdef EE_CORTEX_AX_XENPV__ |
| #include "cpu/cortex_ax_xenpv/inc/ee_cax_cpu.h" |
| #endif /* EE_CORTEX_AX_XENPV__ */ |
| |
| #ifdef __CORTEX_RX__ |
| #include "cpu/cortex_rx/inc/ee_cpu.h" |
| #endif |
| |
| #ifdef __ARC_EM6__ |
| #include "cpu/arc_em6/inc/ee_cpu.h" |
| #endif /* __ARC_EM6__ */ |
| /* |
| * I need kernel inclusion before IRQ CPU inclusion because is CPU layer that |
| * have to see Kernel API for IRQ Handling |
| */ |
| |
| /* |
| * Kernel |
| * |
| */ |
| #ifdef __FP__ |
| #include "kernel/fp/inc/ee_irq.h" |
| #endif |
| |
| #ifdef __EDF__ |
| #include "kernel/edf/inc/ee_irq.h" |
| #endif |
| |
| #ifdef __FRSH__ |
| #include "kernel/frsh/inc/ee_irq.h" |
| #endif |
| |
| /* OO */ |
| #if (defined(__OO_BCC1__)) || (defined(__OO_BCC2__)) \ |
| || (defined(__OO_ECC1__)) || (defined(__OO_ECC2__)) || (defined(__AS_SC4__)) |
| #include "kernel/oo/inc/ee_oo_irq.h" |
| #endif |
| |
| /* |
| * CPU |
| */ |
| |
| #ifdef __AVR8__ |
| #include "cpu/avr8/inc/ee_avr8_irq.h" |
| #endif |
| |
| /* Freescale */ |
| #if (defined(__MC9S12__)) || (defined(__HCS12XS__)) |
| #include "cpu/hs12xs/inc/ee_irqstub.h" |
| #endif |
| |
| #ifdef __PIC30__ |
| #include "cpu/pic30/inc/ee_irqstub.h" |
| #endif |
| |
| #ifdef __X86__ |
| #include "cpu/x86/inc/ee_irqstub.h" |
| #endif |
| |
| #ifdef __LM32__ |
| #include "cpu/mico32/inc/ee_irq.h" |
| #endif |
| |
| #if (defined(__PPCE200Z7__)) || (defined(__PPCE200ZX__)) |
| #include "cpu/e200zx/inc/ee_irq.h" |
| #endif |
| |
| #ifdef __CORTEX_MX__ |
| #include "cpu/cortex_mx/inc/ee_irq.h" |
| #endif |
| |
| #ifdef __CORTEX_RX__ |
| #include "cpu/cortex_rx/inc/ee_irq.h" |
| #endif |
| |
| #ifdef __RX200__ |
| #include "cpu/rx200/inc/ee_irq.h" |
| #endif |
| |
| #ifdef __RH850__ |
| #include "cpu/rh850/inc/ee_irq.h" |
| #endif |
| |
| #ifdef EE_TRICORE__ |
| /* #include "cpu/tricore/inc/ee_tc_irq.h" */ |
| /* #include "cpu/tricore/inc/ee_tc_trap.h" */ |
| #endif /* EE_TRICORE__ */ |
| |
| #ifdef __ARC_EM6__ |
| #include "cpu/arc_em6/inc/ee_irq.h" |
| #endif |
| |
| #if defined(__cplusplus) |
| }; |
| #endif |
| |
| #endif /* INCLUDE_PKG_EE_IRQ_H__ */ |