blob: 9111fa972a4a13fee4eae6643aefa84a0113daea [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-2012 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 Erika Kernel support.
48 ******************************************************************************/
49
50#ifndef INCLUDE_PKG_OS_H__
51#define INCLUDE_PKG_OS_H__
52
53#if defined(__cplusplus)
54extern "C" {
55#endif
56
57/*
58 *
59 * CPU minimal support for OS
60 *
61 */
62
63#if defined __PPCE200Z7__ || defined __PPCE200ZX__
64#include "cpu/e200zx/inc/ee_cpu_os.h"
65#endif /* defined __PPCE200Z7__ || defined __PPCE200ZX__ */
66
67/*
68 * I need kernel inclusion before IRQ CPU inclusion because is CPU layer that
69 * have to see Kernel API for IRQ Handling
70 */
71
72/*
73 * Kernel
74 *
75 */
76#ifdef __FP__
77#include "kernel/fp/inc/ee_kernel.h"
78#include "kernel/fp/inc/ee_irq.h"
79#endif
80
81#ifdef __EDF__
82#include "kernel/edf/inc/ee_kernel.h"
83#include "kernel/edf/inc/ee_irq.h"
84#endif
85
86#ifdef __FRSH__
87#include "kernel/frsh/inc/ee_kernel.h"
88#include "kernel/frsh/inc/ee_irq.h"
89#endif
90
91/* OO */
92#if defined(__OO_BCC1__) || defined(__OO_BCC2__) || defined(__OO_ECC1__) || \
93 defined(__OO_ECC2__) || defined(__AS_SC4__)
94#include "kernel/oo/inc/ee_oo_kernel.h"
95#include "kernel/oo/inc/ee_oo_irq.h"
96#if defined(__MSRP__) || defined(EE_AS_OSAPPLICATIONS__)
97#include "kernel/as/inc/ee_as_kernel.h"
98
99#ifdef EE_AS_IOC__
100#include "kernel/as/inc/ee_as_ioc.h"
101/* WARNING
102 * The following file SHALL be generated by IOC Generator: if you are using
103 * Erika IOC implementation without a generator you MUST provide it in your
104 * project root. */
105#include "ioc_common.h"
106#endif /* EE_AS_IOC__ */
107#endif /* __MSRP__ || EE_AS_OSAPPLICATIONS__ */
108#endif
109
110/*
111 * CPU IRQ support
112 */
113
114#if defined __PPCE200Z7__ || defined __PPCE200ZX__
115#include "cpu/e200zx/inc/ee_irq.h"
116#endif
117
118/* kernel API inclusion */
119#include "ee_api.h"
120
121#if defined(__cplusplus)
122};
123#endif
124
125
126#endif /* INCLUDE_PKG_OS_H__ */