blob: 1680975e7b54e27232e3181c94999917a492dcef [file] [log] [blame]
/* ###*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__ */