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