comparison packages/compat/posix/current/cdl/pthread.cdl @ 115:6ed91473a1cd ecos-sw-2000-08-21

Merge from eCos master repository on 2000-08-21-22:40:54-BST
author jlarmour
date Fri, 25 Aug 2000 17:32:38 +0000
parents
children d397fc472bcf
comparison
equal deleted inserted replaced
114:5ad2b71d525e 115:6ed91473a1cd
1 # ====================================================================
2 #
3 # pthread.cdl
4 #
5 # POSIX pthread configuration data
6 #
7 # ====================================================================
8 #####COPYRIGHTBEGIN####
9 #
10 # -------------------------------------------
11 # The contents of this file are subject to the Red Hat eCos Public License
12 # Version 1.1 (the "License"); you may not use this file except in
13 # compliance with the License. You may obtain a copy of the License at
14 # http://www.redhat.com/
15 #
16 # Software distributed under the License is distributed on an "AS IS"
17 # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
18 # License for the specific language governing rights and limitations under
19 # the License.
20 #
21 # The Original Code is eCos - Embedded Configurable Operating System,
22 # released September 30, 1998.
23 #
24 # The Initial Developer of the Original Code is Red Hat.
25 # Portions created by Red Hat are
26 # Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
27 # All Rights Reserved.
28 # -------------------------------------------
29 #
30 #####COPYRIGHTEND####
31 # ====================================================================
32 ######DESCRIPTIONBEGIN####
33 #
34 # Author(s): nickg
35 # Contributors: jlarmour
36 # Date: 2000-3-28
37 #
38 #####DESCRIPTIONEND####
39 #
40 # ====================================================================
41
42 cdl_option CYGPKG_POSIX_PTHREAD_REQUIREMENTS {
43 display "Generic requirements of pthread package"
44 flavor bool
45 calculated 1
46 implements CYGINT_ISO_PTHREADTYPES
47 implements CYGINT_ISO_PTHREAD_IMPL
48 requires CYGPKG_POSIX_SCHED
49 requires CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE
50 requires CYGSEM_KERNEL_SCHED_ASR_SUPPORT
51 requires CYGSEM_KERNEL_SCHED_ASR_GLOBAL
52 requires !CYGSEM_KERNEL_SCHED_ASR_DATA_GLOBAL
53 requires CYGFUN_KERNEL_THREADS_STACK_LIMIT
54 requires { CYGBLD_ISO_PTHREADTYPES_HEADER == \
55 "<cyg/posix/types.h>" }
56 requires { CYGBLD_ISO_PTHREAD_IMPL_HEADER == \
57 "<cyg/posix/pthread.h>" }
58 description "This option exists merely to carry the pthread
59 package requirements."
60
61 }
62
63 cdl_option _POSIX_THREAD_PRIO_INHERIT {
64 display "POSIX mutex priority inheritance feature test macro"
65 flavor bool
66 default_value 1
67 requires CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT
68 description "This option defines the POSIX feature test macro
69 for supporting priority inheritance protocol in mutexes."
70 }
71
72 cdl_option _POSIX_THREAD_PRIO_PROTECT {
73 display "POSIX mutex priority ceiling feature test macro"
74 flavor bool
75 default_value 1
76 requires CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING
77 description "This option defines the POSIX feature test macro
78 for supporting priority ceiling protocol in mutexes."
79 }
80
81 # ====================================================================
82
83 cdl_component CYGPKG_POSIX_PTHREAD_VALUES {
84 display "Constant values used in pthread package"
85 flavor bool
86 calculated 1
87 description "These are values that are either configurable, or derived
88 from system parameters."
89
90 cdl_option CYGNUM_POSIX_PTHREAD_DESTRUCTOR_ITERATIONS {
91 display "Maximum number of iterations of key destructors"
92 flavor data
93 legal_values 4 to 100
94 default_value 4
95 description "Maximum number of iterations of key destructors allowed."
96 }
97
98 cdl_option CYGNUM_POSIX_PTHREAD_KEYS_MAX {
99 display "Maximum number of per-thread data keys allowed"
100 flavor data
101 legal_values 128 to 65535
102 default_value 128
103 description "Number of per-thread data keys supported."
104 }
105
106 cdl_option CYGNUM_POSIX_PTHREAD_THREADS_MAX {
107 display "Maximum number of threads allowed"
108 flavor data
109 legal_values 64 to 1024
110 default_value 64
111 description "Maximum number of threads supported."
112 }
113
114 }
115
116 # ====================================================================
117
118 cdl_component CYGPKG_POSIX_PTHREAD_FEATURES {
119 display "Fixed Feature test macros for POSIX"
120 flavor bool
121 calculated 1
122 description "These options define POSIX feature test macros that
123 describe the eCos implementation of pthreads. These
124 are not changeable configuration options."
125
126 cdl_option _POSIX_THREADS {
127 display "POSIX thread support feature test macro"
128 flavor bool
129 calculated 1
130 requires CYGSEM_KERNEL_SCHED_TIMESLICE
131 requires CYGVAR_KERNEL_THREADS_DATA
132 description "This option defines the POSIX feature test macro
133 for thread support."
134 }
135
136 cdl_option _POSIX_THREAD_PRIORITY_SCHEDULING {
137 display "POSIX thread priority scheduling feature test macro"
138 flavor bool
139 calculated 1
140 requires CYGSEM_KERNEL_SCHED_MLQUEUE
141 requires _POSIX_THREADS
142 description "This option defines the POSIX feature test macro
143 for thread priority scheduling support."
144 }
145
146 cdl_option _POSIX_THREAD_ATTR_STACKADDR {
147 display "POSIX stack address attribute feature test macro"
148 flavor bool
149 calculated 1
150 description "This option defines the POSIX feature test macro
151 for supporting the thread stack address in the thread
152 attribute object."
153 }
154
155 cdl_option _POSIX_THREAD_ATTR_STACKSIZE {
156 display "POSIX stack size attribute feature test macro"
157 flavor bool
158 calculated 1
159 description "This option defines the POSIX feature test macro
160 for supporting the thread stack size in the thread
161 attribute object."
162 }
163
164 cdl_option _POSIX_THREAD_PROCESS_SHARED {
165 display "POSIX process shared attribute feature test macro"
166 flavor bool
167 calculated 0
168 description "This option defines the POSIX feature test macro
169 for supporting process shared mutexes. Since eCos
170 does not have processes, this attribute is undefined."
171 }
172
173 }
174
175 # ====================================================================
176
177 cdl_component CYGPKG_POSIX_MAIN_THREAD {
178 display "Main thread configuration"
179 flavor bool
180 calculated 1
181 requires { 0 != CYGPKG_LIBC_STARTUP }
182 requires CYGSEM_LIBC_STARTUP_MAIN_OTHER
183 description "These options control the thread used to
184 run the main() application entry routine."
185
186 cdl_option CYGNUM_POSIX_MAIN_DEFAULT_STACK_SIZE {
187 display "main()'s default thread stack size"
188 flavor data
189 legal_values 16 to 0x7fffffff
190 default_value 8192
191 description "
192 POSIX compatibility requires that the application's
193 main() function be invoked in a thread.
194 This option controls the size of that thread's
195 stack, which is allocated in the BSS. It
196 must be a multiple of 8. Note, a low number
197 here may be overriden by the HAL if there is
198 a minimum requirement to process interrupts
199 etc."
200 }
201
202 cdl_option CYGNUM_POSIX_MAIN_DEFAULT_PRIORITY {
203 display "main()'s default thread priority"
204 flavor data
205 legal_values 0 to 31
206 default_value 30
207 description "
208 POSIX compatibility requires that the application's
209 main() function be invoked in a thread.
210 This option controls the priority of that thread. Its
211 default value makes it the second highest priority in
212 the system."
213 }
214 }
215
216 # ====================================================================
217 # End of pthread.cdl
218
219