annotate packages/kernel/current/include/kapidata.h @ 181:d61da071934c

Merge from eCos master repository on 2001-08-22-06:38:55-BST
author jlarmour
date Wed, 22 Aug 2001 06:27:14 +0000
parents 4c750ce71ae3
children f62680ef1804
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1 #ifndef CYGONCE_KERNEL_KAPIDATA_H
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
2 #define CYGONCE_KERNEL_KAPIDATA_H
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
3
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
4 /*=============================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
5 //
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
6 // kapidata.h
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
7 //
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
8 // Native API data structures
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
9 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
10 //==========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
11 //####COPYRIGHTBEGIN####
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
12 //
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
13 // -------------------------------------------
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
14 // The contents of this file are subject to the Red Hat eCos Public License
66
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
15 // Version 1.1 (the "License"); you may not use this file except in
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
16 // compliance with the License. You may obtain a copy of the License at
66
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
17 // http://www.redhat.com/
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
18 //
66
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
19 // Software distributed under the License is distributed on an "AS IS"
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
20 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
21 // License for the specific language governing rights and limitations under
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
22 // the License.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
23 //
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
24 // The Original Code is eCos - Embedded Configurable Operating System,
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
25 // released September 30, 1998.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
26 //
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
27 // The Initial Developer of the Original Code is Red Hat.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
28 // Portions created by Red Hat are
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
29 // Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
30 // All Rights Reserved.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
31 // -------------------------------------------
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
32 //
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
33 //####COPYRIGHTEND####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
34 //==========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
35 //#####DESCRIPTIONBEGIN####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
36 //
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
37 // Author(s): nickg
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
38 // Contributors: nickg
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
39 // Date: 1998-03-13
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
40 // Purpose: Native API data structures
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
41 // Description: This file defines the structures used in the native API. The
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
42 // sizes of these structures are dependent on the system
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
43 // configuration and must be kept in step with their real
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
44 // counterparts in the C++ headers.
148
8f2f7615e727 Merge from eCos master repository on 2001-01-12-06:43:03-GMT
jlarmour
parents: 115
diff changeset
45 // IMPORTANT: It is NOT guaranteed that the fields of these
8f2f7615e727 Merge from eCos master repository on 2001-01-12-06:43:03-GMT
jlarmour
parents: 115
diff changeset
46 // structures correspond to the equivalent fields in the
8f2f7615e727 Merge from eCos master repository on 2001-01-12-06:43:03-GMT
jlarmour
parents: 115
diff changeset
47 // C++ classes they shadow.
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
48 // Usage: included by kapi.h
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
49 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
50 //####DESCRIPTIONEND####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
51 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
52 //==========================================================================*/
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
53
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
54 #include <pkgconf/kernel.h>
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
55
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
56 #include <cyg/infra/cyg_type.h>
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
57 #include <cyg/hal/hal_intr.h> // exception defines
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
58
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
59 /*---------------------------------------------------------------------------*/
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
60
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
61 #ifdef __cplusplus
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
62 extern "C" {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
63 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
64
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
65 /*---------------------------------------------------------------------------*/
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
66
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
67 #ifndef CYGNUM_KERNEL_SCHED_BITMAP_SIZE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
68 #if defined(CYGSEM_KERNEL_SCHED_MLQUEUE)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
69 #define CYGNUM_KERNEL_SCHED_BITMAP_SIZE 32
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
70 #elif defined(CYGSEM_KERNEL_SCHED_BITMAP)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
71 #define CYGNUM_KERNEL_SCHED_BITMAP_SIZE 32
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
72 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
73 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
74
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
75 #if CYGNUM_KERNEL_SCHED_BITMAP_SIZE <= 8
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
76 typedef cyg_ucount8 cyg_sched_bitmap;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
77 #elif CYGNUM_KERNEL_SCHED_BITMAP_SIZE <= 16
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
78 typedef cyg_ucount16 cyg_sched_bitmap;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
79 #elif CYGNUM_KERNEL_SCHED_BITMAP_SIZE <= 32
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
80 typedef cyg_ucount32 cyg_sched_bitmap;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
81 #elif CYGNUM_KERNEL_SCHED_BITMAP_SIZE <= 64
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
82 typedef cyg_ucount64 cyg_sched_bitmap;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
83 #else
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
84 #error Bitmaps greater than 64 bits not currently allowed
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
85 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
86
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
87 typedef struct
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
88 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
89 #if defined(CYGSEM_KERNEL_SCHED_BITMAP)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
90
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
91 cyg_sched_bitmap map;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
92
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
93 #elif defined(CYGSEM_KERNEL_SCHED_MLQUEUE)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
94
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
95 cyg_thread *queue;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
96
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
97 #elif defined(CYGSEM_KERNEL_SCHED_LOTTERY)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
98
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
99 cyg_thread *queue;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
100
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
101 #else
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
102
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
103 #error Undefined scheduler type
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
104
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
105 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
106 } cyg_threadqueue;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
107
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
108 /*---------------------------------------------------------------------------*/
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
109
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
110 struct cyg_interrupt
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
111 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
112 cyg_vector_t vector;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
113 cyg_priority_t priority;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
114 cyg_ISR_t *isr;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
115 cyg_DSR_t *dsr;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
116 CYG_ADDRWORD data;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
117
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
118 #ifdef CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
119 cyg_ucount32 dsr_count;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
120 cyg_interrupt *next_dsr;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
121 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
122 #ifdef CYGIMP_KERNEL_INTERRUPTS_CHAIN
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
123 cyg_interrupt *next;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
124 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
125 };
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
126
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
127
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
128 /*---------------------------------------------------------------------------*/
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
129
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
130
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
131 #if defined(CYGIMP_KERNEL_COUNTERS_SINGLE_LIST)
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
132 # define CYG_COUNTER_ALARM_LIST_MEMBER \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
133 cyg_alarm *alarm_list;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
134 #elif defined(CYGIMP_KERNEL_COUNTERS_MULTI_LIST)
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
135 # define CYG_COUNTER_ALARM_LIST_MEMBER \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
136 cyg_alarm *alarm_list[CYGNUM_KERNEL_COUNTERS_MULTI_LIST_SIZE];
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
137 #else
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
138 # define CYG_COUNTER_ALARM_LIST_MEMBER
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
139 #endif
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
140
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
141 #define CYG_COUNTER_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
142 CYG_COUNTER_ALARM_LIST_MEMBER \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
143 cyg_tick_count_t counter; \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
144 cyg_uint32 increment;
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
145
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
146 struct cyg_counter
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
147 {
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
148 CYG_COUNTER_MEMBERS
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
149 };
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
150
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
151 /*---------------------------------------------------------------------------*/
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
152
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
153 struct cyg_clock
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
154 {
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
155 CYG_COUNTER_MEMBERS
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
156 CYG_RESOLUTION_T_MEMBERS
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
157 };
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
158
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
159 /*---------------------------------------------------------------------------*/
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
160
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
161
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
162 #if defined(CYGIMP_KERNEL_COUNTERS_SINGLE_LIST) || \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
163 defined(CYGIMP_KERNEL_COUNTERS_MULTI_LIST)
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
164 # define CYG_ALARM_LIST_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
165 cyg_alarm *next; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
166 cyg_alarm *prev;
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
167 #else
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
168 # define CYG_ALARM_LIST_MEMBERS
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
169 #endif
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
170
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
171 #define CYG_ALARM_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
172 CYG_ALARM_LIST_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
173 cyg_counter *counter; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
174 cyg_alarm_t *alarm; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
175 CYG_ADDRWORD data; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
176 cyg_tick_count_t trigger; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
177 cyg_tick_count_t interval; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
178 cyg_bool enabled;
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
179
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
180 struct cyg_alarm
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
181 {
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
182 CYG_ALARM_MEMBERS
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
183 };
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
184
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
185 /*---------------------------------------------------------------------------*/
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
186 /* Exception controller */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
187
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
188 #ifdef CYGPKG_KERNEL_EXCEPTIONS
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
189
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
190 # ifdef CYGSEM_KERNEL_EXCEPTIONS_DECODE
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
191 # define CYG_EXCEPTION_CONTROL_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
192 cyg_exception_handler_t *exception_handler[CYGNUM_HAL_EXCEPTION_COUNT]; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
193 CYG_ADDRWORD exception_data[CYGNUM_HAL_EXCEPTION_COUNT];
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
194 # else
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
195 # define CYG_EXCEPTION_CONTROL_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
196 cyg_exception_handler_t *exception_handler; /* Handler function */ \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
197 CYG_ADDRWORD exception_data; /* Handler data */
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
198 # endif
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
199
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
200 typedef struct
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
201 {
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
202 CYG_EXCEPTION_CONTROL_MEMBERS
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
203 } cyg_exception_control;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
204
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
205 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
206
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
207 /*---------------------------------------------------------------------------*/
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
208 /* Hardware Thread structure */
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
209
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
210 #ifdef CYGFUN_KERNEL_THREADS_STACK_LIMIT
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
211 # define CYG_HARDWARETHREAD_STACK_LIMIT_MEMBER \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
212 CYG_ADDRESS stack_limit; /* movable stack limit */
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
213 #else
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
214 # define CYG_HARDWARETHREAD_STACK_LIMIT_MEMBER
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
215 #endif
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
216
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
217 #ifdef CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
218 # define CYG_HARDWARETHREAD_SAVED_CONTEXT_MEMBER \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
219 void *saved_context; // If non-zero, this points at a more
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
220 // interesting context than stack_ptr.
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
221 #else
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
222 # define CYG_HARDWARETHREAD_SAVED_CONTEXT_MEMBER
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
223 #endif
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
224
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
225 #define CYG_HARDWARETHREAD_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
226 CYG_ADDRESS stack_base; /* pointer to base of stack area */ \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
227 cyg_uint32 stack_size; /* size of stack area in bytes */ \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
228 CYG_HARDWARETHREAD_STACK_LIMIT_MEMBER \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
229 CYG_ADDRESS stack_ptr; /* pointer to saved state on stack */ \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
230 CYG_ADDRWORD entry_point; /* main entry point (code pointer!) */ \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
231 CYG_ADDRWORD entry_data; /* entry point argument */ \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
232 CYG_HARDWARETHREAD_SAVED_CONTEXT_MEMBER
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
233
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
234 typedef struct
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
235 {
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
236 CYG_HARDWARETHREAD_MEMBERS
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
237 } cyg_hardwarethread;
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
238
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
239 /*---------------------------------------------------------------------------*/
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
240 /* Scheduler Thread structure */
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
241
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
242 #ifdef CYGPKG_KERNEL_SMP_SUPPORT
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
243 # define CYG_SCHEDTHREAD_CPU_MEMBER \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
244 cyg_uint32 cpu; // CPU id of cpu currently running
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
245 #else
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
246 # define CYG_SCHEDTHREAD_CPU_MEMBER
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
247 #endif
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
248
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
249 #ifdef CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
250 # define CYG_SCHEDTHREAD_TIMESLICE_ENABLED_MEMBER \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
251 cyg_bool timeslice_enabled; /* per-thread timeslice enable */
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
252 #else
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
253 # define CYG_SCHEDTHREAD_TIMESLICE_ENABLED_MEMBER
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
254 #endif
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
255
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
256 #if defined(CYGSEM_KERNEL_SCHED_BITMAP)
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
257 # define CYG_SCHEDTHREAD_SCHEDIMP_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
258 cyg_priority_t priority; /* current thread priority */
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
259 #elif defined(CYGSEM_KERNEL_SCHED_MLQUEUE)
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
260 # define CYG_SCHEDTHREAD_SCHEDIMP_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
261 cyg_thread *next; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
262 cyg_thread *prev; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
263 cyg_priority_t priority; /* current thread priority */ \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
264 CYG_SCHEDTHREAD_CPU_MEMBER \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
265 CYG_SCHEDTHREAD_TIMESLICE_ENABLED_MEMBER
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
266 #elif defined(CYGSEM_KERNEL_SCHED_LOTTERY)
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
267 # define CYG_SCHEDTHREAD_SCHEDIMP_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
268 cyg_thread *next; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
269 cyg_thread *prev; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
270 cyg_priority_t priority; /* current thread priority */ \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
271 cyg_priority_t compensation_tickets; /* sleep compensation */
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
272 #else
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
273 # error Undefined scheduler type
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
274 #endif
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
275
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
276 #ifndef CYGSEM_KERNEL_SCHED_ASR_GLOBAL
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
277 # define CYG_SCHEDTHREAD_ASR_NONGLOBAL_MEMBER \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
278 void (*asr)(CYG_ADDRWORD); // ASR function
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
279 #else
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
280 # define CYG_SCHEDTHREAD_ASR_NONGLOBAL_MEMBER
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
281 #endif
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
282
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
283 #ifndef CYGSEM_KERNEL_SCHED_ASR_DATA_GLOBAL
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
284 # define CYG_SCHEDTHREAD_ASR_DATA_NONGLOBAL_MEMBER \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
285 CYG_ADDRWORD asr_data; // ASR data pointer
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
286 #else
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
287 # define CYG_SCHEDTHREAD_ASR_DATA_NONGLOBAL_MEMBER
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
288 #endif
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
289
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
290 #ifdef CYGSEM_KERNEL_SCHED_ASR_SUPPORT
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
291 # define CYG_SCHEDTHREAD_ASR_MEMBER \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
292 volatile cyg_bool asr_inhibit; /* If true, blocks calls to ASRs */ \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
293 volatile cyg_bool asr_pending; /* If true, this thread's ASR */ \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
294 /* should be called. */ \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
295 CYG_SCHEDTHREAD_ASR_NONGLOBAL_MEMBER \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
296 CYG_SCHEDTHREAD_ASR_DATA_NONGLOBAL_MEMBER
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
297 #else
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
298 # define CYG_SCHEDTHREAD_ASR_MEMBER
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
299 #endif
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
300
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
301 #ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_SIMPLE
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
302 # define CYG_SCHEDTHREAD_MUTEX_INV_PROTO_SIMPLE_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
303 cyg_priority_t original_priority; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
304 cyg_bool priority_inherited;
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
305 #else
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
306 # define CYG_SCHEDTHREAD_MUTEX_INV_PROTO_SIMPLE_MEMBERS
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
307 #endif
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
308
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
309 #ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
310 # define CYG_SCHEDTHREAD_MUTEX_INV_PROTO_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
311 cyg_count32 mutex_count; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
312 CYG_SCHEDTHREAD_MUTEX_INV_PROTO_SIMPLE_MEMBERS
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
313 #else
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
314 # define CYG_SCHEDTHREAD_MUTEX_INV_PROTO_MEMBERS
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
315 #endif
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
316
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
317 #define CYG_SCHEDTHREAD_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
318 CYG_SCHEDTHREAD_SCHEDIMP_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
319 cyg_threadqueue *queue; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
320 CYG_SCHEDTHREAD_ASR_MEMBER \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
321 CYG_SCHEDTHREAD_MUTEX_INV_PROTO_MEMBERS
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
322
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
323
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
324 typedef struct
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
325 {
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
326 CYG_SCHEDTHREAD_MEMBERS
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
327 } cyg_schedthread;
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
328
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
329 #define CYG_THREADTIMER_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
330 CYG_ALARM_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
331 cyg_thread *thread;
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
332
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
333 /*---------------------------------------------------------------------------*/
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
334 /* Thread structure */
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
335
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
336 typedef struct
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
337 {
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
338 CYG_THREADTIMER_MEMBERS
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
339 } cyg_threadtimer;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
340
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
341
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
342 typedef int cyg_reason_t; /* cyg_reason is originally an enum */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
343
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
344 #if defined(CYGPKG_KERNEL_EXCEPTIONS) && !defined(CYGSEM_KERNEL_EXCEPTIONS_GLOBAL)
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
345 # define CYG_THREAD_EXCEPTION_CONTROL_MEMBER \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
346 cyg_exception_control exception_control;
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
347 #else
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
348 # define CYG_THREAD_EXCEPTION_CONTROL_MEMBER
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
349 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
350
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
351 #ifdef CYGFUN_KERNEL_THREADS_TIMER
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
352 # define CYG_THREAD_TIMER_MEMBER \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
353 cyg_threadtimer timer;
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
354 #else
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
355 # define CYG_THREAD_TIMER_MEMBER
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
356 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
357
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
358 #ifdef CYGVAR_KERNEL_THREADS_DATA
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
359 # define CYG_THREAD_THREAD_DATA_MEMBER \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
360 CYG_ADDRWORD thread_data[CYGNUM_KERNEL_THREADS_DATA_MAX];
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
361 #else
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
362 # define CYG_THREAD_THREAD_DATA_MEMBER
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
363 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
364
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
365 #ifdef CYGVAR_KERNEL_THREADS_NAME
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
366 # define CYG_THREAD_NAME_MEMBER \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
367 char *name;
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
368 #else
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
369 # define CYG_THREAD_NAME_MEMBER
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
370 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
371
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
372 #ifdef CYGVAR_KERNEL_THREADS_LIST
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
373 # define CYG_THREAD_LIST_NEXT_MEMBER \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
374 cyg_thread *list_next;
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
375 #else
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
376 # define CYG_THREAD_LIST_NEXT_MEMBER
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
377 #endif
181
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
378
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
379 #define CYG_THREAD_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
380 CYG_HARDWARETHREAD_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
381 CYG_SCHEDTHREAD_MEMBERS \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
382 \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
383 cyg_uint32 state; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
384 cyg_ucount32 suspend_count; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
385 cyg_ucount32 wakeup_count; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
386 CYG_ADDRWORD wait_info; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
387 cyg_uint16 unique_id; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
388 \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
389 CYG_THREAD_EXCEPTION_CONTROL_MEMBER \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
390 CYG_THREAD_TIMER_MEMBER \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
391 \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
392 cyg_reason_t sleep_reason; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
393 cyg_reason_t wake_reason; \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
394 \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
395 CYG_THREAD_THREAD_DATA_MEMBER \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
396 CYG_THREAD_NAME_MEMBER \
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
397 CYG_THREAD_LIST_NEXT_MEMBER
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
398
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
399
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
400 struct cyg_thread
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
401 {
d61da071934c Merge from eCos master repository on 2001-08-22-06:38:55-BST
jlarmour
parents: 177
diff changeset
402 CYG_THREAD_MEMBERS
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
403 };
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
404
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
405 /*---------------------------------------------------------------------------*/
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
406
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
407 struct cyg_mbox
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
408 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
409 cyg_count32 base; /* index of first used slot */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
410 cyg_count32 count; /* count of used slots */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
411 cyg_threadqueue get_threadq; /* Queue of waiting threads */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
412 #ifdef CYGMFN_KERNEL_SYNCH_MBOXT_PUT_CAN_WAIT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
413 cyg_threadqueue put_threadq; /* Queue of waiting threads */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
414 #endif
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
415 void * itemqueue[ CYGNUM_KERNEL_SYNCH_MBOX_QUEUE_SIZE ];
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
416 };
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
417
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
418 /*---------------------------------------------------------------------------*/
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
419
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
420 struct cyg_sem_t
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
421 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
422 cyg_count32 count; /* The semaphore count */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
423 cyg_threadqueue queue; /* Queue of waiting threads */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
424 };
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
425
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
426 /*---------------------------------------------------------------------------*/
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
427
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
428 struct cyg_flag_t
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
429 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
430 cyg_flag_value_t value; /* The flag value */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
431 cyg_threadqueue queue; /* Queue of waiting threads */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
432 };
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
433
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
434 /*---------------------------------------------------------------------------*/
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
435
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
436 struct cyg_mutex_t
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
437 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
438 cyg_bool locked; /* true if locked */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
439 cyg_thread *owner; /* Current locking thread */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
440 cyg_threadqueue queue; /* Queue of waiting threads */
115
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents: 66
diff changeset
441
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents: 66
diff changeset
442 #ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DYNAMIC
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents: 66
diff changeset
443 cyg_uint32 protocol; /* this mutex's protocol */
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents: 66
diff changeset
444 #endif
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents: 66
diff changeset
445 #ifdef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents: 66
diff changeset
446 cyg_priority_t ceiling; /* mutex priority ceiling */
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents: 66
diff changeset
447 #endif
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
448
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
449 };
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
450
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
451 /*---------------------------------------------------------------------------*/
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
452
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
453 struct cyg_cond_t
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
454 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
455 cyg_mutex_t *mutex; /* Associated mutex */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
456 cyg_threadqueue queue; /* Queue of waiting threads */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
457 };
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
458
115
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents: 66
diff changeset
459 /*------------------------------------------------------------------------*/
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
460
177
4c750ce71ae3 Merge from eCos master repository on 2001-08-10-19:22:57-BST
jlarmour
parents: 148
diff changeset
461 struct cyg_spinlock_t
4c750ce71ae3 Merge from eCos master repository on 2001-08-10-19:22:57-BST
jlarmour
parents: 148
diff changeset
462 {
4c750ce71ae3 Merge from eCos master repository on 2001-08-10-19:22:57-BST
jlarmour
parents: 148
diff changeset
463 cyg_atomic lock; /* lock word */
4c750ce71ae3 Merge from eCos master repository on 2001-08-10-19:22:57-BST
jlarmour
parents: 148
diff changeset
464 };
4c750ce71ae3 Merge from eCos master repository on 2001-08-10-19:22:57-BST
jlarmour
parents: 148
diff changeset
465
4c750ce71ae3 Merge from eCos master repository on 2001-08-10-19:22:57-BST
jlarmour
parents: 148
diff changeset
466 /*------------------------------------------------------------------------*/
4c750ce71ae3 Merge from eCos master repository on 2001-08-10-19:22:57-BST
jlarmour
parents: 148
diff changeset
467
115
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents: 66
diff changeset
468 /* Memory allocator types now come from the "memalloc" package which is */
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents: 66
diff changeset
469 /* where the implementation lives. */
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
470
115
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents: 66
diff changeset
471 #include <cyg/memalloc/kapidata.h>
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
472
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
473 #ifdef __cplusplus
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
474 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
475 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
476
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
477 /*---------------------------------------------------------------------------*/
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
478 /* EOF kapidata.h */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
479 #endif /* CYGONCE_KERNEL_KAPIDATA_H */