TX53 Release 2011-12-20
[karo-tx-redboot.git] / config / TX37-50x0.ecc
1 # eCos saved configuration
2
3 # ---- commands --------------------------------------------------------
4 # This section contains information about the savefile format.
5 # It should not be edited. Any modifications made to this section
6 # may make it impossible for the configuration tools to read
7 # the savefile.
8
9 cdl_savefile_version 1;
10 cdl_savefile_command cdl_savefile_version {};
11 cdl_savefile_command cdl_savefile_command {};
12 cdl_savefile_command cdl_configuration { description hardware template package };
13 cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
14 cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
15 cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
16 cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
17
18 # ---- toplevel --------------------------------------------------------
19 # This section defines the toplevel configuration object. The only
20 # values that can be changed are the name of the configuration and
21 # the description field. It is not possible to modify the target,
22 # the template or the set of packages simply by editing the lines
23 # below because these changes have wide-ranging effects. Instead
24 # the appropriate tools should be used to make such modifications.
25
26 cdl_configuration eCos {
27     description "" ;
28
29     # These fields should not be modified.
30     hardware    tx37karo ;
31     template    redboot ;
32     package -hardware CYGPKG_HAL_ARM current ;
33     package -hardware CYGPKG_HAL_ARM_MX37 current ;
34     package -hardware CYGPKG_HAL_ARM_TX37KARO current ;
35     package -template CYGPKG_HAL current ;
36     package -template CYGPKG_INFRA current ;
37     package -template CYGPKG_REDBOOT current ;
38     package -template CYGPKG_ISOINFRA current ;
39     package -template CYGPKG_LIBC_STRING current ;
40     package -template CYGPKG_CRC current ;
41     package -hardware CYGPKG_IO_ETH_DRIVERS current ;
42     package -hardware CYGPKG_DEVS_ETH_ARM_TX37 current ;
43     package -hardware CYGPKG_DEVS_ETH_FEC current ;
44     package -hardware CYGPKG_COMPRESS_ZLIB current ;
45     package -hardware CYGPKG_IO_FLASH current ;
46     package -hardware CYGPKG_DEVS_FLASH_ONMXC current ;
47     package -template CYGPKG_MEMALLOC current ;
48     package -template CYGPKG_DEVS_ETH_PHY current ;
49     package -template CYGPKG_LIBC_I18N current ;
50     package -template CYGPKG_LIBC_STDLIB current ;
51     package -template CYGPKG_ERROR current ;
52 };
53
54 # ---- conflicts -------------------------------------------------------
55 # There are no conflicts.
56
57 # ---- contents --------------------------------------------------------
58 # >
59 # >
60 # Global build options
61 # Global build options including control over
62 # compiler flags, linker flags and choice of toolchain.
63 #
64 cdl_component CYGBLD_GLOBAL_OPTIONS {
65     # There is no associated value.
66
67     # The following properties are affected by this value
68 };
69
70 # >
71 # Global command prefix
72 # This option specifies the command prefix used when
73 # invoking the build tools.
74 #
75 cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
76     # Flavor: data
77     # No user value, uncomment the following line to provide one.
78     # user_value arm-1136jfs-linux-gnu
79     # value_source default
80     # Default value: arm-1136jfs-linux-gnu
81 };
82
83 # Global compiler flags
84 # This option controls the global compiler flags which are used to
85 # compile all packages by default. Individual packages may define
86 # options which override these global flags.
87 #
88 cdl_option CYGBLD_GLOBAL_CFLAGS {
89     # Flavor: data
90     # No user value, uncomment the following line to provide one.
91     # user_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe"
92     # value_source default
93     # Default value: "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe"
94     # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
95     #     CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1
96     #   --> 1
97
98     # The following properties are affected by this value
99     # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
100     #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
101     # option CYGBLD_INFRA_CFLAGS_PIPE
102     #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
103 };
104
105 # Global linker flags
106 # This option controls the global linker flags. Individual
107 # packages may define options which override these global flags.
108 #
109 cdl_option CYGBLD_GLOBAL_LDFLAGS {
110     # Flavor: data
111     # No user value, uncomment the following line to provide one.
112     # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
113     # value_source default
114     # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
115 };
116
117 # Build common GDB stub ROM image
118 # Unless a target board has specific requirements to the
119 # stub implementation, it can use a simple common stub.
120 # This option, which gets enabled by platform HALs as
121 # appropriate, controls the building of the common stub.
122 #
123 cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
124     # Flavor: bool
125     # No user value, uncomment the following line to provide one.
126     # user_value 0
127     # value_source default
128     # Default value: 0
129     # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
130     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
131     #   --> 0
132 };
133
134 # <
135 # ISO C library string functions
136 # doc: ref/libc.html
137 # This package provides string functions specified by the
138 # ISO C standard - ISO/IEC 9899:1990.
139 #
140 cdl_package CYGPKG_LIBC_STRING {
141     # Packages cannot be added or removed, nor can their version be changed,
142     # simply by editing their value. Instead the appropriate configuration
143     # should be used to perform these actions.
144
145     # This value cannot be modified here.
146     # Flavor: booldata
147     # Current value: 1 current
148     # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
149     #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
150     #   --> 1
151     # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
152     #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
153     #   --> 1
154     # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
155     #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
156     #   --> 1
157     # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
158     #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
159     #   --> 1
160     # Requires: CYGPKG_ISOINFRA
161     #     CYGPKG_ISOINFRA == current
162     #   --> 1
163 };
164
165 # >
166 # Inline versions of <string.h> functions
167 # This option chooses whether some of the
168 # particularly simple string functions from
169 # <string.h> are available as inline
170 # functions. This may improve performance, and as
171 # the functions are small, may even improve code
172 # size.
173 #
174 cdl_option CYGIMP_LIBC_STRING_INLINES {
175     # Flavor: bool
176     # No user value, uncomment the following line to provide one.
177     # user_value 1
178     # value_source default
179     # Default value: 1
180 };
181
182 # Optimize string functions for code size
183 # This option tries to reduce string function
184 # code size at the expense of execution speed. The
185 # same effect can be produced if the code is
186 # compiled with the -Os option to the compiler.
187 #
188 cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
189     # Flavor: bool
190     # No user value, uncomment the following line to provide one.
191     # user_value 0
192     # value_source default
193     # Default value: 0
194 };
195
196 # Provide BSD compatibility functions
197 # Enabling this option causes various compatibility functions
198 # commonly found in the BSD UNIX operating system to be included.
199 # These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
200 # strncasecmp, index, rindex and swab.
201 #
202 cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
203     # Flavor: bool
204     # No user value, uncomment the following line to provide one.
205     # user_value 1
206     # The inferred value should not be edited directly.
207     inferred_value 0
208     # value_source inferred
209     # Default value: 1
210     # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
211     #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
212     #   --> 1
213     # Requires: CYGINT_ISO_CTYPE
214     #     CYGINT_ISO_CTYPE == 1
215     #   --> 1
216 };
217
218 # strtok
219 # These options control the behaviour of the
220 # strtok() and strtok_r() string tokenization
221 # functions.
222 #
223 cdl_component CYGPKG_LIBC_STRING_STRTOK {
224     # There is no associated value.
225 };
226
227 # >
228 # Per-thread strtok()
229 # This option controls whether the string function
230 # strtok() has its state recorded on a per-thread
231 # basis rather than global. If this option is
232 # disabled, some per-thread space can be saved.
233 # Note there is also a POSIX-standard strtok_r()
234 # function to achieve a similar effect with user
235 # support. Enabling this option will use one slot
236 # of kernel per-thread data. You should ensure you
237 # have enough slots configured for all your
238 # per-thread data.
239 #
240 cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
241     # This option is not active
242     # ActiveIf constraint: CYGPKG_KERNEL
243     #     CYGPKG_KERNEL (unknown) == 0
244     #   --> 0
245
246     # Flavor: bool
247     # No user value, uncomment the following line to provide one.
248     # user_value 0
249     # value_source default
250     # Default value: CYGVAR_KERNEL_THREADS_DATA
251     #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
252     #   --> 0
253     # Requires: CYGVAR_KERNEL_THREADS_DATA
254     #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
255     #   --> 0
256 };
257
258 # Tracing level
259 # Trace verbosity level for debugging the <string.h>
260 # functions strtok() and strtok_r(). Increase this
261 # value to get additional trace output.
262 #
263 cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
264     # Flavor: data
265     # No user value, uncomment the following line to provide one.
266     # user_value 0
267     # value_source default
268     # Default value: 0
269     # Legal values: 0 to 1
270 };
271
272 # <
273 # strdup
274 # This option indicates whether strdup() is to be supported.
275 #
276 cdl_option CYGFUN_LIBC_STRING_STRDUP {
277     # ActiveIf constraint: CYGINT_ISO_MALLOC
278     #     CYGINT_ISO_MALLOC == 1
279     #   --> 1
280
281     # Calculated value: 1
282     # Flavor: bool
283     # Current value: 1
284 };
285
286 # C library string functions build options
287 # Package specific build options including control over
288 # compiler flags used only in building this package,
289 # and details of which tests are built.
290 #
291 cdl_component CYGPKG_LIBC_STRING_OPTIONS {
292     # There is no associated value.
293 };
294
295 # >
296 # Additional compiler flags
297 # This option modifies the set of compiler flags for
298 # building the C library. These flags are used in addition
299 # to the set of global flags.
300 #
301 cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
302     # Flavor: data
303     # No user value, uncomment the following line to provide one.
304     # user_value "-fno-rtti -Woverloaded-virtual"
305     # value_source default
306     # Default value: "-fno-rtti -Woverloaded-virtual"
307 };
308
309 # Suppressed compiler flags
310 # This option modifies the set of compiler flags for
311 # building the C library. These flags are removed from
312 # the set of global flags if present.
313 #
314 cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
315     # Flavor: data
316     # No user value, uncomment the following line to provide one.
317     # user_value -Wno-pointer-sign
318     # value_source default
319     # Default value: -Wno-pointer-sign
320 };
321
322 # C library string function tests
323 # This option specifies the set of tests for the C library
324 # string functions.
325 #
326 cdl_option CYGPKG_LIBC_STRING_TESTS {
327     # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
328     # Flavor: data
329     # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
330 };
331
332 # <
333 # <
334 # Common ethernet support
335 # doc: ref/io-eth-drv-generic.html
336 # Platform independent ethernet drivers
337 #
338 cdl_package CYGPKG_IO_ETH_DRIVERS {
339     # Packages cannot be added or removed, nor can their version be changed,
340     # simply by editing their value. Instead the appropriate configuration
341     # should be used to perform these actions.
342
343     # This value cannot be modified here.
344     # Flavor: booldata
345     # Current value: 1 current
346
347     # The following properties are affected by this value
348     # component CYGPKG_REDBOOT_NETWORKING
349     #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
350     # package CYGPKG_DEVS_ETH_ARM_TX37
351     #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
352     # package CYGPKG_DEVS_ETH_FEC
353     #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
354     # package CYGPKG_DEVS_ETH_PHY
355     #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
356 };
357
358 # >
359 # Network drivers
360 #
361 cdl_interface CYGHWR_NET_DRIVERS {
362     # Implemented by CYGPKG_DEVS_ETH_FEC, active, enabled
363     # This value cannot be modified here.
364     # Flavor: data
365     # Current_value: 1
366
367     # The following properties are affected by this value
368     # option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE
369     #     ActiveIf:  CYGHWR_NET_DRIVERS > 1 
370     # option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE
371     #     ActiveIf:  CYGHWR_NET_DRIVERS > 1 
372 };
373
374 # Driver supports multicast addressing
375 # This interface defines whether or not a driver can handle
376 # requests for multicast addressing.
377 #
378 cdl_interface CYGINT_IO_ETH_MULTICAST {
379     # Implemented by CYGPKG_DEVS_ETH_FEC, active, enabled
380     # This value cannot be modified here.
381     # Flavor: data
382     # Current_value: 1
383
384     # The following properties are affected by this value
385 };
386
387 # Support printing driver debug information
388 # Selecting this option will include code to allow the driver to
389 # print lots of information on diagnostic output such as full
390 # packet dumps.
391 #
392 cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
393     # Flavor: bool
394     # No user value, uncomment the following line to provide one.
395     # user_value 1
396     # value_source default
397     # Default value: 1
398 };
399
400 # >
401 # Driver debug output verbosity
402 # The value of this option indicates the default verbosity
403 # level of debugging output. 0 means no debugging output
404 # is made by default. Higher values indicate higher verbosity.
405 # The verbosity level may also be changed at run time by
406 # changing the variable cyg_io_eth_net_debug.
407 #
408 cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
409     # Flavor: data
410     # No user value, uncomment the following line to provide one.
411     # user_value 0
412     # value_source default
413     # Default value: 0
414 };
415
416 # <
417 # Size of scatter-gather I/O lists
418 # A scatter-gather list is used to pass requests to/from
419 # the physical device driver.  This list can typically be
420 # small, as the data is normally already packed into reasonable
421 # chunks.
422 #
423 cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
424     # Flavor: data
425     # No user value, uncomment the following line to provide one.
426     # user_value 32
427     # value_source default
428     # Default value: 32
429 };
430
431 # Support for standard eCos TCP/IP stack.
432 #
433 cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
434     # This option is not active
435     # ActiveIf constraint: CYGPKG_NET
436     #     CYGPKG_NET (unknown) == 0
437     #   --> 0
438
439     # Flavor: bool
440     # No user value, uncomment the following line to provide one.
441     # user_value 1
442     # value_source default
443     # Default value: 1
444     # Requires: CYGINT_ISO_STRING_STRFUNCS
445     #     CYGINT_ISO_STRING_STRFUNCS == 1
446     #   --> 1
447 };
448
449 # >
450 # Warn when there are no more mbufs
451 # Warnings about running out of mbufs are printed to the
452 # diagnostic output channel via diag_printf() if this option
453 # is enabled.  Mbufs are the network stack's basic dynamic
454 # memory objects that hold all packets in transit; running
455 # out is bad for performance but not fatal, not a crash.
456 # You might want to turn off the warnings to preserve realtime
457 # properties of the system even in extremis.
458 #
459 cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
460     # This option is not active
461     # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
462
463     # Flavor: bool
464     # No user value, uncomment the following line to provide one.
465     # user_value 1
466     # value_source default
467     # Default value: 1
468 };
469
470 # Simulate network failures for testing
471 # This package contains a suite of simulated failure modes
472 # for the ethernet device layer, including dropping and/or
473 # corrupting received packets, dropping packets queued for
474 # transmission, and simulating a complete network break.
475 # It requires the kernel as a source of time information.
476 #
477 cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
478     # This option is not active
479     # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
480
481     # Flavor: bool
482     # No user value, uncomment the following line to provide one.
483     # user_value 0
484     # value_source default
485     # Default value: 0
486 };
487
488 # >
489 # Drop incoming packets (percentage)
490 #
491 cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
492     # This option is not active
493     # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
494     # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
495
496     # Flavor: booldata
497     # No user value, uncomment the following line to provide one.
498     # user_value 1 10
499     # value_source default
500     # Default value: 1 10
501     # Legal values: 10 50 80
502 };
503
504 # Corrupt incoming packets (percentage)
505 #
506 cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
507     # This option is not active
508     # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
509     # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
510
511     # Flavor: booldata
512     # No user value, uncomment the following line to provide one.
513     # user_value 1 10
514     # value_source default
515     # Default value: 1 10
516     # Legal values: 10 50 80
517 };
518
519 # Drop outgoing packets (percentage)
520 #
521 cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
522     # This option is not active
523     # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
524     # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
525
526     # Flavor: booldata
527     # No user value, uncomment the following line to provide one.
528     # user_value 1 10
529     # value_source default
530     # Default value: 1 10
531     # Legal values: 10 50 80
532 };
533
534 # Simulate a line cut from time to time
535 # This option causes the system to drop all packets for a
536 # short random period (10s of seconds), and then act
537 # normally for up to 4 times that long.  This simulates your
538 # sysadmin fiddling with plugs in the network switch
539 # cupboard.
540 #
541 cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
542     # This option is not active
543     # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
544     # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
545
546     # Flavor: bool
547     # No user value, uncomment the following line to provide one.
548     # user_value 0
549     # value_source default
550     # Default value: 0
551 };
552
553 # <
554 # <
555 # Support for stand-alone network stack.
556 #
557 cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
558     # ActiveIf constraint: !CYGPKG_NET
559     #     CYGPKG_NET (unknown) == 0
560     #   --> 1
561
562     # Flavor: bool
563     # No user value, uncomment the following line to provide one.
564     # user_value 1
565     # value_source default
566     # Default value: 1
567     # Requires: CYGINT_ISO_STRING_MEMFUNCS
568     #     CYGINT_ISO_STRING_MEMFUNCS == 1
569     #   --> 1
570 };
571
572 # >
573 # Pass packets to an alternate stack
574 # Define this to allow packets seen by this layer to be
575 # passed on to the previous logical layer, i.e. when
576 # stand-alone processing replaces system (eCos) processing.
577 #
578 cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
579     # Flavor: bool
580     # No user value, uncomment the following line to provide one.
581     # user_value 1
582     # value_source default
583     # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
584     #     CYGPKG_REDBOOT_NETWORKING == 1
585     #   --> 1
586 };
587
588 # Number of [network] buffers
589 # This option is used to allocate space to buffer incoming network
590 # packets.  These buffers are used to hold data until they can be
591 # logically processed by higher layers.
592 #
593 cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
594     # Flavor: data
595     # No user value, uncomment the following line to provide one.
596     # user_value 4
597     # value_source default
598     # Default value: 4
599     # Legal values: 2 to 32
600 };
601
602 # Show driver warnings
603 # Selecting this option will allows the stand-alone ethernet driver
604 # to display warnings on the system console when incoming network
605 # packets are being discarded due to lack of buffer space.
606 #
607 cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
608     # ActiveIf constraint: CYGPKG_REDBOOT
609     #     CYGPKG_REDBOOT == current
610     #   --> 1
611
612     # Flavor: bool
613     # No user value, uncomment the following line to provide one.
614     # user_value 0
615     # value_source default
616     # Default value: 0
617 };
618
619 # <
620 # Support for lwIP network stack.
621 #
622 cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
623     # This option is not active
624     # ActiveIf constraint: CYGPKG_NET_LWIP
625     #     CYGPKG_NET_LWIP (unknown) == 0
626     #   --> 0
627
628     # Flavor: bool
629     # No user value, uncomment the following line to provide one.
630     # user_value 1
631     # value_source default
632     # Default value: 1
633     # Requires: !CYGPKG_NET
634     #     CYGPKG_NET (unknown) == 0
635     #   --> 1
636 };
637
638 # Interrupt support required
639 # This interface is used to indicate to the low
640 # level device drivers that interrupt driven operation
641 # is required by higher layers.
642 #
643 cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
644     # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
645     # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
646     # This value cannot be modified here.
647     # Flavor: booldata
648     # Current value: 0 0
649
650     # The following properties are affected by this value
651 };
652
653 # Common ethernet support build options
654 #
655 cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
656     # There is no associated value.
657 };
658
659 # >
660 # Additional compiler flags
661 # This option modifies the set of compiler flags for
662 # building the common ethernet support package. These flags are used in addition
663 # to the set of global flags.
664 #
665 cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
666     # Flavor: data
667     # No user value, uncomment the following line to provide one.
668     # user_value "-D_KERNEL -D__ECOS"
669     # value_source default
670     # Default value: "-D_KERNEL -D__ECOS"
671 };
672
673 # <
674 # Ethernet driver for Ka-Ro electronics TX37 processor module
675 #
676 cdl_package CYGPKG_DEVS_ETH_ARM_TX37 {
677     # Packages cannot be added or removed, nor can their version be changed,
678     # simply by editing their value. Instead the appropriate configuration
679     # should be used to perform these actions.
680
681     # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
682     #     CYGPKG_IO_ETH_DRIVERS == current
683     #   --> 1
684
685     # This value cannot be modified here.
686     # Flavor: booldata
687     # Current value: 1 current
688 };
689
690 # >
691 # FEC ethernet driver required
692 #
693 cdl_interface CYGINT_DEVS_ETH_FEC_REQUIRED {
694     # Implemented by CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0, active, enabled
695     # This value cannot be modified here.
696     # Flavor: data
697     # Current_value: 1
698
699     # The following properties are affected by this value
700     # package CYGPKG_DEVS_ETH_FEC
701     #     ActiveIf: CYGINT_DEVS_ETH_FEC_REQUIRED
702 };
703
704 # Ka-Ro TX37 ethernet port driver
705 # This option includes the ethernet device driver for the
706 # MXC Board port.
707 #
708 cdl_component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 {
709     # Flavor: bool
710     # No user value, uncomment the following line to provide one.
711     # user_value 1
712     # value_source default
713     # Default value: 1
714     # Requires: CYGSEM_REDBOOT_PLF_ESA_VALIDATE
715     #     CYGSEM_REDBOOT_PLF_ESA_VALIDATE == 1
716     #   --> 1
717     # Requires: CYGHWR_DEVS_ETH_PHY_LAN8700
718     #     CYGHWR_DEVS_ETH_PHY_LAN8700 == 1
719     #   --> 1
720 };
721
722 # >
723 # Device name for the ETH0 ethernet driver
724 # This option sets the name of the ethernet device.
725 #
726 cdl_option CYGDAT_DEVS_ETH_ARM_MXCBOARD_ETH0_NAME {
727     # Flavor: data
728     # No user value, uncomment the following line to provide one.
729     # user_value "\"eth0\""
730     # value_source default
731     # Default value: "\"eth0\""
732 };
733
734 # OUI part of MAC address
735 # This option sets OUI part (manufacturer ID) of the MAC address
736 # for validation.
737 #
738 cdl_option CYGDAT_DEVS_ETH_ARM_TX37KARO_OUI {
739     # ActiveIf constraint: CYGSEM_REDBOOT_PLF_ESA_VALIDATE
740     #     CYGSEM_REDBOOT_PLF_ESA_VALIDATE == 1
741     #   --> 1
742
743     # Flavor: data
744     # No user value, uncomment the following line to provide one.
745     # user_value "{ 0x00, 0x0c, 0xc6 }"
746     # value_source default
747     # Default value: "{ 0x00, 0x0c, 0xc6 }"
748 };
749
750 # <
751 # <
752 # Driver for fast ethernet controller.
753 # Driver for fast ethernet controller.
754 #
755 cdl_package CYGPKG_DEVS_ETH_FEC {
756     # Packages cannot be added or removed, nor can their version be changed,
757     # simply by editing their value. Instead the appropriate configuration
758     # should be used to perform these actions.
759
760     # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
761     #     CYGPKG_IO_ETH_DRIVERS == current
762     #   --> 1
763     # ActiveIf constraint: CYGINT_DEVS_ETH_FEC_REQUIRED
764     #     CYGINT_DEVS_ETH_FEC_REQUIRED == 1
765     #   --> 1
766
767     # This value cannot be modified here.
768     # Flavor: booldata
769     # Current value: 1 current
770 };
771
772 # >
773 # MXC FEC ethernet driver build options
774 #
775 cdl_component CYGPKG_DEVS_ETH_FEC_OPTIONS {
776     # There is no associated value.
777 };
778
779 # >
780 # Additional compiler flags
781 # This option modifies the set of compiler flags for
782 # building the Cirrus Logic ethernet driver package.
783 # These flags are used in addition
784 # to the set of global flags.
785 #
786 cdl_option CYGPKG_DEVS_ETH_FEC_CFLAGS_ADD {
787     # Flavor: data
788     # No user value, uncomment the following line to provide one.
789     # user_value "-D_KERNEL -D__ECOS"
790     # value_source default
791     # Default value: "-D_KERNEL -D__ECOS"
792 };
793
794 # <
795 # MXC FEC MII Gasket for RMII mode
796 # This option enables the use of the MII Gasket for
797 # RMII mode found in i.MX25 and i.MX53 processors.
798 #
799 cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK {
800     # This option is not active
801     # ActiveIf constraint: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53
802     #     CYGPKG_HAL_ARM_MX25 (unknown) == 0
803     #     CYGPKG_HAL_ARM_MX53 (unknown) == 0
804     #   --> 0
805
806     # Flavor: bool
807     # No user value, uncomment the following line to provide one.
808     # user_value 1
809     # value_source default
810     # Default value: 1
811 };
812
813 # <
814 # Ethernet transceiver (PHY) support
815 # API for ethernet PHY devices
816 #
817 cdl_package CYGPKG_DEVS_ETH_PHY {
818     # Packages cannot be added or removed, nor can their version be changed,
819     # simply by editing their value. Instead the appropriate configuration
820     # should be used to perform these actions.
821
822     # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
823     #     CYGPKG_IO_ETH_DRIVERS == current
824     #   --> 1
825
826     # This value cannot be modified here.
827     # Flavor: booldata
828     # Current value: 1 current
829     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
830     #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
831     #   --> 1
832 };
833
834 # >
835 # Enable driver debugging
836 # Enables the diagnostic debug messages on the
837 # console device.
838 #
839 cdl_option CYGDBG_DEVS_ETH_PHY {
840     # Flavor: bool
841     # No user value, uncomment the following line to provide one.
842     # user_value 0
843     # value_source default
844     # Default value: 0
845 };
846
847 # Time period (seconds) to wait for auto-negotiation
848 # The length of time to wait for auto-negotiation to complete
849 # before giving up and declaring the link dead/missing.
850 #
851 cdl_option CYGINT_DEVS_ETH_PHY_AUTO_NEGOTIATION_TIME {
852     # Flavor: data
853     # No user value, uncomment the following line to provide one.
854     # user_value 5
855     # value_source default
856     # Default value: 5
857 };
858
859 # NSDP83847
860 # Include support for National Semiconductor DP83847 DsPHYTER II
861 #
862 cdl_option CYGHWR_DEVS_ETH_PHY_DP83847 {
863     # Flavor: bool
864     # No user value, uncomment the following line to provide one.
865     # user_value 0
866     # value_source default
867     # Default value: 0
868 };
869
870 # AMD 79C874
871 # Include support for AMD 79C874 NetPHY
872 #
873 cdl_option CYGHWR_DEVS_ETH_PHY_AM79C874 {
874     # Flavor: bool
875     # No user value, uncomment the following line to provide one.
876     # user_value 0
877     # value_source default
878     # Default value: 0
879 };
880
881 # Intel LXT972
882 # Include support for Intel LXT972xxx PHY
883 #
884 cdl_option CYGHWR_DEVS_ETH_PHY_INLXT972 {
885     # Flavor: bool
886     # No user value, uncomment the following line to provide one.
887     # user_value 0
888     # value_source default
889     # Default value: 0
890 };
891
892 # ICS 1890
893 # Include support for ICS 1890 PHY
894 #
895 cdl_option CYGHWR_DEVS_ETH_PHY_ICS1890 {
896     # Flavor: bool
897     # No user value, uncomment the following line to provide one.
898     # user_value 0
899     # value_source default
900     # Default value: 0
901 };
902
903 # ICS 1892
904 # Include support for ICS 1892 PHY
905 #
906 cdl_option CYGHWR_DEVS_ETH_PHY_ICS1892 {
907     # Flavor: bool
908     # No user value, uncomment the following line to provide one.
909     # user_value 0
910     # value_source default
911     # Default value: 0
912 };
913
914 # ICS 1893
915 # Include support for ICS 1893 and 1893AF PHY
916 #
917 cdl_option CYGHWR_DEVS_ETH_PHY_ICS1893 {
918     # Flavor: bool
919     # No user value, uncomment the following line to provide one.
920     # user_value 0
921     # value_source default
922     # Default value: 0
923 };
924
925 # Davicom DM9161A
926 # Include support for the Davicom DM9161A PHY
927 #
928 cdl_option CYGHWR_DEVS_ETH_PHY_DM9161A {
929     # Flavor: bool
930     # No user value, uncomment the following line to provide one.
931     # user_value 0
932     # value_source default
933     # Default value: 0
934 };
935
936 # Micrel KS8721
937 # Include support for the Micrel KS8721 PHY
938 #
939 cdl_option CYGHWR_DEVS_ETH_PHY_KS8721 {
940     # Flavor: bool
941     # No user value, uncomment the following line to provide one.
942     # user_value 0
943     # value_source default
944     # Default value: 0
945 };
946
947 # SMSC LAN8700
948 # Include support for SMSC LAN8700 NetPHY
949 #
950 cdl_option CYGHWR_DEVS_ETH_PHY_LAN8700 {
951     # Flavor: bool
952     # No user value, uncomment the following line to provide one.
953     # user_value 0
954     # The inferred value should not be edited directly.
955     inferred_value 1
956     # value_source inferred
957     # Default value: 0
958
959     # The following properties are affected by this value
960     # component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0
961     #     Requires: CYGHWR_DEVS_ETH_PHY_LAN8700
962 };
963
964 # <
965 # <
966 # ISO C library internationalization functions
967 # doc: ref/libc.html
968 # This package provides internationalization functions specified by the
969 # ISO C standard - ISO/IEC 9899:1990. These include locale-related
970 # functionality and <ctype.h> functionality.
971 #
972 cdl_package CYGPKG_LIBC_I18N {
973     # Packages cannot be added or removed, nor can their version be changed,
974     # simply by editing their value. Instead the appropriate configuration
975     # should be used to perform these actions.
976
977     # This value cannot be modified here.
978     # Flavor: booldata
979     # Current value: 1 current
980     # Requires: CYGPKG_ISOINFRA
981     #     CYGPKG_ISOINFRA == current
982     #   --> 1
983 };
984
985 # >
986 # Supported locales
987 # These options determine which locales other than the "C" locale
988 # are supported and hence contribute to the size of the executable.
989 #
990 cdl_component CYGPKG_LIBC_I18N_LOCALES {
991     # There is no associated value.
992 };
993
994 # >
995 # Support for multiple locales required
996 #
997 cdl_interface CYGINT_LIBC_I18N_MB_REQUIRED {
998     # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_SJIS, active, disabled
999     # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_JIS, active, disabled
1000     # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_EUCJP, active, disabled
1001     # This value cannot be modified here.
1002     # Flavor: booldata
1003     # Current value: 0 0
1004     # Requires:  CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER ==  "<cyg/libc/i18n/mb.h>" 
1005     #     CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER == 0
1006     #   --> 0
1007
1008     # The following properties are affected by this value
1009 };
1010
1011 # C-SJIS locale support
1012 # This option controls if the "C-SJIS" locale will be
1013 # supported by setlocale().  The locale is a hybrid locale
1014 # that is mostly the "C" locale with Japanese SJIS multibyte
1015 # support added.
1016 #
1017 cdl_option CYGFUN_LIBC_I18N_LOCALE_C_SJIS {
1018     # Flavor: bool
1019     # No user value, uncomment the following line to provide one.
1020     # user_value 0
1021     # value_source default
1022     # Default value: 0
1023
1024     # The following properties are affected by this value
1025     # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
1026     #     LegalValues:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
1027     # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
1028     #     DefaultValue:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
1029 };
1030
1031 # C-JIS locale support
1032 # This option controls if the "C-JIS" locale will be
1033 # supported by setlocale().  The locale is a hybrid locale
1034 # that is mostly the "C" locale with Japanese JIS multibyte
1035 # support added.
1036 #
1037 cdl_option CYGFUN_LIBC_I18N_LOCALE_C_JIS {
1038     # Flavor: bool
1039     # No user value, uncomment the following line to provide one.
1040     # user_value 0
1041     # value_source default
1042     # Default value: 0
1043
1044     # The following properties are affected by this value
1045     # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
1046     #     LegalValues:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
1047     # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
1048     #     DefaultValue:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
1049 };
1050
1051 # C-EUCJP locale support
1052 # This option controls if the "C-EUCJP" locale will be
1053 # supported by setlocale().  The locale is a hybrid locale
1054 # that is mostly the "C" locale with Japanese EUCJP multibyte
1055 # support added.
1056 #
1057 cdl_option CYGFUN_LIBC_I18N_LOCALE_C_EUCJP {
1058     # Flavor: bool
1059     # No user value, uncomment the following line to provide one.
1060     # user_value 0
1061     # value_source default
1062     # Default value: 0
1063
1064     # The following properties are affected by this value
1065     # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
1066     #     LegalValues:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
1067     # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
1068     #     DefaultValue:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
1069 };
1070
1071 # <
1072 # Newlib's ctype implementation
1073 # This option enables the implementation of the ctype functions
1074 # that comes with newlib. It is table driven and therefore
1075 # exhibits different performance characteristics. It also offers
1076 # a limited amount of binary compatibility
1077 # with newlib so that programs linked against newlib ctype/locale
1078 # do not need to be recompiled when linked with eCos.
1079 #
1080 cdl_option CYGPKG_LIBC_I18N_NEWLIB_CTYPE {
1081     # Flavor: bool
1082     # No user value, uncomment the following line to provide one.
1083     # user_value 0
1084     # value_source default
1085     # Default value: 0
1086     # Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/newlibctype.h>" 
1087     #     CYGBLD_ISO_CTYPE_HEADER == <cyg/libc/i18n/ctype.inl>
1088     #   --> 0
1089 };
1090
1091 # Per-thread multibyte state
1092 # This option controls whether the multibyte character
1093 # handling functions mblen(), mbtowc(), and wctomb(),
1094 # have their state recorded on a per-thread
1095 # basis rather than global. If this option is
1096 # disabled, some per-thread space can be saved.
1097 # Enabling this option will use three slots
1098 # of kernel per-thread data. You should ensure you
1099 # have enough slots configured for all your
1100 # per-thread data.
1101 #
1102 cdl_option CYGSEM_LIBC_I18N_PER_THREAD_MB {
1103     # This option is not active
1104     # ActiveIf constraint: CYGPKG_KERNEL
1105     #     CYGPKG_KERNEL (unknown) == 0
1106     #   --> 0
1107
1108     # Flavor: bool
1109     # No user value, uncomment the following line to provide one.
1110     # user_value 0
1111     # value_source default
1112     # Default value:  CYGVAR_KERNEL_THREADS_DATA != 0 
1113     #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
1114     #   --> 0
1115     # Requires: CYGVAR_KERNEL_THREADS_DATA
1116     #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
1117     #   --> 0
1118 };
1119
1120 # Size of locale name strings
1121 # This option controls the maximum size of
1122 # locale names and is used, among other things
1123 # to instantiate a static string used
1124 # as a return value from the
1125 # setlocale() function. When requesting the
1126 # current locale settings with LC_ALL, a string
1127 # must be constructed to contain this data, rather
1128 # than just returning a constant string. This
1129 # string data is stored in the static string.
1130 # This depends on the length of locale names,
1131 # hence this option. If just the C locale is
1132 # present, this option can be set as low as 2.
1133 #
1134 cdl_option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE {
1135     # Flavor: data
1136     # No user value, uncomment the following line to provide one.
1137     # user_value 2
1138     # value_source default
1139     # Default value:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
1140     #     CYGFUN_LIBC_I18N_LOCALE_C_EUCJP == 0
1141     #     CYGFUN_LIBC_I18N_LOCALE_C_SJIS == 0
1142     #     CYGFUN_LIBC_I18N_LOCALE_C_JIS == 0
1143     #   --> 2
1144     # Legal values:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
1145     #     CYGFUN_LIBC_I18N_LOCALE_C_EUCJP == 0
1146     #     CYGFUN_LIBC_I18N_LOCALE_C_SJIS == 0
1147     #     CYGFUN_LIBC_I18N_LOCALE_C_JIS == 0
1148 };
1149
1150 # Inline versions of <ctype.h> functions
1151 # This option chooses whether the simple character
1152 # classification and conversion functions (e.g.
1153 # isupper(), isalpha(), toupper(), etc.)
1154 # from <ctype.h> are available as inline
1155 # functions. This may improve performance and as
1156 # the functions are small, may even improve code
1157 # size.
1158 #
1159 cdl_option CYGIMP_LIBC_I18N_CTYPE_INLINES {
1160     # Flavor: bool
1161     # No user value, uncomment the following line to provide one.
1162     # user_value 1
1163     # value_source default
1164     # Default value: 1
1165     # Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/ctype.inl>" 
1166     #     CYGBLD_ISO_CTYPE_HEADER == <cyg/libc/i18n/ctype.inl>
1167     #   --> 1
1168 };
1169
1170 # C library i18n functions build options
1171 # Package specific build options including control over
1172 # compiler flags used only in building this package,
1173 # and details of which tests are built.
1174 #
1175 cdl_component CYGPKG_LIBC_I18N_OPTIONS {
1176     # There is no associated value.
1177 };
1178
1179 # >
1180 # Additional compiler flags
1181 # This option modifies the set of compiler flags for
1182 # building the C library. These flags are used in addition
1183 # to the set of global flags.
1184 #
1185 cdl_option CYGPKG_LIBC_I18N_CFLAGS_ADD {
1186     # Flavor: data
1187     # No user value, uncomment the following line to provide one.
1188     # user_value "-fno-rtti -Woverloaded-virtual"
1189     # value_source default
1190     # Default value: "-fno-rtti -Woverloaded-virtual"
1191 };
1192
1193 # Suppressed compiler flags
1194 # This option modifies the set of compiler flags for
1195 # building the C library. These flags are removed from
1196 # the set of global flags if present.
1197 #
1198 cdl_option CYGPKG_LIBC_I18N_CFLAGS_REMOVE {
1199     # Flavor: data
1200     # No user value, uncomment the following line to provide one.
1201     # user_value -Wno-pointer-sign
1202     # value_source default
1203     # Default value: -Wno-pointer-sign
1204 };
1205
1206 # C library i18n function tests
1207 # This option specifies the set of tests for the C library
1208 # i18n functions.
1209 #
1210 cdl_option CYGPKG_LIBC_I18N_TESTS {
1211     # Calculated value:  "tests/ctype tests/setlocale tests/i18nmb" 
1212     # Flavor: data
1213     # Current_value: tests/ctype tests/setlocale tests/i18nmb
1214 };
1215
1216 # <
1217 # <
1218 # ISO C library general utility functions
1219 # doc: ref/libc.html
1220 # This package provides general utility functions in <stdlib.h>
1221 # as specified by the ISO C standard - ISO/IEC 9899:1990.
1222 #
1223 cdl_package CYGPKG_LIBC_STDLIB {
1224     # Packages cannot be added or removed, nor can their version be changed,
1225     # simply by editing their value. Instead the appropriate configuration
1226     # should be used to perform these actions.
1227
1228     # This value cannot be modified here.
1229     # Flavor: booldata
1230     # Current value: 1 current
1231     # Requires: CYGPKG_ISOINFRA
1232     #     CYGPKG_ISOINFRA == current
1233     #   --> 1
1234     # Requires: CYGINT_ISO_CTYPE
1235     #     CYGINT_ISO_CTYPE == 1
1236     #   --> 1
1237     # Requires: CYGINT_ISO_STRING_STRFUNCS
1238     #     CYGINT_ISO_STRING_STRFUNCS == 1
1239     #   --> 1
1240 };
1241
1242 # >
1243 # Inline versions of <stdlib.h> functions
1244 # This option chooses whether some of the
1245 # particularly simple standard utility functions
1246 # from <stdlib.h> are available as inline
1247 # functions. This may improve performance, and as
1248 # the functions are small, may even improve code
1249 # size.
1250 #
1251 cdl_component CYGIMP_LIBC_STDLIB_INLINES {
1252     # There is no associated value.
1253 };
1254
1255 # >
1256 # abs() / labs()
1257 #
1258 cdl_option CYGIMP_LIBC_STDLIB_INLINE_ABS {
1259     # Flavor: bool
1260     # No user value, uncomment the following line to provide one.
1261     # user_value 1
1262     # value_source default
1263     # Default value: 1
1264     # Requires:  CYGBLD_ISO_STDLIB_ABS_HEADER ==  "<cyg/libc/stdlib/abs.inl>" 
1265     #     CYGBLD_ISO_STDLIB_ABS_HEADER == <cyg/libc/stdlib/abs.inl>
1266     #   --> 1
1267 };
1268
1269 # div() / ldiv()
1270 #
1271 cdl_option CYGIMP_LIBC_STDLIB_INLINE_DIV {
1272     # Flavor: bool
1273     # No user value, uncomment the following line to provide one.
1274     # user_value 1
1275     # value_source default
1276     # Default value: 1
1277     # Requires:  CYGBLD_ISO_STDLIB_DIV_HEADER ==  "<cyg/libc/stdlib/div.inl>" 
1278     #     CYGBLD_ISO_STDLIB_DIV_HEADER == <cyg/libc/stdlib/div.inl>
1279     #   --> 1
1280 };
1281
1282 # atof() / atoi() / atol()
1283 #
1284 cdl_option CYGIMP_LIBC_STDLIB_INLINE_ATOX {
1285     # Flavor: bool
1286     # No user value, uncomment the following line to provide one.
1287     # user_value 1
1288     # value_source default
1289     # Default value: 1
1290     # Requires:  CYGBLD_ISO_STDLIB_STRCONV_HEADER ==  "<cyg/libc/stdlib/atox.inl>" 
1291     #     CYGBLD_ISO_STDLIB_STRCONV_HEADER == <cyg/libc/stdlib/atox.inl>
1292     #   --> 1
1293 };
1294
1295 # <
1296 # Random number generation
1297 # These options control the behaviour of the
1298 # functions rand(), srand() and rand_r()
1299 #
1300 cdl_component CYGPKG_LIBC_RAND {
1301     # There is no associated value.
1302 };
1303
1304 # >
1305 # Per-thread random seed
1306 # doc: ref/libc-thread-safety.html
1307 # This option controls whether the pseudo-random
1308 # number generation functions rand() and srand()
1309 # have their state recorded on a per-thread
1310 # basis rather than global. If this option is
1311 # disabled, some per-thread space can be saved.
1312 # Note there is also a POSIX-standard rand_r()
1313 # function to achieve a similar effect with user
1314 # support. Enabling this option will use one slot
1315 # of kernel per-thread data. You should ensure you
1316 # have enough slots configured for all your
1317 # per-thread data.
1318 #
1319 cdl_option CYGSEM_LIBC_PER_THREAD_RAND {
1320     # Flavor: bool
1321     # No user value, uncomment the following line to provide one.
1322     # user_value 0
1323     # value_source default
1324     # Default value: 0
1325     # Requires: CYGVAR_KERNEL_THREADS_DATA
1326     #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
1327     #   --> 0
1328 };
1329
1330 # Random number seed
1331 # This selects the initial random number seed for
1332 # rand()'s pseudo-random number generator. For
1333 # strict ISO standard compliance, this should be 1,
1334 # as per section 7.10.2.2 of the standard.
1335 #
1336 cdl_option CYGNUM_LIBC_RAND_SEED {
1337     # Flavor: data
1338     # No user value, uncomment the following line to provide one.
1339     # user_value 1
1340     # value_source default
1341     # Default value: 1
1342     # Legal values: 0 to 0x7fffffff
1343 };
1344
1345 # Tracing level
1346 # Trace verbosity level for debugging the rand(),
1347 # srand() and rand_r() functions. Increase this
1348 # value to get additional trace output.
1349 #
1350 cdl_option CYGNUM_LIBC_RAND_TRACE_LEVEL {
1351     # Flavor: data
1352     # No user value, uncomment the following line to provide one.
1353     # user_value 0
1354     # value_source default
1355     # Default value: 0
1356     # Legal values: 0 to 1
1357 };
1358
1359 # Simplest implementation
1360 # This provides a very simple implementation of rand()
1361 # that does not perform well with randomness in the
1362 # lower significant bits. However it is exceptionally
1363 # fast. It uses the sample algorithm from the ISO C
1364 # standard itself.
1365 #
1366 cdl_option CYGIMP_LIBC_RAND_SIMPLEST {
1367     # Flavor: bool
1368     # No user value, uncomment the following line to provide one.
1369     # user_value 0
1370     # value_source default
1371     # Default value: 0
1372 };
1373
1374 # Simple implementation #1
1375 # This provides a very simple implementation of rand()
1376 # based on the simplest implementation above. However
1377 # it does try to work around the lack of randomness
1378 # in the lower significant bits, at the expense of a
1379 # little speed.
1380 #
1381 cdl_option CYGIMP_LIBC_RAND_SIMPLE1 {
1382     # Flavor: bool
1383     user_value 0
1384     # value_source user
1385     # Default value: 1
1386 };
1387
1388 # Knuth implementation #1
1389 # This implements a slightly more complex algorithm
1390 # published in Donald E. Knuth's Art of Computer
1391 # Programming Vol.2 section 3.6 (p.185 in the 3rd ed.).
1392 # This produces better random numbers than the
1393 # simplest approach but is slower.
1394 #
1395 cdl_option CYGIMP_LIBC_RAND_KNUTH1 {
1396     # Flavor: bool
1397     user_value 1
1398     # value_source user
1399     # Default value: 0
1400 };
1401
1402 # <
1403 # Provides strtod()
1404 # This option allows use of the utility function
1405 # strtod() (and consequently atof()) to convert
1406 # from string to double precision floating point
1407 # numbers. Disabling this option removes the
1408 # dependency on the math library package.
1409 #
1410 cdl_option CYGFUN_LIBC_strtod {
1411     # Flavor: bool
1412     # No user value, uncomment the following line to provide one.
1413     # user_value 0
1414     # value_source default
1415     # Default value:  0 != CYGPKG_LIBM 
1416     #     CYGPKG_LIBM (unknown) == 0
1417     #   --> 0
1418     # Requires: CYGPKG_LIBM
1419     #     CYGPKG_LIBM (unknown) == 0
1420     #   --> 0
1421 };
1422
1423 # Provides long long conversion functions
1424 # Enabling this option will provide support for the strtoll(),
1425 # strtoull() and atoll() conversion functions, which are
1426 # the long long variants of the standard versions of these
1427 # functions. Supporting this requires extra code and compile
1428 # time.
1429 #
1430 cdl_option CYGFUN_LIBC_STDLIB_CONV_LONGLONG {
1431     # Flavor: bool
1432     user_value 0
1433     # value_source user
1434     # Default value: 1
1435 };
1436
1437 # bsearch() tracing level
1438 # Trace verbosity level for debugging the <stdlib.h>
1439 # binary search function bsearch(). Increase this
1440 # value to get additional trace output.
1441 #
1442 cdl_option CYGNUM_LIBC_BSEARCH_TRACE_LEVEL {
1443     # Flavor: data
1444     # No user value, uncomment the following line to provide one.
1445     # user_value 0
1446     # value_source default
1447     # Default value: 0
1448     # Legal values: 0 to 1
1449 };
1450
1451 # qsort() tracing level
1452 # Trace verbosity level for debugging the <stdlib.h>
1453 # quicksort function qsort(). Increase this value
1454 # to get additional trace output.
1455 #
1456 cdl_option CYGNUM_LIBC_QSORT_TRACE_LEVEL {
1457     # Flavor: data
1458     # No user value, uncomment the following line to provide one.
1459     # user_value 0
1460     # value_source default
1461     # Default value: 0
1462     # Legal values: 0 to 1
1463 };
1464
1465 # C library stdlib build options
1466 # Package specific build options including control over
1467 # compiler flags used only in building this package,
1468 # and details of which tests are built.
1469 #
1470 cdl_component CYGPKG_LIBC_STDLIB_OPTIONS {
1471     # There is no associated value.
1472 };
1473
1474 # >
1475 # Additional compiler flags
1476 # This option modifies the set of compiler flags for
1477 # building this package. These flags are used in addition
1478 # to the set of global flags.
1479 #
1480 cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_ADD {
1481     # Flavor: data
1482     # No user value, uncomment the following line to provide one.
1483     # user_value "-fno-rtti -Woverloaded-virtual"
1484     # value_source default
1485     # Default value: "-fno-rtti -Woverloaded-virtual"
1486 };
1487
1488 # Suppressed compiler flags
1489 # This option modifies the set of compiler flags for
1490 # building this package. These flags are removed from
1491 # the set of global flags if present.
1492 #
1493 cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_REMOVE {
1494     # Flavor: data
1495     # No user value, uncomment the following line to provide one.
1496     # user_value -Wno-pointer-sign
1497     # value_source default
1498     # Default value: -Wno-pointer-sign
1499 };
1500
1501 # C library stdlib tests
1502 # This option specifies the set of tests for this package.
1503 #
1504 cdl_option CYGPKG_LIBC_STDLIB_TESTS {
1505     # Calculated value:  "tests/abs tests/atoi tests/atol tests/bsearch tests/div tests/getenv tests/labs tests/ldiv tests/qsort tests/rand1 tests/rand2 tests/rand3 tests/rand4 tests/srand tests/strtol tests/strtoul" 
1506     # Flavor: data
1507     # Current_value: tests/abs tests/atoi tests/atol tests/bsearch tests/div tests/getenv tests/labs tests/ldiv tests/qsort tests/rand1 tests/rand2 tests/rand3 tests/rand4 tests/srand tests/strtol tests/strtoul
1508 };
1509
1510 # <
1511 # <
1512 # <
1513 # eCos HAL
1514 # doc: ref/the-ecos-hardware-abstraction-layer.html
1515 # The eCos HAL package provide a porting layer for
1516 # higher-level parts of the system such as the kernel and the
1517 # C library. Each installation should have HAL packages for
1518 # one or more architectures, and for each architecture there
1519 # may be one or more supported platforms. It is necessary to
1520 # select one target architecture and one platform for that
1521 # architecture. There are also a number of configuration
1522 # options that are common to all HAL packages.
1523 #
1524 cdl_package CYGPKG_HAL {
1525     # Packages cannot be added or removed, nor can their version be changed,
1526     # simply by editing their value. Instead the appropriate configuration
1527     # should be used to perform these actions.
1528
1529     # This value cannot be modified here.
1530     # Flavor: booldata
1531     # Current value: 1 current
1532     # Requires: CYGPKG_INFRA
1533     #     CYGPKG_INFRA == current
1534     #   --> 1
1535
1536     # The following properties are affected by this value
1537 };
1538
1539 # >
1540 # Platform-independent HAL options
1541 # A number of configuration options are common to most or all
1542 # HAL packages, for example options controlling how much state
1543 # should be saved during a context switch. The implementations
1544 # of these options will vary from architecture to architecture.
1545 #
1546 cdl_component CYGPKG_HAL_COMMON {
1547     # There is no associated value.
1548 };
1549
1550 # >
1551 # Provide eCos kernel support
1552 # The HAL can be configured to either support the full eCos
1553 # kernel, or to support only very simple applications which do
1554 # not require a full kernel. If kernel support is not required
1555 # then some of the startup, exception, and interrupt handling
1556 # code can be eliminated.
1557 #
1558 cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
1559     # Flavor: bool
1560     # No user value, uncomment the following line to provide one.
1561     # user_value 0
1562     # value_source default
1563     # Default value: CYGPKG_KERNEL
1564     #     CYGPKG_KERNEL (unknown) == 0
1565     #   --> 0
1566     # Requires: CYGPKG_KERNEL
1567     #     CYGPKG_KERNEL (unknown) == 0
1568     #   --> 0
1569 };
1570
1571 # HAL exception support
1572 # When a processor exception occurs, for example an attempt to
1573 # execute an illegal instruction or to perform a divide by
1574 # zero, this exception may be handled in a number of different
1575 # ways. If the target system has gdb support then typically
1576 # the exception will be handled by gdb code. Otherwise if the
1577 # HAL exception support is enabled then the HAL will invoke a
1578 # routine deliver_exception(). Typically this routine will be
1579 # provided by the eCos kernel, but it is possible for
1580 # application code to provide its own implementation. If the
1581 # HAL exception support is not enabled and a processor
1582 # exception occurs then the behaviour of the system is
1583 # undefined.
1584 #
1585 cdl_option CYGPKG_HAL_EXCEPTIONS {
1586     # Flavor: bool
1587     # No user value, uncomment the following line to provide one.
1588     # user_value 0
1589     # value_source default
1590     # Default value: CYGPKG_KERNEL_EXCEPTIONS
1591     #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
1592     #   --> 0
1593     # Requires: CYGPKG_KERNEL_EXCEPTIONS
1594     #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
1595     #   --> 0
1596 };
1597
1598 # Stop calling constructors early
1599 # This option supports environments where some constructors
1600 # must be run in the context of a thread rather than at
1601 # simple system startup time. A boolean flag named
1602 # cyg_hal_stop_constructors is set to 1 when constructors
1603 # should no longer be invoked. It is up to some other
1604 # package to deal with the rest of the constructors.
1605 # In the current version this is only possible with the
1606 # C library.
1607 #
1608 cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
1609     # Flavor: bool
1610     # No user value, uncomment the following line to provide one.
1611     # user_value 0
1612     # value_source default
1613     # Default value: 0
1614     # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
1615     #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
1616     #   --> 0
1617 };
1618
1619 # HAL uses the MMU and allows for CDL manipulation of it's use
1620 #
1621 cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
1622     # No options implement this inferface
1623     # This value cannot be modified here.
1624     # Flavor: data
1625     # Current_value: 0
1626
1627     # The following properties are affected by this value
1628     # option CYGSEM_HAL_INSTALL_MMU_TABLES
1629     #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
1630 };
1631
1632 # Install MMU tables.
1633 # This option controls whether this application installs
1634 # its own Memory Management Unit (MMU) tables, or relies on the
1635 # existing environment to run.
1636 #
1637 cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
1638     # This option is not active
1639     # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
1640     #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
1641     #   --> 0
1642
1643     # Flavor: bool
1644     # No user value, uncomment the following line to provide one.
1645     # user_value 1
1646     # value_source default
1647     # Default value:  CYG_HAL_STARTUP != "RAM" 
1648     #     CYG_HAL_STARTUP == ROMRAM
1649     #   --> 1
1650
1651     # The following properties are affected by this value
1652     # option CYGSEM_HAL_STATIC_MMU_TABLES
1653     #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
1654 };
1655
1656 # Use static MMU tables.
1657 # This option defines an environment where any Memory
1658 # Management Unit (MMU) tables are constant.  Normally used by ROM
1659 # based environments, this provides a way to save RAM usage which
1660 # would otherwise be required for these tables.
1661 #
1662 cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
1663     # Flavor: bool
1664     # No user value, uncomment the following line to provide one.
1665     # user_value 0
1666     # value_source default
1667     # Default value: 0
1668     # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
1669     #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
1670     #   --> 0
1671 };
1672
1673 # Route diagnostic output to debug channel
1674 # If not inheriting the console setup from the ROM monitor,
1675 # it is possible to redirect diagnostic output to the debug
1676 # channel by enabling this option. Depending on the debugger
1677 # used it may also be necessary to select a mangler for the
1678 # output to be displayed by the debugger.
1679 #
1680 cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
1681     # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
1682     #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
1683     #   --> 1
1684     # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
1685     #     CYGPKG_HAL_ARM == current
1686     #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
1687     #     CYGPKG_HAL_V85X_V850 (unknown) == 0
1688     #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
1689     #   --> 1
1690
1691     # Flavor: bool
1692     # No user value, uncomment the following line to provide one.
1693     # user_value 0
1694     # value_source default
1695     # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
1696     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
1697     #     CYG_HAL_STARTUP == ROMRAM
1698     #   --> 0
1699
1700     # The following properties are affected by this value
1701     # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
1702     #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
1703 };
1704
1705 # >
1706 # Mangler used on diag output
1707 # It is sometimes necessary to mangle (encode) the
1708 # diag ASCII text output in order for it to show up at the
1709 # other end. In particular, GDB may silently ignore raw
1710 # ASCII text.
1711 #
1712 cdl_option CYGSEM_HAL_DIAG_MANGLER {
1713     # This option is not active
1714     # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
1715
1716     # Flavor: data
1717     # No user value, uncomment the following line to provide one.
1718     # user_value GDB
1719     # value_source default
1720     # Default value: GDB
1721     # Legal values: "GDB" "None"
1722 };
1723
1724 # <
1725 # <
1726 # HAL interrupt handling
1727 # A number of configuration options related to interrupt
1728 # handling are common to most or all HAL packages, even though
1729 # the implementations will vary from architecture to
1730 # architecture.
1731 #
1732 cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
1733     # There is no associated value.
1734 };
1735
1736 # >
1737 # Use separate stack for interrupts
1738 # When an interrupt occurs this interrupt can be handled either
1739 # on the current stack or on a separate stack maintained by the
1740 # HAL. Using a separate stack requires a small number of extra
1741 # instructions in the interrupt handling code, but it has the
1742 # advantage that it is no longer necessary to allow extra space
1743 # in every thread stack for the interrupt handlers. The amount
1744 # of extra space required depends on the interrupt handlers
1745 # that are being used.
1746 #
1747 cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
1748     # Flavor: bool
1749     # No user value, uncomment the following line to provide one.
1750     # user_value 1
1751     # The inferred value should not be edited directly.
1752     inferred_value 0
1753     # value_source inferred
1754     # Default value: 1
1755
1756     # The following properties are affected by this value
1757     # package CYGPKG_REDBOOT
1758     #     Requires:  CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 
1759 };
1760
1761 # Interrupt stack size
1762 # This configuration option specifies the stack size in bytes
1763 # for the interrupt stack. Typically this should be a multiple
1764 # of 16, but the exact requirements will vary from architecture
1765 # to architecture. The interrupt stack serves two separate
1766 # purposes. It is used as the stack during system
1767 # initialization. In addition, if the interrupt system is
1768 # configured to use a separate stack then all interrupts will
1769 # be processed on this stack. The exact memory requirements
1770 # will vary from application to application, and will depend
1771 # heavily on whether or not other interrupt-related options,
1772 # for example nested interrupts, are enabled. On most targets,
1773 # in a configuration with no kernel this stack will also be
1774 # the stack used to invoke the application, and must obviously
1775 # be appropriately large in that case.
1776 #
1777 cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
1778     # Flavor: data
1779     # No user value, uncomment the following line to provide one.
1780     # user_value 32768
1781     # value_source default
1782     # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
1783     #     CYGPKG_KERNEL (unknown) == 0
1784     #   --> 32768
1785     # Legal values: 128 to 1048576
1786 };
1787
1788 # Allow nested interrupts
1789 # When an interrupt occurs the HAL interrupt handling code can
1790 # either leave interrupts disabled for the duration of the
1791 # interrupt handling code, or by doing some extra work it can
1792 # reenable interrupts before invoking the interrupt handler and
1793 # thus allow nested interrupts to happen. If all the interrupt
1794 # handlers being used are small and do not involve any loops
1795 # then it is usually better to disallow nested interrupts.
1796 # However if any of the interrupt handlers are more complicated
1797 # than nested interrupts will usually be required.
1798 #
1799 cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
1800     # Flavor: bool
1801     # No user value, uncomment the following line to provide one.
1802     # user_value 0
1803     # value_source default
1804     # Default value: 0
1805 };
1806
1807 # Save minimum context on interrupt
1808 # The HAL interrupt handling code can exploit the calling conventions
1809 # defined for a given architecture to reduce the amount of state
1810 # that has to be saved. Generally this improves performance and
1811 # reduces code size. However it can make source-level debugging
1812 # more difficult.
1813 #
1814 cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
1815     # Flavor: bool
1816     # No user value, uncomment the following line to provide one.
1817     # user_value 1
1818     # The inferred value should not be edited directly.
1819     inferred_value 0
1820     # value_source inferred
1821     # Default value: 1
1822
1823     # The following properties are affected by this value
1824     # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
1825     #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
1826     # component CYGBLD_BUILD_REDBOOT
1827     #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
1828 };
1829
1830 # Chain all interrupts together
1831 # Interrupts can be attached to vectors either singly, or be
1832 # chained together. The latter is necessary if there is no way
1833 # of discovering which device has interrupted without
1834 # inspecting the device itself. It can also reduce the amount
1835 # of RAM needed for interrupt decoding tables and code.
1836 #
1837 cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
1838     # Flavor: bool
1839     # No user value, uncomment the following line to provide one.
1840     # user_value 0
1841     # value_source default
1842     # Default value: 0
1843 };
1844
1845 # Ignore spurious [fleeting] interrupts
1846 # On some hardware, interrupt sources may not be de-bounced or
1847 # de-glitched.  Rather than try to handle these interrupts (no
1848 # handling may be possible), this option allows the HAL to simply
1849 # ignore them.  In most cases, if the interrupt is real it will
1850 # reoccur in a detectable form.
1851 #
1852 cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
1853     # Flavor: bool
1854     # No user value, uncomment the following line to provide one.
1855     # user_value 0
1856     # value_source default
1857     # Default value: 0
1858 };
1859
1860 # <
1861 # HAL context switch support
1862 # A number of configuration options related to thread contexts
1863 # are common to most or all HAL packages, even though the
1864 # implementations will vary from architecture to architecture.
1865 #
1866 cdl_component CYGPKG_HAL_COMMON_CONTEXT {
1867     # There is no associated value.
1868
1869     # The following properties are affected by this value
1870 };
1871
1872 # >
1873 # Use minimum thread context
1874 # The thread context switch code can exploit the calling
1875 # conventions defined for a given architecture to reduce the
1876 # amount of state that has to be saved during a context
1877 # switch. Generally this improves performance and reduces
1878 # code size. However it can make source-level debugging more
1879 # difficult.
1880 #
1881 cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
1882     # Flavor: bool
1883     # No user value, uncomment the following line to provide one.
1884     # user_value 1
1885     # The inferred value should not be edited directly.
1886     inferred_value 0
1887     # value_source inferred
1888     # Default value: 1
1889
1890     # The following properties are affected by this value
1891     # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
1892     #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
1893     # component CYGBLD_BUILD_REDBOOT
1894     #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
1895 };
1896
1897 # <
1898 # Explicit control over cache behaviour
1899 # These options let the default behaviour of the caches 
1900 # be easily configurable.
1901 #
1902 cdl_component CYGPKG_HAL_CACHE_CONTROL {
1903     # There is no associated value.
1904 };
1905
1906 # >
1907 # Enable DATA cache on startup
1908 # Enabling this option will cause the data cache to be enabled
1909 # as soon as practicable when eCos starts up.  One would choose
1910 # to disable this if the data cache cannot safely be turned on,
1911 # such as a case where the cache(s) require additional platform
1912 # specific setup.
1913 #
1914 cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
1915     # Flavor: bool
1916     # No user value, uncomment the following line to provide one.
1917     # user_value 1
1918     # value_source default
1919     # Default value: 1
1920 };
1921
1922 # >
1923 # DATA cache mode on startup
1924 # This option controls the mode the cache will be set to
1925 # when enabled on startup.
1926 #
1927 cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
1928     # Flavor: data
1929     # No user value, uncomment the following line to provide one.
1930     # user_value COPYBACK
1931     # value_source default
1932     # Default value: COPYBACK
1933     # Legal values:  "COPYBACK" "WRITETHRU" 
1934 };
1935
1936 # <
1937 # Enable INSTRUCTION cache on startup
1938 # Enabling this option will cause the instruction cache to be enabled
1939 # as soon as practicable when eCos starts up.  One would choose
1940 # to disable this if the instruction cache cannot safely be turned on,
1941 # such as a case where the cache(s) require additional platform
1942 # specific setup.
1943 #
1944 cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
1945     # Flavor: bool
1946     # No user value, uncomment the following line to provide one.
1947     # user_value 1
1948     # value_source default
1949     # Default value: 1
1950 };
1951
1952 # <
1953 # Source-level debugging support
1954 # If the source level debugger gdb is to be used for debugging
1955 # application code then it may be necessary to configure in support
1956 # for this in the HAL.
1957 #
1958 cdl_component CYGPKG_HAL_DEBUG {
1959     # There is no associated value.
1960 };
1961
1962 # >
1963 # Support for GDB stubs
1964 # The HAL implements GDB stubs for the target.
1965 #
1966 cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
1967     # Implemented by CYGPKG_HAL_ARM_TX37KARO, active, enabled
1968     # This value cannot be modified here.
1969     # Flavor: data
1970     # Current_value: 1
1971
1972     # The following properties are affected by this value
1973     # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
1974     #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
1975     # option CYGBLD_BUILD_REDBOOT_WITH_GDB
1976     #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
1977 };
1978
1979 # Include GDB stubs in HAL
1980 # This option causes a set of GDB stubs to be included into the
1981 # system. On some target systems the GDB support will be
1982 # provided by other means, for example by a ROM monitor. On
1983 # other targets, especially when building a ROM-booting system,
1984 # the necessary support has to go into the target library
1985 # itself. When GDB stubs are include in a configuration, HAL
1986 # serial drivers must also be included.
1987 #
1988 cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
1989     # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
1990     #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
1991     #   --> 1
1992
1993     # Flavor: bool
1994     # No user value, uncomment the following line to provide one.
1995     # user_value 0
1996     # The inferred value should not be edited directly.
1997     inferred_value 0
1998     # value_source inferred
1999     # Default value: 0
2000     # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
2001     #     CYGSEM_HAL_USE_ROM_MONITOR == 0
2002     #   --> 1
2003     # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
2004     #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
2005     #   --> 1
2006     # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
2007     #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
2008     #   --> 1
2009     # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
2010     #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
2011     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
2012     #   --> 1
2013
2014     # The following properties are affected by this value
2015     # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
2016     #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
2017     # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
2018     #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2019     # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
2020     #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2021     # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
2022     #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
2023     # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
2024     #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
2025     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
2026     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
2027     # option CYGBLD_BUILD_COMMON_GDB_STUBS
2028     #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2029     # option CYGPKG_HAL_GDB_FILEIO
2030     #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2031     # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
2032     #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2033     # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
2034     #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2035     # option CYGBLD_BUILD_REDBOOT_WITH_GDB
2036     #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2037 };
2038
2039 # Support for external break support in GDB stubs
2040 # The HAL implements external break (or asynchronous interrupt)
2041 # in the GDB stubs for the target.
2042 #
2043 cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
2044     # Implemented by CYGPKG_HAL_ARM_TX37KARO, active, enabled
2045     # This value cannot be modified here.
2046     # Flavor: data
2047     # Current_value: 1
2048
2049     # The following properties are affected by this value
2050     # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
2051     #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
2052 };
2053
2054 # Include GDB external break support for stubs
2055 # This option causes the GDB stub to add a serial interrupt handler
2056 # which will listen for GDB break packets. This lets you stop the
2057 # target asynchronously when using GDB, usually by hitting Control+C
2058 # or pressing the STOP button. This option differs from
2059 # CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
2060 # GDB stubs are present.
2061 #
2062 cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
2063     # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
2064     #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
2065     #   --> 1
2066
2067     # Flavor: bool
2068     # No user value, uncomment the following line to provide one.
2069     # user_value 0
2070     # value_source default
2071     # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2072     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
2073     #   --> 0
2074     # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2075     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
2076     #   --> 0
2077
2078     # The following properties are affected by this value
2079     # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
2080     #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
2081     # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
2082     #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
2083     # option CYGBLD_BUILD_REDBOOT_WITH_GDB
2084     #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
2085 };
2086
2087 # Platform does not support CTRLC
2088 #
2089 cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
2090     # No options implement this inferface
2091     # This value cannot be modified here.
2092     # Flavor: data
2093     # Current_value: 0
2094
2095     # The following properties are affected by this value
2096     # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
2097     #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
2098 };
2099
2100 # Include GDB external break support when no stubs
2101 # This option adds an interrupt handler for the GDB serial line
2102 # which will listen for GDB break packets. This lets you stop the
2103 # target asynchronously when using GDB, usually by hitting Control+C
2104 # or pressing the STOP button. This option differs from
2105 # CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
2106 # stubs are NOT present.
2107 #
2108 cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
2109     # This option is not active
2110     # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
2111     #     CYGSEM_HAL_USE_ROM_MONITOR == 0
2112     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
2113     #   --> 0
2114     # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
2115     #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
2116     #   --> 1
2117
2118     # Flavor: bool
2119     # No user value, uncomment the following line to provide one.
2120     # user_value 1
2121     # value_source default
2122     # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
2123     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
2124     #   --> 1
2125     # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
2126     #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0
2127     #   --> 1
2128
2129     # The following properties are affected by this value
2130     # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
2131     #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
2132     # component CYGBLD_BUILD_REDBOOT
2133     #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
2134 };
2135
2136 # Include GDB multi-threading debug support
2137 # This option enables some extra HAL code which is needed
2138 # to support multi-threaded source level debugging.
2139 #
2140 cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
2141     # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
2142     #     CYGSEM_HAL_ROM_MONITOR == 1
2143     #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
2144     #   --> 1
2145
2146     # Flavor: bool
2147     # No user value, uncomment the following line to provide one.
2148     # user_value 1
2149     # value_source default
2150     # Default value: 1
2151
2152     # The following properties are affected by this value
2153     # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
2154     #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
2155     # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
2156     #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
2157 };
2158
2159 # Number of times to retry sending a $O packet
2160 # This option controls the number of attempts that eCos programs
2161 # will make to send a $O packet to a host GDB process.  If it is
2162 # set non-zero, then the target process will attempt to resend the
2163 # $O packet data up to this number of retries.  Caution: use of
2164 # this option is not recommended as it can thoroughly confuse the
2165 # host GDB process.
2166 #
2167 cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
2168     # Flavor: data
2169     # No user value, uncomment the following line to provide one.
2170     # user_value 0
2171     # value_source default
2172     # Default value: 0
2173 };
2174
2175 # Timeout period for GDB packets
2176 # This option controls the time (in milliseconds) that eCos programs
2177 # will wait for a response when sending packets to a host GDB process.
2178 # If this time elapses, then the packet will be resent, up to some
2179 # maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
2180 #
2181 cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
2182     # Flavor: data
2183     # No user value, uncomment the following line to provide one.
2184     # user_value 500
2185     # value_source default
2186     # Default value: 500
2187 };
2188
2189 # Location of CRC32 table
2190 # The stubs use a 1 kilobyte CRC table that can either be pregenerated
2191 # and placed in ROM, or generated at runtime in RAM. Depending on
2192 # your memory constraints, one of these options may be better.
2193 #
2194 cdl_option CYGDBG_HAL_CRCTABLE_LOCATION {
2195     # Flavor: data
2196     # No user value, uncomment the following line to provide one.
2197     # user_value RAM
2198     # value_source default
2199     # Default value: RAM
2200     # Legal values: "ROM" "RAM"
2201 };
2202
2203 # <
2204 # ROM monitor support
2205 # Support for ROM monitors can be built in to your application. 
2206 # It may also be relevant to build your application as a ROM monitor
2207 # itself. Such options are contained here if relevant for your chosen
2208 # platform. The options and ROM monitors available to choose are
2209 # platform-dependent.
2210 #
2211 cdl_component CYGPKG_HAL_ROM_MONITOR {
2212     # There is no associated value.
2213
2214     # The following properties are affected by this value
2215 };
2216
2217 # >
2218 # Target has virtual vector support
2219 #
2220 cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
2221     # Implemented by CYGPKG_HAL_ARM_TX37KARO, active, enabled
2222     # This value cannot be modified here.
2223     # Flavor: data
2224     # Current_value: 1
2225
2226     # The following properties are affected by this value
2227     # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
2228     #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
2229 };
2230
2231 # Target supports baud rate control via vectors
2232 # Whether this target supports the __COMMCTL_GETBAUD
2233 # and __COMMCTL_SETBAUD virtual vector comm control operations.
2234 #
2235 cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
2236     # Implemented by CYGPKG_HAL_ARM_MX37, active, enabled
2237     # This value cannot be modified here.
2238     # Flavor: data
2239     # Current_value: 1
2240
2241     # The following properties are affected by this value
2242     # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
2243     #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
2244 };
2245
2246 # Enable use of virtual vector calling interface
2247 # Virtual vector support allows the HAL to let the ROM
2248 # monitor handle certain operations. The virtual vector table
2249 # defines a calling interface between applications running in
2250 # RAM and the ROM monitor.
2251 #
2252 cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
2253     # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
2254     #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
2255     #   --> 1
2256
2257     # Calculated value: 1
2258     # Flavor: bool
2259     # Current value: 1
2260
2261     # The following properties are affected by this value
2262     # component CYGBLD_BUILD_REDBOOT
2263     #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
2264     # package CYGPKG_DEVS_ETH_PHY
2265     #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
2266 };
2267
2268 # >
2269 # Inherit console settings from ROM monitor
2270 # When this option is set, the application will inherit
2271 # the console as set up by the ROM monitor. This means
2272 # that the application will use whatever channel and
2273 # mangling style was used by the ROM monitor when
2274 # the application was launched.
2275 #
2276 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
2277     # This option is not active
2278     # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
2279     #     CYGSEM_HAL_USE_ROM_MONITOR == 0
2280     #   --> 0
2281
2282     # Flavor: bool
2283     # No user value, uncomment the following line to provide one.
2284     # user_value 0
2285     # value_source default
2286     # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
2287     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
2288     #   --> 0
2289
2290     # The following properties are affected by this value
2291     # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
2292     #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
2293     # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
2294     #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
2295 };
2296
2297 # Debug channel is configurable
2298 # This option is a configuration hint - it is enabled
2299 # when the HAL initialization code will make use
2300 # of the debug channel configuration option.
2301 #
2302 cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
2303     # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
2304     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
2305     # Flavor: bool
2306     # Current value: 1
2307
2308     # The following properties are affected by this value
2309     # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
2310     #     ActiveIf: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
2311 };
2312
2313 # Console channel is configurable
2314 # This option is a configuration hint - it is enabled
2315 # when the HAL initialization code will make use
2316 # of the console channel configuration option.
2317 #
2318 cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
2319     # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
2320     #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
2321     #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
2322     # Flavor: bool
2323     # Current value: 1
2324
2325     # The following properties are affected by this value
2326     # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
2327     #     ActiveIf: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
2328 };
2329
2330 # Initialize whole of virtual vector table
2331 # This option will cause the whole of the virtual
2332 # vector table to be initialized with dummy values on
2333 # startup. When this option is enabled, all the
2334 # options below must also be enabled - or the
2335 # table would be empty when the application
2336 # launches.
2337 # On targets where older ROM monitors without
2338 # virtual vector support may still be in use, it is
2339 # necessary for RAM applictions to initialize the
2340 # table (since all HAL diagnostics and debug IO
2341 # happens via the table).
2342 #
2343 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
2344     # Flavor: bool
2345     # No user value, uncomment the following line to provide one.
2346     # user_value 1
2347     # value_source default
2348     # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
2349     #     CYG_HAL_STARTUP == ROMRAM
2350     #     CYGSEM_HAL_USE_ROM_MONITOR == 0
2351     #   --> 1
2352     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
2353     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
2354     #   --> 1
2355     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
2356     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
2357     #   --> 1
2358     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
2359     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
2360     #   --> 1
2361     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
2362     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
2363     #   --> 1
2364     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
2365     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
2366     #   --> 1
2367
2368     # The following properties are affected by this value
2369     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
2370     #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
2371     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
2372     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2373     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
2374     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
2375     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
2376     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2377     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
2378     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2379     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
2380     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2381     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
2382     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
2383 };
2384
2385 # Claim virtual vector table entries by default
2386 # By default most virtual vectors will be claimed by
2387 # RAM startup configurations, meaning that the RAM
2388 # application will provide the services. The
2389 # exception is COMMS support (HAL
2390 # diagnostics/debugging IO) which is left in the
2391 # control of the ROM monitor.
2392 # The reasoning behind this is to get as much of the
2393 # code exercised during regular development so it
2394 # is known to be working the few times a new ROM
2395 # monitor or a ROM production configuration is used
2396 # - COMMS are excluded only by necessity in order to
2397 # avoid breaking an existing debugger connections
2398 # (there may be ways around this).
2399 # For production RAM configurations this option can
2400 # be switched off, causing the appliction to rely on
2401 # the ROM monitor for these services, thus
2402 # saving some space.
2403 # Individual vectors may also be left unclaimed,
2404 # controlled by the below options (meaning that the
2405 # associated service provided by the ROM monitor
2406 # will be used).
2407 #
2408 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
2409     # This option is not active
2410     # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
2411     #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
2412     #   --> 0
2413
2414     # Flavor: bool
2415     # No user value, uncomment the following line to provide one.
2416     # user_value 1
2417     # value_source default
2418     # Default value: 1
2419
2420     # The following properties are affected by this value
2421     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
2422     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2423     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
2424     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2425     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
2426     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2427     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
2428     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2429 };
2430
2431 # Claim reset virtual vectors
2432 # This option will cause the reset and kill_by_reset
2433 # virtual vectors to be claimed.
2434 #
2435 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
2436     # Flavor: bool
2437     # No user value, uncomment the following line to provide one.
2438     # user_value 1
2439     # value_source default
2440     # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2441     #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
2442     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
2443     #   --> 1
2444
2445     # The following properties are affected by this value
2446     # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
2447     #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
2448 };
2449
2450 # Claim version virtual vectors
2451 # This option will cause the version
2452 # virtual vectors to be claimed.
2453 #
2454 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
2455     # Flavor: bool
2456     # No user value, uncomment the following line to provide one.
2457     # user_value 1
2458     # value_source default
2459     # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
2460     #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
2461     #   --> 1
2462 };
2463
2464 # Claim delay_us virtual vector
2465 # This option will cause the delay_us
2466 # virtual vector to be claimed.
2467 #
2468 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
2469     # Flavor: bool
2470     # No user value, uncomment the following line to provide one.
2471     # user_value 1
2472     # value_source default
2473     # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2474     #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
2475     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
2476     #   --> 1
2477
2478     # The following properties are affected by this value
2479     # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
2480     #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
2481 };
2482
2483 # Claim cache virtual vectors
2484 # This option will cause the cache virtual vectors
2485 # to be claimed.
2486 #
2487 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
2488     # Flavor: bool
2489     # No user value, uncomment the following line to provide one.
2490     # user_value 1
2491     # value_source default
2492     # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2493     #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
2494     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
2495     #   --> 1
2496
2497     # The following properties are affected by this value
2498     # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
2499     #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
2500 };
2501
2502 # Claim data virtual vectors
2503 # This option will cause the data virtual vectors
2504 # to be claimed. At present there is only one, used
2505 # by the RedBoot ethernet driver to share diag output.
2506 #
2507 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
2508     # Flavor: bool
2509     # No user value, uncomment the following line to provide one.
2510     # user_value 1
2511     # value_source default
2512     # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2513     #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
2514     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
2515     #   --> 1
2516
2517     # The following properties are affected by this value
2518     # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
2519     #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
2520 };
2521
2522 # Claim comms virtual vectors
2523 # This option will cause the communication tables
2524 # that are part of the virtual vectors mechanism to
2525 # be claimed. Note that doing this may cause an
2526 # existing ROM monitor communication connection to
2527 # be closed. For this reason, the option is disabled
2528 # per default for normal application
2529 # configurations.
2530 #
2531 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
2532     # Flavor: bool
2533     # No user value, uncomment the following line to provide one.
2534     # user_value 1
2535     # value_source default
2536     # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
2537     #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
2538     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
2539     #   --> 1
2540
2541     # The following properties are affected by this value
2542     # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2543     #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
2544     # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
2545     #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
2546     # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
2547     #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
2548     # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
2549     #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
2550 };
2551
2552 # Do diagnostic IO via virtual vector table
2553 # All HAL IO happens via the virtual vector table / comm
2554 # tables when those tables are supported by the HAL.
2555 # If so desired, the low-level IO functions can
2556 # still be provided by the RAM application by
2557 # enabling the CLAIM_COMMS option.
2558 #
2559 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
2560     # Calculated value: 1
2561     # Flavor: bool
2562     # Current value: 1
2563
2564     # The following properties are affected by this value
2565     # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
2566     #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
2567     # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2568     #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
2569 };
2570
2571 # <
2572 # Behave as a ROM monitor
2573 # Enable this option if this program is to be used as a ROM monitor,
2574 # i.e. applications will be loaded into RAM on the TX37 module, and this
2575 # ROM monitor may process exceptions or interrupts generated from the
2576 # application. This enables features such as utilizing a separate
2577 # interrupt stack when exceptions are generated.
2578 #
2579 cdl_option CYGSEM_HAL_ROM_MONITOR {
2580     # Flavor: bool
2581     # No user value, uncomment the following line to provide one.
2582     # user_value 0
2583     # The inferred value should not be edited directly.
2584     inferred_value 1
2585     # value_source inferred
2586     # Default value: 0
2587     # Requires:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
2588     #     CYG_HAL_STARTUP == ROMRAM
2589     #     CYG_HAL_STARTUP == ROMRAM
2590     #   --> 1
2591
2592     # The following properties are affected by this value
2593     # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
2594     #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
2595     # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
2596     #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
2597     # option CYGPRI_REDBOOT_ROM_MONITOR
2598     #     Requires: CYGSEM_HAL_ROM_MONITOR
2599 };
2600
2601 # Work with a ROM monitor
2602 # Support can be enabled for different varieties of ROM monitor.
2603 # This support changes various eCos semantics such as the encoding
2604 # of diagnostic output, or the overriding of hardware interrupt
2605 # vectors.
2606 # Firstly there is "Generic" support which prevents the HAL
2607 # from overriding the hardware vectors that it does not use, to
2608 # instead allow an installed ROM monitor to handle them. This is
2609 # the most basic support which is likely to be common to most
2610 # implementations of ROM monitor.
2611 # "GDB_stubs" provides support when GDB stubs are included in
2612 # the ROM monitor or boot ROM.
2613 #
2614 cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
2615     # Flavor: booldata
2616     # No user value, uncomment the following line to provide one.
2617     # user_value 0 0
2618     # value_source default
2619     # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
2620     #     CYG_HAL_STARTUP == ROMRAM
2621     #   --> 0 0
2622     # Legal values:  "Generic" "GDB_stubs" 
2623     # Requires:  CYG_HAL_STARTUP == "RAM" 
2624     #     CYG_HAL_STARTUP == ROMRAM
2625     #   --> 0
2626
2627     # The following properties are affected by this value
2628     # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2629     #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
2630     # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
2631     #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
2632     # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
2633     #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
2634     # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
2635     #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
2636 };
2637
2638 # <
2639 # Platform defined I/O channels.
2640 # Platforms which provide additional I/O channels can implement
2641 # this interface, indicating that the function plf_if_init()
2642 # needs to be called.
2643 #
2644 cdl_interface CYGINT_HAL_PLF_IF_INIT {
2645     # No options implement this inferface
2646     # This value cannot be modified here.
2647     # Flavor: data
2648     # Current_value: 0
2649 };
2650
2651 # Platform IDE I/O support.
2652 # Platforms which provide IDE controllers can implement
2653 # this interface, indicating that IDE I/O macros are
2654 # available.
2655 #
2656 cdl_interface CYGINT_HAL_PLF_IF_IDE {
2657     # No options implement this inferface
2658     # This value cannot be modified here.
2659     # Flavor: data
2660     # Current_value: 0
2661
2662     # The following properties are affected by this value
2663     # component CYGSEM_REDBOOT_DISK_IDE
2664     #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
2665 };
2666
2667 # File I/O operations via GDB
2668 # This option enables support for various file I/O
2669 # operations using the GDB remote protocol to communicate
2670 # with GDB. The operations are then performed on the
2671 # debugging host by proxy. These operations are only
2672 # currently available by using a system call interface
2673 # to RedBoot. This may change in the future.
2674 #
2675 cdl_option CYGPKG_HAL_GDB_FILEIO {
2676     # This option is not active
2677     # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
2678     #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
2679     #   --> 0
2680
2681     # Flavor: bool
2682     # No user value, uncomment the following line to provide one.
2683     # user_value 0
2684     # value_source default
2685     # Default value: 0
2686     # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2687     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
2688     #   --> 0
2689 };
2690
2691 # Build Compiler sanity checking tests
2692 # Enabling this option causes compiler tests to be built.
2693 #
2694 cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
2695     # Flavor: bool
2696     # No user value, uncomment the following line to provide one.
2697     # user_value 0
2698     # value_source default
2699     # Default value: 0
2700
2701     # The following properties are affected by this value
2702     # component CYGPKG_HAL_TESTS
2703     #     Calculated:   "tests/context tests/basic"
2704     #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
2705     #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
2706     #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
2707 };
2708
2709 # Common HAL tests
2710 # This option specifies the set of tests for the common HAL.
2711 #
2712 cdl_component CYGPKG_HAL_TESTS {
2713     # Calculated value:   "tests/context tests/basic"
2714     #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
2715     #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
2716     #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
2717     #     CYGINT_HAL_TESTS_NO_CACHES == 0
2718     #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
2719     #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
2720     # Flavor: data
2721     # Current_value: tests/context tests/basic tests/cache tests/intr
2722 };
2723
2724 # >
2725 # Interface for cache presence
2726 # Some architectures and/or platforms do not have caches. By
2727 # implementing this interface, these can disable the various
2728 # cache-related tests.
2729 #
2730 cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
2731     # No options implement this inferface
2732     # This value cannot be modified here.
2733     # Flavor: booldata
2734     # Current value: 0 0
2735
2736     # The following properties are affected by this value
2737     # component CYGPKG_HAL_TESTS
2738     #     Calculated:   "tests/context tests/basic"
2739     #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
2740     #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
2741     #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
2742 };
2743
2744 # <
2745 # ARM architecture
2746 # The ARM architecture HAL package provides generic
2747 # support for this processor architecture. It is also
2748 # necessary to select a specific target platform HAL
2749 # package.
2750 #
2751 cdl_package CYGPKG_HAL_ARM {
2752     # Packages cannot be added or removed, nor can their version be changed,
2753     # simply by editing their value. Instead the appropriate configuration
2754     # should be used to perform these actions.
2755
2756     # This value cannot be modified here.
2757     # Flavor: booldata
2758     # Current value: 1 current
2759
2760     # The following properties are affected by this value
2761     # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
2762     #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
2763     # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
2764     #     ActiveIf: CYGPKG_HAL_ARM
2765 };
2766
2767 # >
2768 # The CPU architecture supports THUMB mode
2769 #
2770 cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
2771     # No options implement this inferface
2772     # This value cannot be modified here.
2773     # Flavor: data
2774     # Current_value: 0
2775
2776     # The following properties are affected by this value
2777     # option CYGHWR_THUMB
2778     #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
2779     # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
2780     #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
2781 };
2782
2783 # Enable Thumb instruction set
2784 # Enable use of the Thumb instruction set.
2785 #
2786 cdl_option CYGHWR_THUMB {
2787     # This option is not active
2788     # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
2789     #     CYGINT_HAL_ARM_THUMB_ARCH == 0
2790     #   --> 0
2791
2792     # Flavor: bool
2793     # No user value, uncomment the following line to provide one.
2794     # user_value 0
2795     # value_source default
2796     # Default value: 0
2797
2798     # The following properties are affected by this value
2799     # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
2800     #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
2801 };
2802
2803 # Enable Thumb interworking compiler option
2804 # This option controls the use of -mthumb-interwork in the
2805 # compiler flags. It defaults enabled in Thumb or ROM monitor
2806 # configurations, but can be overridden for reduced memory
2807 # footprint where interworking is not a requirement.
2808 #
2809 cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
2810     # This option is not active
2811     # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
2812     #     CYGINT_HAL_ARM_THUMB_ARCH == 0
2813     #   --> 0
2814
2815     # Flavor: bool
2816     # No user value, uncomment the following line to provide one.
2817     # user_value 1
2818     # value_source default
2819     # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
2820     #     CYGHWR_THUMB == 0
2821     #     CYGSEM_HAL_ROM_MONITOR == 1
2822     #   --> 1
2823 };
2824
2825 # The platform and architecture supports Big Endian operation
2826 #
2827 cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
2828     # No options implement this inferface
2829     # This value cannot be modified here.
2830     # Flavor: data
2831     # Current_value: 0
2832
2833     # The following properties are affected by this value
2834     # option CYGHWR_HAL_ARM_BIGENDIAN
2835     #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
2836 };
2837
2838 # Use big-endian mode
2839 # Use the CPU in big-endian mode.
2840 #
2841 cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
2842     # This option is not active
2843     # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
2844     #     CYGINT_HAL_ARM_BIGENDIAN == 0
2845     #   --> 0
2846
2847     # Flavor: bool
2848     # No user value, uncomment the following line to provide one.
2849     # user_value 0
2850     # value_source default
2851     # Default value: 0
2852 };
2853
2854 # The platform uses a processor with an ARM7 core
2855 #
2856 cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
2857     # No options implement this inferface
2858     # This value cannot be modified here.
2859     # Flavor: data
2860     # Current_value: 0
2861
2862     # The following properties are affected by this value
2863     # option CYGHWR_HAL_ARM_CPU_FAMILY
2864     #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
2865     #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
2866     #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
2867     #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
2868     #                             "" 
2869     # option CYGHWR_HAL_ARM_CPU_FAMILY
2870     #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
2871     #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
2872     #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
2873     #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
2874     #                              "unknown" 
2875 };
2876
2877 # The platform uses a processor with an ARM9 core
2878 #
2879 cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
2880     # Implemented by CYGPKG_HAL_ARM_MX37, active, enabled
2881     # This value cannot be modified here.
2882     # Flavor: data
2883     # Current_value: 1
2884
2885     # The following properties are affected by this value
2886     # option CYGHWR_HAL_ARM_CPU_FAMILY
2887     #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
2888     #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
2889     #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
2890     #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
2891     #                             "" 
2892     # option CYGHWR_HAL_ARM_CPU_FAMILY
2893     #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
2894     #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
2895     #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
2896     #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
2897     #                              "unknown" 
2898 };
2899
2900 # The platform uses a processor with a StrongARM core
2901 #
2902 cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
2903     # No options implement this inferface
2904     # This value cannot be modified here.
2905     # Flavor: data
2906     # Current_value: 0
2907
2908     # The following properties are affected by this value
2909     # option CYGHWR_HAL_ARM_CPU_FAMILY
2910     #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
2911     #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
2912     #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
2913     #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
2914     #                             "" 
2915     # option CYGHWR_HAL_ARM_CPU_FAMILY
2916     #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
2917     #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
2918     #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
2919     #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
2920     #                              "unknown" 
2921 };
2922
2923 # The platform uses a processor with a XScale core
2924 #
2925 cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
2926     # No options implement this inferface
2927     # This value cannot be modified here.
2928     # Flavor: data
2929     # Current_value: 0
2930
2931     # The following properties are affected by this value
2932     # option CYGHWR_HAL_ARM_CPU_FAMILY
2933     #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
2934     #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
2935     #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
2936     #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
2937     #                             "" 
2938     # option CYGHWR_HAL_ARM_CPU_FAMILY
2939     #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
2940     #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
2941     #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
2942     #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
2943     #                              "unknown" 
2944 };
2945
2946 # ARM CPU family
2947 # It is possible to optimize code for different
2948 # ARM CPU families. This option selects which CPU to
2949 # optimize for on boards that support multiple CPU types.
2950 #
2951 cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
2952     # Flavor: data
2953     # No user value, uncomment the following line to provide one.
2954     # user_value ARM9
2955     # value_source default
2956     # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
2957     #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
2958     #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
2959     #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
2960     #                              "unknown" 
2961     #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
2962     #     CYGINT_HAL_ARM_ARCH_ARM9 == 1
2963     #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
2964     #     CYGINT_HAL_ARM_ARCH_XSCALE == 0
2965     #   --> ARM9
2966     # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
2967     #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
2968     #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
2969     #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
2970     #                             "" 
2971     #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
2972     #     CYGINT_HAL_ARM_ARCH_ARM9 == 1
2973     #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
2974     #     CYGINT_HAL_ARM_ARCH_XSCALE == 0
2975 };
2976
2977 # Provide diagnostic dump for exceptions
2978 # Print messages about hardware exceptions, including
2979 # raw exception frame dump and register contents.
2980 #
2981 cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
2982     # Flavor: bool
2983     # No user value, uncomment the following line to provide one.
2984     # user_value 0
2985     # value_source default
2986     # Default value: 0
2987     # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2988     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
2989     #   --> 1
2990 };
2991
2992 # Process all exceptions with the eCos application
2993 # Normal RAM-based programs which do not include GDB stubs 
2994 # defer processing of the illegal instruction exception to GDB.
2995 # Setting this options allows the program to explicitly handle
2996 # the illegal instruction exception itself.  Note: this will
2997 # prevent the use of GDB to debug the application as breakpoints
2998 # will no longer work.
2999 #
3000 cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
3001     # Flavor: bool
3002     # No user value, uncomment the following line to provide one.
3003     # user_value 0
3004     # value_source default
3005     # Default value: 0
3006 };
3007
3008 # Support GDB thread operations via ICE/Multi-ICE
3009 # Allow GDB to get thread information via the ICE/Multi-ICE
3010 # connection.
3011 #
3012 cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
3013     # Flavor: bool
3014     # No user value, uncomment the following line to provide one.
3015     # user_value 0
3016     # value_source default
3017     # Default value: 0
3018     # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
3019     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
3020     #   --> 0
3021     # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
3022     #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
3023     #   --> 1
3024     # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
3025     #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
3026     #   --> 0
3027 };
3028
3029 # Support for 'gprof' callbacks
3030 # The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
3031 # to acquire the interrupt-context PC and SP, when this option is
3032 # active.
3033 #
3034 cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
3035     # This option is not active
3036     # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
3037     #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
3038     #   --> 0
3039     # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
3040     #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
3041     #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0
3042     #   --> 0
3043
3044     # Calculated value: 1
3045     # Flavor: bool
3046     # Current value: 1
3047 };
3048
3049 # Accept exceptions and irq's occurring in user mode
3050 # For standalone Redboot based programs running in user mode.
3051 #
3052 cdl_option CYGOPT_HAL_ARM_WITH_USER_MODE {
3053     # Flavor: bool
3054     # No user value, uncomment the following line to provide one.
3055     # user_value 0
3056     # value_source default
3057     # Default value: 0
3058 };
3059
3060 # Preserve svc spsr before returning to svc mode
3061 # This option secures exception and breakpoint processing
3062 # triggered during execution of application specific SWI
3063 # handlers.
3064 #
3065 cdl_option CYGOPT_HAL_ARM_PRESERVE_SVC_SPSR {
3066     # Flavor: bool
3067     # No user value, uncomment the following line to provide one.
3068     # user_value 0
3069     # value_source default
3070     # Default value: 0
3071 };
3072
3073 # Linker script
3074 #
3075 cdl_option CYGBLD_LINKER_SCRIPT {
3076     # Calculated value:  "src/arm.ld" 
3077     # Flavor: data
3078     # Current_value: src/arm.ld
3079 };
3080
3081 # Implementations of hal_arm_mem_real_region_top()
3082 #
3083 cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
3084     # No options implement this inferface
3085     # This value cannot be modified here.
3086     # Flavor: data
3087     # Current_value: 0
3088 };
3089
3090 # Freescale SoC architecture
3091 # This HAL variant package provides generic
3092 # support for the Freescale SoC. It is also
3093 # necessary to select a specific target platform HAL
3094 # package.
3095 #
3096 cdl_package CYGPKG_HAL_ARM_MX37 {
3097     # Packages cannot be added or removed, nor can their version be changed,
3098     # simply by editing their value. Instead the appropriate configuration
3099     # should be used to perform these actions.
3100
3101     # This value cannot be modified here.
3102     # Flavor: booldata
3103     # Current value: 1 current
3104
3105     # The following properties are affected by this value
3106 };
3107
3108 # >
3109 # Processor clock rate
3110 # The processor can run at various frequencies.
3111 # These values are expressed in KHz.  Note that there are
3112 # several steppings of the rate to run at different
3113 # maximum frequencies.  Check the specs to make sure that your
3114 # particular processor can run at the rate you select here.
3115 #
3116 cdl_option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK {
3117     # This option is not active
3118     # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" 
3119     #     CYG_HAL_STARTUP == ROMRAM
3120     #   --> 0
3121
3122     # Flavor: data
3123     # No user value, uncomment the following line to provide one.
3124     # user_value 150000
3125     # value_source default
3126     # Default value:  CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT ?
3127     #                             CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT : 150000
3128     #     CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0
3129     #     CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0
3130     #   --> 150000
3131     # Legal values: 150000 200000
3132 };
3133
3134 # Real-time clock constants
3135 #
3136 cdl_component CYGNUM_HAL_RTC_CONSTANTS {
3137     # There is no associated value.
3138 };
3139
3140 # >
3141 # Real-time clock numerator
3142 #
3143 cdl_option CYGNUM_HAL_RTC_NUMERATOR {
3144     # Calculated value: 1000000000
3145     # Flavor: data
3146     # Current_value: 1000000000
3147 };
3148
3149 # Real-time clock denominator
3150 # This option selects the heartbeat rate for the real-time clock.
3151 # The rate is specified in ticks per second.  Change this value
3152 # with caution - too high and your system will become saturated
3153 # just handling clock interrupts, too low and some operations
3154 # such as thread scheduling may become sluggish.
3155 #
3156 cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
3157     # Flavor: data
3158     # No user value, uncomment the following line to provide one.
3159     # user_value 100
3160     # value_source default
3161     # Default value: 100
3162
3163     # The following properties are affected by this value
3164     # option CYGNUM_HAL_RTC_PERIOD
3165     #     Calculated: (3686400/CYGNUM_HAL_RTC_DENOMINATOR)
3166 };
3167
3168 # Real-time clock period
3169 #
3170 cdl_option CYGNUM_HAL_RTC_PERIOD {
3171     # Calculated value: (3686400/CYGNUM_HAL_RTC_DENOMINATOR)
3172     #     CYGNUM_HAL_RTC_DENOMINATOR == 100
3173     # Flavor: data
3174     # Current_value: 36864
3175 };
3176
3177 # <
3178 # UART1 available as diagnostic/debug channel
3179 # The chip has multiple serial channels which may be
3180 # used for different things on different platforms.  This
3181 # interface allows a platform to indicate that the specified
3182 # serial port can be used as a diagnostic and/or debug channel.
3183 #
3184 cdl_interface CYGHWR_HAL_ARM_SOC_UART1 {
3185     # Implemented by CYGPKG_HAL_ARM_TX37KARO, active, enabled
3186     # This value cannot be modified here.
3187     # Flavor: data
3188     # Current_value: 1
3189
3190     # The following properties are affected by this value
3191 };
3192
3193 # UART2 available as diagnostic/debug channel
3194 # The chip has multiple serial channels which may be
3195 # used for different things on different platforms.  This
3196 # interface allows a platform to indicate that the specified
3197 # serial port can be used as a diagnostic and/or debug channel.
3198 #
3199 cdl_interface CYGHWR_HAL_ARM_SOC_UART2 {
3200     # Implemented by CYGPKG_HAL_ARM_TX37KARO, active, enabled
3201     # This value cannot be modified here.
3202     # Flavor: data
3203     # Current_value: 1
3204
3205     # The following properties are affected by this value
3206 };
3207
3208 # UART3 available as diagnostic/debug channel
3209 # The chip has multiple serial channels which may be
3210 # used for different things on different platforms.  This
3211 # interface allows a platform to indicate that the specified
3212 # serial port can be used as a diagnostic and/or debug channel.
3213 #
3214 cdl_interface CYGHWR_HAL_ARM_SOC_UART3 {
3215     # No options implement this inferface
3216     # This value cannot be modified here.
3217     # Flavor: data
3218     # Current_value: 0
3219 };
3220
3221 # UART4 available as diagnostic/debug channel
3222 # The chip has multiple serial channels which may be
3223 # used for different things on different platforms.  This
3224 # interface allows a platform to indicate that the specified
3225 # serial port can be used as a diagnostic and/or debug channel.
3226 #
3227 cdl_interface CYGHWR_HAL_ARM_SOC_UART4 {
3228     # No options implement this inferface
3229     # This value cannot be modified here.
3230     # Flavor: data
3231     # Current_value: 0
3232 };
3233
3234 # UART5 available as diagnostic/debug channel
3235 # The chip has multiple serial channels which may be
3236 # used for different things on different platforms.  This
3237 # interface allows a platform to indicate that the specified
3238 # serial port can be used as a diagnostic and/or debug channel.
3239 #
3240 cdl_interface CYGHWR_HAL_ARM_SOC_UART5 {
3241     # No options implement this inferface
3242     # This value cannot be modified here.
3243     # Flavor: data
3244     # Current_value: 0
3245 };
3246
3247 # Ka-Ro TX37 module
3248 # This HAL platform package provides generic
3249 # support for the Ka-Ro electronics TX37 module.
3250 #
3251 cdl_package CYGPKG_HAL_ARM_TX37KARO {
3252     # Packages cannot be added or removed, nor can their version be changed,
3253     # simply by editing their value. Instead the appropriate configuration
3254     # should be used to perform these actions.
3255
3256     # This value cannot be modified here.
3257     # Flavor: booldata
3258     # Current value: 1 current
3259     # Requires: CYGINT_ISO_CTYPE
3260     #     CYGINT_ISO_CTYPE == 1
3261     #   --> 1
3262     # Requires: CYGBLD_BUILD_REDBOOT == 1
3263     #     CYGBLD_BUILD_REDBOOT == 1
3264     #   --> 1
3265 };
3266
3267 # >
3268 # Startup type
3269 # The only startup type allowed is ROMRAM, since this will allow
3270 # the program to exist in ROM, but be copied to RAM during startup
3271 # which is required to boot from NAND flash.
3272 #
3273 cdl_component CYG_HAL_STARTUP {
3274     # Flavor: data
3275     # No user value, uncomment the following line to provide one.
3276     # user_value ROMRAM
3277     # value_source default
3278     # Default value: ROMRAM
3279     # Legal values:  "ROMRAM" 
3280
3281     # The following properties are affected by this value
3282     # option CYGSEM_HAL_ROM_MONITOR
3283     #     Requires:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
3284     # option CYGSEM_HAL_ROM_MONITOR
3285     #     Requires:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
3286     # option CYGSEM_HAL_USE_ROM_MONITOR
3287     #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
3288     # option CYGSEM_HAL_USE_ROM_MONITOR
3289     #     Requires:  CYG_HAL_STARTUP == "RAM" 
3290     # option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK
3291     #     ActiveIf:  CYG_HAL_STARTUP == "ROM" 
3292     # option CYGSEM_HAL_INSTALL_MMU_TABLES
3293     #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
3294     # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
3295     #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
3296     # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
3297     #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
3298     # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
3299     #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
3300     # option CYGPRI_REDBOOT_ROM_MONITOR
3301     #     ActiveIf:  CYG_HAL_STARTUP == "ROM" ||  CYG_HAL_STARTUP == "ROMRAM" 
3302     # option CYGPRI_REDBOOT_ROM_MONITOR
3303     #     ActiveIf:  CYG_HAL_STARTUP == "ROM" ||  CYG_HAL_STARTUP == "ROMRAM" 
3304 };
3305
3306 # Diagnostic serial port baud rate
3307 # This option selects the baud rate used for the console port.
3308 # Note: this should match the value chosen for the GDB port if the
3309 # console and GDB port are the same.
3310 #
3311 cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
3312     # Flavor: data
3313     # No user value, uncomment the following line to provide one.
3314     # user_value 115200
3315     # value_source default
3316     # Default value: 115200
3317     # Legal values: 9600 19200 38400 57600 115200
3318 };
3319
3320 # GDB serial port baud rate
3321 # This option selects the baud rate used for the GDB port.
3322 # Note: this should match the value chosen for the console port if the
3323 # console and GDB port are the same.
3324 #
3325 cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
3326     # Flavor: data
3327     # No user value, uncomment the following line to provide one.
3328     # user_value 115200
3329     # value_source default
3330     # Default value: 115200
3331     # Legal values: 9600 19200 38400 57600 115200
3332 };
3333
3334 # Number of communication channels on the TX37
3335 #
3336 cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
3337     # Calculated value: 2
3338     # Flavor: data
3339     # Current_value: 2
3340
3341     # The following properties are affected by this value
3342     # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
3343     #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
3344     # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
3345     #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
3346     # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
3347     #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
3348 };
3349
3350 # Debug serial port
3351 # The TX37 provides access to two serial ports. This option
3352 # chooses which port will be used to connect to a host
3353 # running GDB.
3354 #
3355 cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
3356     # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
3357     #     CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE == 1
3358     #   --> 1
3359
3360     # Flavor: data
3361     # No user value, uncomment the following line to provide one.
3362     # user_value 0
3363     # value_source default
3364     # Default value: 0
3365     # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
3366     #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 2
3367 };
3368
3369 # Default console channel.
3370 #
3371 cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
3372     # Calculated value: 0
3373     # Flavor: data
3374     # Current_value: 0
3375     # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
3376     #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 2
3377
3378     # The following properties are affected by this value
3379     # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
3380     #     DefaultValue: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
3381 };
3382
3383 # Console serial port
3384 # The TX37 provides access to two serial ports. This option
3385 # chooses which port will be used for console output.
3386 #
3387 cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
3388     # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
3389     #     CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE == 1
3390     #   --> 1
3391
3392     # Flavor: data
3393     # No user value, uncomment the following line to provide one.
3394     # user_value 0
3395     # value_source default
3396     # Default value: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
3397     #     CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT == 0
3398     #   --> 0
3399     # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
3400     #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 2
3401 };
3402
3403 # Ka-Ro electronics TX37 module build options
3404 # Package specific build options including control over
3405 # compiler flags used only in building this package,
3406 # and details of which tests are built.
3407 #
3408 cdl_component CYGPKG_HAL_ARM_TX37_OPTIONS {
3409     # There is no associated value.
3410     # Requires:  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 
3411     #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
3412     #   --> 1
3413 };
3414
3415 # >
3416 # SDRAM size
3417 # This option specifies the SDRAM size of the TX37 module.
3418 #
3419 cdl_option CYGNUM_HAL_ARM_TX37_SDRAM_SIZE {
3420     # Flavor: data
3421     # No user value, uncomment the following line to provide one.
3422     # user_value 0x08000000
3423     # value_source default
3424     # Default value: 0x08000000
3425     # Legal values:  0x08000000 0x04000000 
3426 };
3427
3428 # Enable low level debugging with LED
3429 # This option enables low level debugging by blink codes
3430 # of the LED on STK5.
3431 #
3432 cdl_option CYGOPT_HAL_ARM_TX37_DEBUG {
3433     # Flavor: bool
3434     # No user value, uncomment the following line to provide one.
3435     # user_value 0
3436     # value_source default
3437     # Default value:  false 
3438     #     false (unknown) == 0
3439     #   --> 0
3440 };
3441
3442 # Additional compiler flags
3443 # This option modifies the set of compiler flags for
3444 # building the TX37 HAL. These flags are used in addition
3445 # to the set of global flags.
3446 #
3447 cdl_option CYGPKG_HAL_ARM_TX37_CFLAGS_ADD {
3448     # Flavor: data
3449     # No user value, uncomment the following line to provide one.
3450     # user_value ""
3451     # value_source default
3452     # Default value: ""
3453 };
3454
3455 # Suppressed compiler flags
3456 # This option modifies the set of compiler flags for
3457 # building the TX37 HAL. These flags are removed from
3458 # the set of global flags if present.
3459 #
3460 cdl_option CYGPKG_HAL_ARM_TX37_CFLAGS_REMOVE {
3461     # Flavor: data
3462     # No user value, uncomment the following line to provide one.
3463     # user_value ""
3464     # value_source default
3465     # Default value: ""
3466 };
3467
3468 # <
3469 # Memory layout
3470 #
3471 cdl_component CYGHWR_MEMORY_LAYOUT {
3472     # Calculated value:  "arm_tx37_romram" 
3473     # Flavor: data
3474     # Current_value: arm_tx37_romram
3475 };
3476
3477 # >
3478 # Memory layout linker script fragment
3479 #
3480 cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
3481     # Calculated value:  "<pkgconf/mlt_arm_tx37_romram.ldi>" 
3482     # Flavor: data
3483     # Current_value: <pkgconf/mlt_arm_tx37_romram.ldi>
3484 };
3485
3486 # Memory layout header file
3487 #
3488 cdl_option CYGHWR_MEMORY_LAYOUT_H {
3489     # Calculated value:  "<pkgconf/mlt_arm_tx37_romram.h>" 
3490     # Flavor: data
3491     # Current_value: <pkgconf/mlt_arm_tx37_romram.h>
3492 };
3493
3494 # <
3495 # <
3496 # <
3497 # <
3498 # <
3499 # Infrastructure
3500 # Common types and useful macros.
3501 # Tracing and assertion facilities.
3502 # Package startup options.
3503 #
3504 cdl_package CYGPKG_INFRA {
3505     # Packages cannot be added or removed, nor can their version be changed,
3506     # simply by editing their value. Instead the appropriate configuration
3507     # should be used to perform these actions.
3508
3509     # This value cannot be modified here.
3510     # Flavor: booldata
3511     # Current value: 1 current
3512
3513     # The following properties are affected by this value
3514     # package CYGPKG_HAL
3515     #     Requires: CYGPKG_INFRA
3516     # component CYGBLD_BUILD_REDBOOT
3517     #     Requires: CYGPKG_INFRA
3518 };
3519
3520 # >
3521 # Asserts & Tracing
3522 # The eCos source code contains a significant amount of
3523 # internal debugging support, in the form of assertions and
3524 # tracing.
3525 # Assertions check at runtime that various conditions are as
3526 # expected; if not, execution is halted.
3527 # Tracing takes the form of text messages that are output
3528 # whenever certain events occur, or whenever functions are
3529 # called or return.
3530 # The most important property of these checks and messages is
3531 # that they are not required for the program to run.
3532 # It is prudent to develop software with assertions enabled,
3533 # but disable them when making a product release, thus
3534 # removing the overhead of that checking.
3535 # It is possible to enable assertions and tracing
3536 # independently.
3537 # There are also options controlling the exact behaviour of
3538 # the assertion and tracing facilities, thus giving users
3539 # finer control over the code and data size requirements.
3540 #
3541 cdl_component CYGPKG_INFRA_DEBUG {
3542     # Flavor: bool
3543     # No user value, uncomment the following line to provide one.
3544     # user_value 0
3545     # value_source default
3546     # Default value: 0
3547
3548     # The following properties are affected by this value
3549     # option CYGNUM_INFRA_EMPTY_DELETE_THRESHOLD
3550     #     ActiveIf: CYGPKG_INFRA_DEBUG
3551 };
3552
3553 # >
3554 # Use asserts
3555 # If this option is defined, asserts in the code are tested.
3556 # Assert functions (CYG_ASSERT()) are defined in
3557 # 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
3558 # If it is not defined, these result in no additional
3559 # object code and no checking of the asserted conditions.
3560 #
3561 cdl_component CYGDBG_USE_ASSERTS {
3562     # This option is not active
3563     # The parent CYGPKG_INFRA_DEBUG is disabled
3564
3565     # Flavor: bool
3566     # No user value, uncomment the following line to provide one.
3567     # user_value 1
3568     # value_source default
3569     # Default value: 1
3570     # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
3571     #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
3572     #   --> 0
3573
3574     # The following properties are affected by this value
3575     # option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG
3576     #     Requires: CYGDBG_USE_ASSERTS
3577     # option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG
3578     #     DefaultValue:  0 != CYGDBG_USE_ASSERTS 
3579 };
3580
3581 # >
3582 # Preconditions
3583 # This option allows individual control of preconditions.
3584 # A precondition is one type of assert, which it is
3585 # useful to control separately from more general asserts.
3586 # The function is CYG_PRECONDITION(condition,msg).
3587 #
3588 cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
3589     # This option is not active
3590     # The parent CYGDBG_USE_ASSERTS is not active
3591
3592     # Flavor: bool
3593     # No user value, uncomment the following line to provide one.
3594     # user_value 1
3595     # value_source default
3596     # Default value: 1
3597 };
3598
3599 # Postconditions
3600 # This option allows individual control of postconditions.
3601 # A postcondition is one type of assert, which it is
3602 # useful to control separately from more general asserts.
3603 # The function is CYG_POSTCONDITION(condition,msg).
3604 #
3605 cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
3606     # This option is not active
3607     # The parent CYGDBG_USE_ASSERTS is not active
3608
3609     # Flavor: bool
3610     # No user value, uncomment the following line to provide one.
3611     # user_value 1
3612     # value_source default
3613     # Default value: 1
3614 };
3615
3616 # Loop invariants
3617 # This option allows individual control of loop invariants.
3618 # A loop invariant is one type of assert, which it is
3619 # useful to control separately from more general asserts,
3620 # particularly since a loop invariant is typically evaluated
3621 # a great many times when used correctly.
3622 # The function is CYG_LOOP_INVARIANT(condition,msg).
3623 #
3624 cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
3625     # This option is not active
3626     # The parent CYGDBG_USE_ASSERTS is not active
3627
3628     # Flavor: bool
3629     # No user value, uncomment the following line to provide one.
3630     # user_value 1
3631     # value_source default
3632     # Default value: 1
3633 };
3634
3635 # Use assert text
3636 # All assertions within eCos contain a text message
3637 # which should give some information about the condition
3638 # being tested.
3639 # These text messages will end up being embedded in the
3640 # application image and hence there is a significant penalty
3641 # in terms of image size.
3642 # It is possible to suppress the use of these messages by
3643 # disabling this option.
3644 # This results in smaller code size, but there is less
3645 # human-readable information if an assertion actually gets
3646 # triggered.
3647 #
3648 cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
3649     # This option is not active
3650     # The parent CYGDBG_USE_ASSERTS is not active
3651
3652     # Flavor: bool
3653     # No user value, uncomment the following line to provide one.
3654     # user_value 1
3655     # value_source default
3656     # Default value: 1
3657 };
3658
3659 # <
3660 # Use tracing
3661 # If this option is defined, tracing operations
3662 # result in output or logging, depending on other options.
3663 # This may have adverse effects on performance, if the time
3664 # taken to output message overwhelms the available CPU
3665 # power or output bandwidth.
3666 # Trace functions (CYG_TRACE()) are defined in
3667 # 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
3668 # If it is not defined, these result in no additional
3669 # object code and no trace information.
3670 #
3671 cdl_component CYGDBG_USE_TRACING {
3672     # This option is not active
3673     # The parent CYGPKG_INFRA_DEBUG is disabled
3674
3675     # Flavor: bool
3676     # No user value, uncomment the following line to provide one.
3677     # user_value 0
3678     # value_source default
3679     # Default value: 0
3680     # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
3681     #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
3682     #   --> 0
3683
3684     # The following properties are affected by this value
3685     # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
3686     #     ActiveIf: CYGDBG_USE_TRACING
3687     # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
3688     #     ActiveIf: CYGDBG_USE_TRACING
3689     # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
3690     #     ActiveIf: CYGDBG_USE_TRACING
3691     # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
3692     #     ActiveIf: CYGDBG_USE_TRACING
3693     # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
3694     #     ActiveIf: CYGDBG_USE_TRACING
3695 };
3696
3697 # >
3698 # Trace function reports
3699 # This option allows individual control of