Mercurial > ecos
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 |
