9362d5cbe7dcfef59d449394c886821f163204d2
[karo-tx-redboot.git] / config / TX27-40x0.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 # MXC FEC MII Gasket for RMII mode
798 # This option enables the use of the MII Gasket for
799 # RMII mode found in i.MX25 and i.MX53 processors.
800 #
801 cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK {
802     # This option is not active
803     # ActiveIf constraint: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53
804     #     CYGPKG_HAL_ARM_MX25 (unknown) == 0
805     #     CYGPKG_HAL_ARM_MX53 (unknown) == 0
806     #   --> 0
807
808     # Flavor: bool
809     # No user value, uncomment the following line to provide one.
810     # user_value 1
811     # value_source default
812     # Default value: 1
813 };
814
815 # <
816 # Ethernet transceiver (PHY) support
817 # API for ethernet PHY devices
818 #
819 cdl_package CYGPKG_DEVS_ETH_PHY {
820     # Packages cannot be added or removed, nor can their version be changed,
821     # simply by editing their value. Instead the appropriate configuration
822     # should be used to perform these actions.
823
824     # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
825     #     CYGPKG_IO_ETH_DRIVERS == current
826     #   --> 1
827
828     # This value cannot be modified here.
829     # Flavor: booldata
830     # Current value: 1 current
831     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
832     #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
833     #   --> 1
834 };
835
836 # >
837 # Enable driver debugging
838 # Enables the diagnostic debug messages on the
839 # console device.
840 #
841 cdl_option CYGDBG_DEVS_ETH_PHY {
842     # Flavor: bool
843     # No user value, uncomment the following line to provide one.
844     # user_value 0
845     # value_source default
846     # Default value: 0
847 };
848
849 # Time period (seconds) to wait for auto-negotiation
850 # The length of time to wait for auto-negotiation to complete
851 # before giving up and declaring the link dead/missing.
852 #
853 cdl_option CYGINT_DEVS_ETH_PHY_AUTO_NEGOTIATION_TIME {
854     # Flavor: data
855     # No user value, uncomment the following line to provide one.
856     # user_value 5
857     # value_source default
858     # Default value: 5
859 };
860
861 # NSDP83847
862 # Include support for National Semiconductor DP83847 DsPHYTER II
863 #
864 cdl_option CYGHWR_DEVS_ETH_PHY_DP83847 {
865     # Flavor: bool
866     # No user value, uncomment the following line to provide one.
867     # user_value 0
868     # value_source default
869     # Default value: 0
870 };
871
872 # AMD 79C874
873 # Include support for AMD 79C874 NetPHY
874 #
875 cdl_option CYGHWR_DEVS_ETH_PHY_AM79C874 {
876     # Flavor: bool
877     # No user value, uncomment the following line to provide one.
878     # user_value 0
879     # value_source default
880     # Default value: 0
881 };
882
883 # Intel LXT972
884 # Include support for Intel LXT972xxx PHY
885 #
886 cdl_option CYGHWR_DEVS_ETH_PHY_INLXT972 {
887     # Flavor: bool
888     # No user value, uncomment the following line to provide one.
889     # user_value 0
890     # value_source default
891     # Default value: 0
892 };
893
894 # ICS 1890
895 # Include support for ICS 1890 PHY
896 #
897 cdl_option CYGHWR_DEVS_ETH_PHY_ICS1890 {
898     # Flavor: bool
899     # No user value, uncomment the following line to provide one.
900     # user_value 0
901     # value_source default
902     # Default value: 0
903 };
904
905 # ICS 1892
906 # Include support for ICS 1892 PHY
907 #
908 cdl_option CYGHWR_DEVS_ETH_PHY_ICS1892 {
909     # Flavor: bool
910     # No user value, uncomment the following line to provide one.
911     # user_value 0
912     # value_source default
913     # Default value: 0
914 };
915
916 # ICS 1893
917 # Include support for ICS 1893 and 1893AF PHY
918 #
919 cdl_option CYGHWR_DEVS_ETH_PHY_ICS1893 {
920     # Flavor: bool
921     # No user value, uncomment the following line to provide one.
922     # user_value 0
923     # value_source default
924     # Default value: 0
925 };
926
927 # Davicom DM9161A
928 # Include support for the Davicom DM9161A PHY
929 #
930 cdl_option CYGHWR_DEVS_ETH_PHY_DM9161A {
931     # Flavor: bool
932     # No user value, uncomment the following line to provide one.
933     # user_value 0
934     # value_source default
935     # Default value: 0
936 };
937
938 # Micrel KS8721
939 # Include support for the Micrel KS8721 PHY
940 #
941 cdl_option CYGHWR_DEVS_ETH_PHY_KS8721 {
942     # Flavor: bool
943     # No user value, uncomment the following line to provide one.
944     # user_value 0
945     # value_source default
946     # Default value: 0
947 };
948
949 # SMSC LAN8700
950 # Include support for SMSC LAN8700 NetPHY
951 #
952 cdl_option CYGHWR_DEVS_ETH_PHY_LAN8700 {
953     # Flavor: bool
954     # No user value, uncomment the following line to provide one.
955     # user_value 0
956     # The inferred value should not be edited directly.
957     inferred_value 1
958     # value_source inferred
959     # Default value: 0
960
961     # The following properties are affected by this value
962     # component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0
963     #     Requires: CYGHWR_DEVS_ETH_PHY_LAN8700
964 };
965
966 # <
967 # <
968 # ISO C library internationalization functions
969 # doc: ref/libc.html
970 # This package provides internationalization functions specified by the
971 # ISO C standard - ISO/IEC 9899:1990. These include locale-related
972 # functionality and <ctype.h> functionality.
973 #
974 cdl_package CYGPKG_LIBC_I18N {
975     # Packages cannot be added or removed, nor can their version be changed,
976     # simply by editing their value. Instead the appropriate configuration
977     # should be used to perform these actions.
978
979     # This value cannot be modified here.
980     # Flavor: booldata
981     # Current value: 1 current
982     # Requires: CYGPKG_ISOINFRA
983     #     CYGPKG_ISOINFRA == current
984     #   --> 1
985 };
986
987 # >
988 # Supported locales
989 # These options determine which locales other than the "C" locale
990 # are supported and hence contribute to the size of the executable.
991 #
992 cdl_component CYGPKG_LIBC_I18N_LOCALES {
993     # There is no associated value.
994 };
995
996 # >
997 # Support for multiple locales required
998 #
999 cdl_interface CYGINT_LIBC_I18N_MB_REQUIRED {
1000     # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_SJIS, active, disabled
1001     # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_JIS, active, disabled
1002     # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_EUCJP, active, disabled
1003     # This value cannot be modified here.
1004     # Flavor: booldata
1005     # Current value: 0 0
1006     # Requires:  CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER ==  "<cyg/libc/i18n/mb.h>" 
1007     #     CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER == 0
1008     #   --> 0
1009
1010     # The following properties are affected by this value
1011 };
1012
1013 # C-SJIS locale support
1014 # This option controls if the "C-SJIS" locale will be
1015 # supported by setlocale().  The locale is a hybrid locale
1016 # that is mostly the "C" locale with Japanese SJIS multibyte
1017 # support added.
1018 #
1019 cdl_option CYGFUN_LIBC_I18N_LOCALE_C_SJIS {
1020     # Flavor: bool
1021     # No user value, uncomment the following line to provide one.
1022     # user_value 0
1023     # value_source default
1024     # Default value: 0
1025
1026     # The following properties are affected by this value
1027     # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
1028     #     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 
1029     # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
1030     #     DefaultValue:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
1031 };
1032
1033 # C-JIS locale support
1034 # This option controls if the "C-JIS" locale will be
1035 # supported by setlocale().  The locale is a hybrid locale
1036 # that is mostly the "C" locale with Japanese JIS multibyte
1037 # support added.
1038 #
1039 cdl_option CYGFUN_LIBC_I18N_LOCALE_C_JIS {
1040     # Flavor: bool
1041     # No user value, uncomment the following line to provide one.
1042     # user_value 0
1043     # value_source default
1044     # Default value: 0
1045
1046     # The following properties are affected by this value
1047     # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
1048     #     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 
1049     # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
1050     #     DefaultValue:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
1051 };
1052
1053 # C-EUCJP locale support
1054 # This option controls if the "C-EUCJP" locale will be
1055 # supported by setlocale().  The locale is a hybrid locale
1056 # that is mostly the "C" locale with Japanese EUCJP multibyte
1057 # support added.
1058 #
1059 cdl_option CYGFUN_LIBC_I18N_LOCALE_C_EUCJP {
1060     # Flavor: bool
1061     # No user value, uncomment the following line to provide one.
1062     # user_value 0
1063     # value_source default
1064     # Default value: 0
1065
1066     # The following properties are affected by this value
1067     # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
1068     #     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 
1069     # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
1070     #     DefaultValue:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
1071 };
1072
1073 # <
1074 # Newlib's ctype implementation
1075 # This option enables the implementation of the ctype functions
1076 # that comes with newlib. It is table driven and therefore
1077 # exhibits different performance characteristics. It also offers
1078 # a limited amount of binary compatibility
1079 # with newlib so that programs linked against newlib ctype/locale
1080 # do not need to be recompiled when linked with eCos.
1081 #
1082 cdl_option CYGPKG_LIBC_I18N_NEWLIB_CTYPE {
1083     # Flavor: bool
1084     # No user value, uncomment the following line to provide one.
1085     # user_value 0
1086     # value_source default
1087     # Default value: 0
1088     # Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/newlibctype.h>" 
1089     #     CYGBLD_ISO_CTYPE_HEADER == <cyg/libc/i18n/ctype.inl>
1090     #   --> 0
1091 };
1092
1093 # Per-thread multibyte state
1094 # This option controls whether the multibyte character
1095 # handling functions mblen(), mbtowc(), and wctomb(),
1096 # have their state recorded on a per-thread
1097 # basis rather than global. If this option is
1098 # disabled, some per-thread space can be saved.
1099 # Enabling this option will use three slots
1100 # of kernel per-thread data. You should ensure you
1101 # have enough slots configured for all your
1102 # per-thread data.
1103 #
1104 cdl_option CYGSEM_LIBC_I18N_PER_THREAD_MB {
1105     # This option is not active
1106     # ActiveIf constraint: CYGPKG_KERNEL
1107     #     CYGPKG_KERNEL (unknown) == 0
1108     #   --> 0
1109
1110     # Flavor: bool
1111     # No user value, uncomment the following line to provide one.
1112     # user_value 0
1113     # value_source default
1114     # Default value:  CYGVAR_KERNEL_THREADS_DATA != 0 
1115     #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
1116     #   --> 0
1117     # Requires: CYGVAR_KERNEL_THREADS_DATA
1118     #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
1119     #   --> 0
1120 };
1121
1122 # Size of locale name strings
1123 # This option controls the maximum size of
1124 # locale names and is used, among other things
1125 # to instantiate a static string used
1126 # as a return value from the
1127 # setlocale() function. When requesting the
1128 # current locale settings with LC_ALL, a string
1129 # must be constructed to contain this data, rather
1130 # than just returning a constant string. This
1131 # string data is stored in the static string.
1132 # This depends on the length of locale names,
1133 # hence this option. If just the C locale is
1134 # present, this option can be set as low as 2.
1135 #
1136 cdl_option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE {
1137     # Flavor: data
1138     # No user value, uncomment the following line to provide one.
1139     # user_value 2
1140     # value_source default
1141     # Default value:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
1142     #     CYGFUN_LIBC_I18N_LOCALE_C_EUCJP == 0
1143     #     CYGFUN_LIBC_I18N_LOCALE_C_SJIS == 0
1144     #     CYGFUN_LIBC_I18N_LOCALE_C_JIS == 0
1145     #   --> 2
1146     # 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 
1147     #     CYGFUN_LIBC_I18N_LOCALE_C_EUCJP == 0
1148     #     CYGFUN_LIBC_I18N_LOCALE_C_SJIS == 0
1149     #     CYGFUN_LIBC_I18N_LOCALE_C_JIS == 0
1150 };
1151
1152 # Inline versions of <ctype.h> functions
1153 # This option chooses whether the simple character
1154 # classification and conversion functions (e.g.
1155 # isupper(), isalpha(), toupper(), etc.)
1156 # from <ctype.h> are available as inline
1157 # functions. This may improve performance and as
1158 # the functions are small, may even improve code
1159 # size.
1160 #
1161 cdl_option CYGIMP_LIBC_I18N_CTYPE_INLINES {
1162     # Flavor: bool
1163     # No user value, uncomment the following line to provide one.
1164     # user_value 1
1165     # value_source default
1166     # Default value: 1
1167     # Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/ctype.inl>" 
1168     #     CYGBLD_ISO_CTYPE_HEADER == <cyg/libc/i18n/ctype.inl>
1169     #   --> 1
1170 };
1171
1172 # C library i18n functions build options
1173 # Package specific build options including control over
1174 # compiler flags used only in building this package,
1175 # and details of which tests are built.
1176 #
1177 cdl_component CYGPKG_LIBC_I18N_OPTIONS {
1178     # There is no associated value.
1179 };
1180
1181 # >
1182 # Additional compiler flags
1183 # This option modifies the set of compiler flags for
1184 # building the C library. These flags are used in addition
1185 # to the set of global flags.
1186 #
1187 cdl_option CYGPKG_LIBC_I18N_CFLAGS_ADD {
1188     # Flavor: data
1189     # No user value, uncomment the following line to provide one.
1190     # user_value "-fno-rtti -Woverloaded-virtual"
1191     # value_source default
1192     # Default value: "-fno-rtti -Woverloaded-virtual"
1193 };
1194
1195 # Suppressed compiler flags
1196 # This option modifies the set of compiler flags for
1197 # building the C library. These flags are removed from
1198 # the set of global flags if present.
1199 #
1200 cdl_option CYGPKG_LIBC_I18N_CFLAGS_REMOVE {
1201     # Flavor: data
1202     # No user value, uncomment the following line to provide one.
1203     # user_value -Wno-pointer-sign
1204     # value_source default
1205     # Default value: -Wno-pointer-sign
1206 };
1207
1208 # C library i18n function tests
1209 # This option specifies the set of tests for the C library
1210 # i18n functions.
1211 #
1212 cdl_option CYGPKG_LIBC_I18N_TESTS {
1213     # Calculated value:  "tests/ctype tests/setlocale tests/i18nmb" 
1214     # Flavor: data
1215     # Current_value: tests/ctype tests/setlocale tests/i18nmb
1216 };
1217
1218 # <
1219 # <
1220 # ISO C library general utility functions
1221 # doc: ref/libc.html
1222 # This package provides general utility functions in <stdlib.h>
1223 # as specified by the ISO C standard - ISO/IEC 9899:1990.
1224 #
1225 cdl_package CYGPKG_LIBC_STDLIB {
1226     # Packages cannot be added or removed, nor can their version be changed,
1227     # simply by editing their value. Instead the appropriate configuration
1228     # should be used to perform these actions.
1229
1230     # This value cannot be modified here.
1231     # Flavor: booldata
1232     # Current value: 1 current
1233     # Requires: CYGPKG_ISOINFRA
1234     #     CYGPKG_ISOINFRA == current
1235     #   --> 1
1236     # Requires: CYGINT_ISO_CTYPE
1237     #     CYGINT_ISO_CTYPE == 1
1238     #   --> 1
1239     # Requires: CYGINT_ISO_STRING_STRFUNCS
1240     #     CYGINT_ISO_STRING_STRFUNCS == 1
1241     #   --> 1
1242 };
1243
1244 # >
1245 # Inline versions of <stdlib.h> functions
1246 # This option chooses whether some of the
1247 # particularly simple standard utility functions
1248 # from <stdlib.h> are available as inline
1249 # functions. This may improve performance, and as
1250 # the functions are small, may even improve code
1251 # size.
1252 #
1253 cdl_component CYGIMP_LIBC_STDLIB_INLINES {
1254     # There is no associated value.
1255 };
1256
1257 # >
1258 # abs() / labs()
1259 #
1260 cdl_option CYGIMP_LIBC_STDLIB_INLINE_ABS {
1261     # Flavor: bool
1262     # No user value, uncomment the following line to provide one.
1263     # user_value 1
1264     # value_source default
1265     # Default value: 1
1266     # Requires:  CYGBLD_ISO_STDLIB_ABS_HEADER ==  "<cyg/libc/stdlib/abs.inl>" 
1267     #     CYGBLD_ISO_STDLIB_ABS_HEADER == <cyg/libc/stdlib/abs.inl>
1268     #   --> 1
1269 };
1270
1271 # div() / ldiv()
1272 #
1273 cdl_option CYGIMP_LIBC_STDLIB_INLINE_DIV {
1274     # Flavor: bool
1275     # No user value, uncomment the following line to provide one.
1276     # user_value 1
1277     # value_source default
1278     # Default value: 1
1279     # Requires:  CYGBLD_ISO_STDLIB_DIV_HEADER ==  "<cyg/libc/stdlib/div.inl>" 
1280     #     CYGBLD_ISO_STDLIB_DIV_HEADER == <cyg/libc/stdlib/div.inl>
1281     #   --> 1
1282 };
1283
1284 # atof() / atoi() / atol()
1285 #
1286 cdl_option CYGIMP_LIBC_STDLIB_INLINE_ATOX {
1287     # Flavor: bool
1288     # No user value, uncomment the following line to provide one.
1289     # user_value 1
1290     # value_source default
1291     # Default value: 1
1292     # Requires:  CYGBLD_ISO_STDLIB_STRCONV_HEADER ==  "<cyg/libc/stdlib/atox.inl>" 
1293     #     CYGBLD_ISO_STDLIB_STRCONV_HEADER == <cyg/libc/stdlib/atox.inl>
1294     #   --> 1
1295 };
1296
1297 # <
1298 # Random number generation
1299 # These options control the behaviour of the
1300 # functions rand(), srand() and rand_r()
1301 #
1302 cdl_component CYGPKG_LIBC_RAND {
1303     # There is no associated value.
1304 };
1305
1306 # >
1307 # Per-thread random seed
1308 # doc: ref/libc-thread-safety.html
1309 # This option controls whether the pseudo-random
1310 # number generation functions rand() and srand()
1311 # have their state recorded on a per-thread
1312 # basis rather than global. If this option is
1313 # disabled, some per-thread space can be saved.
1314 # Note there is also a POSIX-standard rand_r()
1315 # function to achieve a similar effect with user
1316 # support. Enabling this option will use one slot
1317 # of kernel per-thread data. You should ensure you
1318 # have enough slots configured for all your
1319 # per-thread data.
1320 #
1321 cdl_option CYGSEM_LIBC_PER_THREAD_RAND {
1322     # Flavor: bool
1323     # No user value, uncomment the following line to provide one.
1324     # user_value 0
1325     # value_source default
1326     # Default value: 0
1327     # Requires: CYGVAR_KERNEL_THREADS_DATA
1328     #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
1329     #   --> 0
1330 };
1331
1332 # Random number seed
1333 # This selects the initial random number seed for
1334 # rand()'s pseudo-random number generator. For
1335 # strict ISO standard compliance, this should be 1,
1336 # as per section 7.10.2.2 of the standard.
1337 #
1338 cdl_option CYGNUM_LIBC_RAND_SEED {
1339     # Flavor: data
1340     # No user value, uncomment the following line to provide one.
1341     # user_value 1
1342     # value_source default
1343     # Default value: 1
1344     # Legal values: 0 to 0x7fffffff
1345 };
1346
1347 # Tracing level
1348 # Trace verbosity level for debugging the rand(),
1349 # srand() and rand_r() functions. Increase this
1350 # value to get additional trace output.
1351 #
1352 cdl_option CYGNUM_LIBC_RAND_TRACE_LEVEL {
1353     # Flavor: data
1354     # No user value, uncomment the following line to provide one.
1355     # user_value 0
1356     # value_source default
1357     # Default value: 0
1358     # Legal values: 0 to 1
1359 };
1360
1361 # Simplest implementation
1362 # This provides a very simple implementation of rand()
1363 # that does not perform well with randomness in the
1364 # lower significant bits. However it is exceptionally
1365 # fast. It uses the sample algorithm from the ISO C
1366 # standard itself.
1367 #
1368 cdl_option CYGIMP_LIBC_RAND_SIMPLEST {
1369     # Flavor: bool
1370     # No user value, uncomment the following line to provide one.
1371     # user_value 0
1372     # value_source default
1373     # Default value: 0
1374 };
1375
1376 # Simple implementation #1
1377 # This provides a very simple implementation of rand()
1378 # based on the simplest implementation above. However
1379 # it does try to work around the lack of randomness
1380 # in the lower significant bits, at the expense of a
1381 # little speed.
1382 #
1383 cdl_option CYGIMP_LIBC_RAND_SIMPLE1 {
1384     # Flavor: bool
1385     user_value 0
1386     # value_source user
1387     # Default value: 1
1388 };
1389
1390 # Knuth implementation #1
1391 # This implements a slightly more complex algorithm
1392 # published in Donald E. Knuth's Art of Computer
1393 # Programming Vol.2 section 3.6 (p.185 in the 3rd ed.).
1394 # This produces better random numbers than the
1395 # simplest approach but is slower.
1396 #
1397 cdl_option CYGIMP_LIBC_RAND_KNUTH1 {
1398     # Flavor: bool
1399     user_value 1
1400     # value_source user
1401     # Default value: 0
1402 };
1403
1404 # <
1405 # Provides strtod()
1406 # This option allows use of the utility function
1407 # strtod() (and consequently atof()) to convert
1408 # from string to double precision floating point
1409 # numbers. Disabling this option removes the
1410 # dependency on the math library package.
1411 #
1412 cdl_option CYGFUN_LIBC_strtod {
1413     # Flavor: bool
1414     # No user value, uncomment the following line to provide one.
1415     # user_value 0
1416     # value_source default
1417     # Default value:  0 != CYGPKG_LIBM 
1418     #     CYGPKG_LIBM (unknown) == 0
1419     #   --> 0
1420     # Requires: CYGPKG_LIBM
1421     #     CYGPKG_LIBM (unknown) == 0
1422     #   --> 0
1423 };
1424
1425 # Provides long long conversion functions
1426 # Enabling this option will provide support for the strtoll(),
1427 # strtoull() and atoll() conversion functions, which are
1428 # the long long variants of the standard versions of these
1429 # functions. Supporting this requires extra code and compile
1430 # time.
1431 #
1432 cdl_option CYGFUN_LIBC_STDLIB_CONV_LONGLONG {
1433     # Flavor: bool
1434     user_value 0
1435     # value_source user
1436     # Default value: 1
1437 };
1438
1439 # bsearch() tracing level
1440 # Trace verbosity level for debugging the <stdlib.h>
1441 # binary search function bsearch(). Increase this
1442 # value to get additional trace output.
1443 #
1444 cdl_option CYGNUM_LIBC_BSEARCH_TRACE_LEVEL {
1445     # Flavor: data
1446     # No user value, uncomment the following line to provide one.
1447     # user_value 0
1448     # value_source default
1449     # Default value: 0
1450     # Legal values: 0 to 1
1451 };
1452
1453 # qsort() tracing level
1454 # Trace verbosity level for debugging the <stdlib.h>
1455 # quicksort function qsort(). Increase this value
1456 # to get additional trace output.
1457 #
1458 cdl_option CYGNUM_LIBC_QSORT_TRACE_LEVEL {
1459     # Flavor: data
1460     # No user value, uncomment the following line to provide one.
1461     # user_value 0
1462     # value_source default
1463     # Default value: 0
1464     # Legal values: 0 to 1
1465 };
1466
1467 # C library stdlib build options
1468 # Package specific build options including control over
1469 # compiler flags used only in building this package,
1470 # and details of which tests are built.
1471 #
1472 cdl_component CYGPKG_LIBC_STDLIB_OPTIONS {
1473     # There is no associated value.
1474 };
1475
1476 # >
1477 # Additional compiler flags
1478 # This option modifies the set of compiler flags for
1479 # building this package. These flags are used in addition
1480 # to the set of global flags.
1481 #
1482 cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_ADD {
1483     # Flavor: data
1484     # No user value, uncomment the following line to provide one.
1485     # user_value "-fno-rtti -Woverloaded-virtual"
1486     # value_source default
1487     # Default value: "-fno-rtti -Woverloaded-virtual"
1488 };
1489
1490 # Suppressed compiler flags
1491 # This option modifies the set of compiler flags for
1492 # building this package. These flags are removed from
1493 # the set of global flags if present.
1494 #
1495 cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_REMOVE {
1496     # Flavor: data
1497     # No user value, uncomment the following line to provide one.
1498     # user_value -Wno-pointer-sign
1499     # value_source default
1500     # Default value: -Wno-pointer-sign
1501 };
1502
1503 # C library stdlib tests
1504 # This option specifies the set of tests for this package.
1505 #
1506 cdl_option CYGPKG_LIBC_STDLIB_TESTS {
1507     # 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" 
1508     # Flavor: data
1509     # 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
1510 };
1511
1512 # <
1513 # <
1514 # <
1515 # eCos HAL
1516 # doc: ref/the-ecos-hardware-abstraction-layer.html
1517 # The eCos HAL package provide a porting layer for
1518 # higher-level parts of the system such as the kernel and the
1519 # C library. Each installation should have HAL packages for
1520 # one or more architectures, and for each architecture there
1521 # may be one or more supported platforms. It is necessary to
1522 # select one target architecture and one platform for that
1523 # architecture. There are also a number of configuration
1524 # options that are common to all HAL packages.
1525 #
1526 cdl_package CYGPKG_HAL {
1527     # Packages cannot be added or removed, nor can their version be changed,
1528     # simply by editing their value. Instead the appropriate configuration
1529     # should be used to perform these actions.
1530
1531     # This value cannot be modified here.
1532     # Flavor: booldata
1533     # Current value: 1 current
1534     # Requires: CYGPKG_INFRA
1535     #     CYGPKG_INFRA == current
1536     #   --> 1
1537
1538     # The following properties are affected by this value
1539 };
1540
1541 # >
1542 # Platform-independent HAL options
1543 # A number of configuration options are common to most or all
1544 # HAL packages, for example options controlling how much state
1545 # should be saved during a context switch. The implementations
1546 # of these options will vary from architecture to architecture.
1547 #
1548 cdl_component CYGPKG_HAL_COMMON {
1549     # There is no associated value.
1550 };
1551
1552 # >
1553 # Provide eCos kernel support
1554 # The HAL can be configured to either support the full eCos
1555 # kernel, or to support only very simple applications which do
1556 # not require a full kernel. If kernel support is not required
1557 # then some of the startup, exception, and interrupt handling
1558 # code can be eliminated.
1559 #
1560 cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
1561     # Flavor: bool
1562     # No user value, uncomment the following line to provide one.
1563     # user_value 0
1564     # value_source default
1565     # Default value: CYGPKG_KERNEL
1566     #     CYGPKG_KERNEL (unknown) == 0
1567     #   --> 0
1568     # Requires: CYGPKG_KERNEL
1569     #     CYGPKG_KERNEL (unknown) == 0
1570     #   --> 0
1571 };
1572
1573 # HAL exception support
1574 # When a processor exception occurs, for example an attempt to
1575 # execute an illegal instruction or to perform a divide by
1576 # zero, this exception may be handled in a number of different
1577 # ways. If the target system has gdb support then typically
1578 # the exception will be handled by gdb code. Otherwise if the
1579 # HAL exception support is enabled then the HAL will invoke a
1580 # routine deliver_exception(). Typically this routine will be
1581 # provided by the eCos kernel, but it is possible for
1582 # application code to provide its own implementation. If the
1583 # HAL exception support is not enabled and a processor
1584 # exception occurs then the behaviour of the system is
1585 # undefined.
1586 #
1587 cdl_option CYGPKG_HAL_EXCEPTIONS {
1588     # Flavor: bool
1589     # No user value, uncomment the following line to provide one.
1590     # user_value 0
1591     # value_source default
1592     # Default value: CYGPKG_KERNEL_EXCEPTIONS
1593     #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
1594     #   --> 0
1595     # Requires: CYGPKG_KERNEL_EXCEPTIONS
1596     #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
1597     #   --> 0
1598 };
1599
1600 # Stop calling constructors early
1601 # This option supports environments where some constructors
1602 # must be run in the context of a thread rather than at
1603 # simple system startup time. A boolean flag named
1604 # cyg_hal_stop_constructors is set to 1 when constructors
1605 # should no longer be invoked. It is up to some other
1606 # package to deal with the rest of the constructors.
1607 # In the current version this is only possible with the
1608 # C library.
1609 #
1610 cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
1611     # Flavor: bool
1612     # No user value, uncomment the following line to provide one.
1613     # user_value 0
1614     # value_source default
1615     # Default value: 0
1616     # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
1617     #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
1618     #   --> 0
1619 };
1620
1621 # HAL uses the MMU and allows for CDL manipulation of it's use
1622 #
1623 cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
1624     # No options implement this inferface
1625     # This value cannot be modified here.
1626     # Flavor: data
1627     # Current_value: 0
1628
1629     # The following properties are affected by this value
1630     # option CYGSEM_HAL_INSTALL_MMU_TABLES
1631     #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
1632 };
1633
1634 # Install MMU tables.
1635 # This option controls whether this application installs
1636 # its own Memory Management Unit (MMU) tables, or relies on the
1637 # existing environment to run.
1638 #
1639 cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
1640     # This option is not active
1641     # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
1642     #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
1643     #   --> 0
1644
1645     # Flavor: bool
1646     # No user value, uncomment the following line to provide one.
1647     # user_value 1
1648     # value_source default
1649     # Default value:  CYG_HAL_STARTUP != "RAM" 
1650     #     CYG_HAL_STARTUP == ROMRAM
1651     #   --> 1
1652
1653     # The following properties are affected by this value
1654     # option CYGSEM_HAL_STATIC_MMU_TABLES
1655     #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
1656 };
1657
1658 # Use static MMU tables.
1659 # This option defines an environment where any Memory
1660 # Management Unit (MMU) tables are constant.  Normally used by ROM
1661 # based environments, this provides a way to save RAM usage which
1662 # would otherwise be required for these tables.
1663 #
1664 cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
1665     # Flavor: bool
1666     # No user value, uncomment the following line to provide one.
1667     # user_value 0
1668     # value_source default
1669     # Default value: 0
1670     # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
1671     #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
1672     #   --> 0
1673 };
1674
1675 # Route diagnostic output to debug channel
1676 # If not inheriting the console setup from the ROM monitor,
1677 # it is possible to redirect diagnostic output to the debug
1678 # channel by enabling this option. Depending on the debugger
1679 # used it may also be necessary to select a mangler for the
1680 # output to be displayed by the debugger.
1681 #
1682 cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
1683     # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
1684     #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
1685     #   --> 1
1686     # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
1687     #     CYGPKG_HAL_ARM == current
1688     #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
1689     #     CYGPKG_HAL_V85X_V850 (unknown) == 0
1690     #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
1691     #   --> 1
1692
1693     # Flavor: bool
1694     # No user value, uncomment the following line to provide one.
1695     # user_value 0
1696     # value_source default
1697     # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
1698     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
1699     #     CYG_HAL_STARTUP == ROMRAM
1700     #   --> 0
1701
1702     # The following properties are affected by this value
1703     # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
1704     #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
1705 };
1706
1707 # >
1708 # Mangler used on diag output
1709 # It is sometimes necessary to mangle (encode) the
1710 # diag ASCII text output in order for it to show up at the
1711 # other end. In particular, GDB may silently ignore raw
1712 # ASCII text.
1713 #
1714 cdl_option CYGSEM_HAL_DIAG_MANGLER {
1715     # This option is not active
1716     # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
1717
1718     # Flavor: data
1719     # No user value, uncomment the following line to provide one.
1720     # user_value GDB
1721     # value_source default
1722     # Default value: GDB
1723     # Legal values: "GDB" "None"
1724 };
1725
1726 # <
1727 # <
1728 # HAL interrupt handling
1729 # A number of configuration options related to interrupt
1730 # handling are common to most or all HAL packages, even though
1731 # the implementations will vary from architecture to
1732 # architecture.
1733 #
1734 cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
1735     # There is no associated value.
1736 };
1737
1738 # >
1739 # Use separate stack for interrupts
1740 # When an interrupt occurs this interrupt can be handled either
1741 # on the current stack or on a separate stack maintained by the
1742 # HAL. Using a separate stack requires a small number of extra
1743 # instructions in the interrupt handling code, but it has the
1744 # advantage that it is no longer necessary to allow extra space
1745 # in every thread stack for the interrupt handlers. The amount
1746 # of extra space required depends on the interrupt handlers
1747 # that are being used.
1748 #
1749 cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
1750     # Flavor: bool
1751     # No user value, uncomment the following line to provide one.
1752     # user_value 1
1753     # The inferred value should not be edited directly.
1754     inferred_value 0
1755     # value_source inferred
1756     # Default value: 1
1757
1758     # The following properties are affected by this value
1759     # package CYGPKG_REDBOOT
1760     #     Requires:  CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 
1761 };
1762
1763 # Interrupt stack size
1764 # This configuration option specifies the stack size in bytes
1765 # for the interrupt stack. Typically this should be a multiple
1766 # of 16, but the exact requirements will vary from architecture
1767 # to architecture. The interrupt stack serves two separate
1768 # purposes. It is used as the stack during system
1769 # initialization. In addition, if the interrupt system is
1770 # configured to use a separate stack then all interrupts will
1771 # be processed on this stack. The exact memory requirements
1772 # will vary from application to application, and will depend
1773 # heavily on whether or not other interrupt-related options,
1774 # for example nested interrupts, are enabled. On most targets,
1775 # in a configuration with no kernel this stack will also be
1776 # the stack used to invoke the application, and must obviously
1777 # be appropriately large in that case.
1778 #
1779 cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
1780     # Flavor: data
1781     # No user value, uncomment the following line to provide one.
1782     # user_value 32768
1783     # value_source default
1784     # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
1785     #     CYGPKG_KERNEL (unknown) == 0
1786     #   --> 32768
1787     # Legal values: 128 to 1048576
1788 };
1789
1790 # Allow nested interrupts
1791 # When an interrupt occurs the HAL interrupt handling code can
1792 # either leave interrupts disabled for the duration of the
1793 # interrupt handling code, or by doing some extra work it can
1794 # reenable interrupts before invoking the interrupt handler and
1795 # thus allow nested interrupts to happen. If all the interrupt
1796 # handlers being used are small and do not involve any loops
1797 # then it is usually better to disallow nested interrupts.
1798 # However if any of the interrupt handlers are more complicated
1799 # than nested interrupts will usually be required.
1800 #
1801 cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
1802     # Flavor: bool
1803     # No user value, uncomment the following line to provide one.
1804     # user_value 0
1805     # value_source default
1806     # Default value: 0
1807 };
1808
1809 # Save minimum context on interrupt
1810 # The HAL interrupt handling code can exploit the calling conventions
1811 # defined for a given architecture to reduce the amount of state
1812 # that has to be saved. Generally this improves performance and
1813 # reduces code size. However it can make source-level debugging
1814 # more difficult.
1815 #
1816 cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
1817     # Flavor: bool
1818     # No user value, uncomment the following line to provide one.
1819     # user_value 1
1820     # The inferred value should not be edited directly.
1821     inferred_value 0
1822     # value_source inferred
1823     # Default value: 1
1824
1825     # The following properties are affected by this value
1826     # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
1827     #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
1828     # component CYGBLD_BUILD_REDBOOT
1829     #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
1830 };
1831
1832 # Chain all interrupts together
1833 # Interrupts can be attached to vectors either singly, or be
1834 # chained together. The latter is necessary if there is no way
1835 # of discovering which device has interrupted without
1836 # inspecting the device itself. It can also reduce the amount
1837 # of RAM needed for interrupt decoding tables and code.
1838 #
1839 cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
1840     # Flavor: bool
1841     # No user value, uncomment the following line to provide one.
1842     # user_value 0
1843     # value_source default
1844     # Default value: 0
1845 };
1846
1847 # Ignore spurious [fleeting] interrupts
1848 # On some hardware, interrupt sources may not be de-bounced or
1849 # de-glitched.  Rather than try to handle these interrupts (no
1850 # handling may be possible), this option allows the HAL to simply
1851 # ignore them.  In most cases, if the interrupt is real it will
1852 # reoccur in a detectable form.
1853 #
1854 cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
1855     # Flavor: bool
1856     # No user value, uncomment the following line to provide one.
1857     # user_value 0
1858     # value_source default
1859     # Default value: 0
1860 };
1861
1862 # <
1863 # HAL context switch support
1864 # A number of configuration options related to thread contexts
1865 # are common to most or all HAL packages, even though the
1866 # implementations will vary from architecture to architecture.
1867 #
1868 cdl_component CYGPKG_HAL_COMMON_CONTEXT {
1869     # There is no associated value.
1870
1871     # The following properties are affected by this value
1872 };
1873
1874 # >
1875 # Use minimum thread context
1876 # The thread context switch code can exploit the calling
1877 # conventions defined for a given architecture to reduce the
1878 # amount of state that has to be saved during a context
1879 # switch. Generally this improves performance and reduces
1880 # code size. However it can make source-level debugging more
1881 # difficult.
1882 #
1883 cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
1884     # Flavor: bool
1885     # No user value, uncomment the following line to provide one.
1886     # user_value 1
1887     # The inferred value should not be edited directly.
1888     inferred_value 0
1889     # value_source inferred
1890     # Default value: 1
1891
1892     # The following properties are affected by this value
1893     # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
1894     #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
1895     # component CYGBLD_BUILD_REDBOOT
1896     #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
1897 };
1898
1899 # <
1900 # Explicit control over cache behaviour
1901 # These options let the default behaviour of the caches 
1902 # be easily configurable.
1903 #
1904 cdl_component CYGPKG_HAL_CACHE_CONTROL {
1905     # There is no associated value.
1906 };
1907
1908 # >
1909 # Enable DATA cache on startup
1910 # Enabling this option will cause the data cache to be enabled
1911 # as soon as practicable when eCos starts up.  One would choose
1912 # to disable this if the data cache cannot safely be turned on,
1913 # such as a case where the cache(s) require additional platform
1914 # specific setup.
1915 #
1916 cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
1917     # Flavor: bool
1918     # No user value, uncomment the following line to provide one.
1919     # user_value 1
1920     # value_source default
1921     # Default value: 1
1922 };
1923
1924 # >
1925 # DATA cache mode on startup
1926 # This option controls the mode the cache will be set to
1927 # when enabled on startup.
1928 #
1929 cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
1930     # Flavor: data
1931     # No user value, uncomment the following line to provide one.
1932     # user_value COPYBACK
1933     # value_source default
1934     # Default value: COPYBACK
1935     # Legal values:  "COPYBACK" "WRITETHRU" 
1936 };
1937
1938 # <
1939 # Enable INSTRUCTION cache on startup
1940 # Enabling this option will cause the instruction cache to be enabled
1941 # as soon as practicable when eCos starts up.  One would choose
1942 # to disable this if the instruction cache cannot safely be turned on,
1943 # such as a case where the cache(s) require additional platform
1944 # specific setup.
1945 #
1946 cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
1947     # Flavor: bool
1948     # No user value, uncomment the following line to provide one.
1949     # user_value 1
1950     # value_source default
1951     # Default value: 1
1952 };
1953
1954 # <
1955 # Source-level debugging support
1956 # If the source level debugger gdb is to be used for debugging
1957 # application code then it may be necessary to configure in support
1958 # for this in the HAL.
1959 #
1960 cdl_component CYGPKG_HAL_DEBUG {
1961     # There is no associated value.
1962 };
1963
1964 # >
1965 # Support for GDB stubs
1966 # The HAL implements GDB stubs for the target.
1967 #
1968 cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
1969     # Implemented by CYGPKG_HAL_ARM_TX27KARO, active, enabled
1970     # This value cannot be modified here.
1971     # Flavor: data
1972     # Current_value: 1
1973
1974     # The following properties are affected by this value
1975     # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
1976     #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
1977     # option CYGBLD_BUILD_REDBOOT_WITH_GDB
1978     #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
1979 };
1980
1981 # Include GDB stubs in HAL
1982 # This option causes a set of GDB stubs to be included into the
1983 # system. On some target systems the GDB support will be
1984 # provided by other means, for example by a ROM monitor. On
1985 # other targets, especially when building a ROM-booting system,
1986 # the necessary support has to go into the target library
1987 # itself. When GDB stubs are include in a configuration, HAL
1988 # serial drivers must also be included.
1989 #
1990 cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
1991     # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
1992     #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
1993     #   --> 1
1994
1995     # Flavor: bool
1996     # No user value, uncomment the following line to provide one.
1997     # user_value 0
1998     # The inferred value should not be edited directly.
1999     inferred_value 0
2000     # value_source inferred
2001     # Default value: 0
2002     # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
2003     #     CYGSEM_HAL_USE_ROM_MONITOR == 0
2004     #   --> 1
2005     # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
2006     #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
2007     #   --> 1
2008     # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
2009     #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
2010     #   --> 1
2011     # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
2012     #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
2013     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
2014     #   --> 1
2015
2016     # The following properties are affected by this value
2017     # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
2018     #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
2019     # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
2020     #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2021     # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
2022     #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2023     # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
2024     #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
2025     # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
2026     #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
2027     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
2028     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
2029     # option CYGBLD_BUILD_COMMON_GDB_STUBS
2030     #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2031     # option CYGPKG_HAL_GDB_FILEIO
2032     #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2033     # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
2034     #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2035     # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
2036     #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2037     # option CYGBLD_BUILD_REDBOOT_WITH_GDB
2038     #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2039 };
2040
2041 # Support for external break support in GDB stubs
2042 # The HAL implements external break (or asynchronous interrupt)
2043 # in the GDB stubs for the target.
2044 #
2045 cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
2046     # Implemented by CYGPKG_HAL_ARM_TX27KARO, active, enabled
2047     # This value cannot be modified here.
2048     # Flavor: data
2049     # Current_value: 1
2050
2051     # The following properties are affected by this value
2052     # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
2053     #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
2054 };
2055
2056 # Include GDB external break support for stubs
2057 # This option causes the GDB stub to add a serial interrupt handler
2058 # which will listen for GDB break packets. This lets you stop the
2059 # target asynchronously when using GDB, usually by hitting Control+C
2060 # or pressing the STOP button. This option differs from
2061 # CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
2062 # GDB stubs are present.
2063 #
2064 cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
2065     # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
2066     #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
2067     #   --> 1
2068
2069     # Flavor: bool
2070     # No user value, uncomment the following line to provide one.
2071     # user_value 0
2072     # value_source default
2073     # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2074     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
2075     #   --> 0
2076     # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2077     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
2078     #   --> 0
2079
2080     # The following properties are affected by this value
2081     # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
2082     #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
2083     # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
2084     #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
2085     # option CYGBLD_BUILD_REDBOOT_WITH_GDB
2086     #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
2087 };
2088
2089 # Platform does not support CTRLC
2090 #
2091 cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
2092     # No options implement this inferface
2093     # This value cannot be modified here.
2094     # Flavor: data
2095     # Current_value: 0
2096
2097     # The following properties are affected by this value
2098     # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
2099     #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
2100 };
2101
2102 # Include GDB external break support when no stubs
2103 # This option adds an interrupt handler for the GDB serial line
2104 # which will listen for GDB break packets. This lets you stop the
2105 # target asynchronously when using GDB, usually by hitting Control+C
2106 # or pressing the STOP button. This option differs from
2107 # CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
2108 # stubs are NOT present.
2109 #
2110 cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
2111     # This option is not active
2112     # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
2113     #     CYGSEM_HAL_USE_ROM_MONITOR == 0
2114     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
2115     #   --> 0
2116     # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
2117     #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
2118     #   --> 1
2119
2120     # Flavor: bool
2121     # No user value, uncomment the following line to provide one.
2122     # user_value 1
2123     # value_source default
2124     # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
2125     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
2126     #   --> 1
2127     # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
2128     #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0
2129     #   --> 1
2130
2131     # The following properties are affected by this value
2132     # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
2133     #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
2134     # component CYGBLD_BUILD_REDBOOT
2135     #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
2136 };
2137
2138 # Include GDB multi-threading debug support
2139 # This option enables some extra HAL code which is needed
2140 # to support multi-threaded source level debugging.
2141 #
2142 cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
2143     # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
2144     #     CYGSEM_HAL_ROM_MONITOR == 1
2145     #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
2146     #   --> 1
2147
2148     # Flavor: bool
2149     # No user value, uncomment the following line to provide one.
2150     # user_value 1
2151     # value_source default
2152     # Default value: 1
2153
2154     # The following properties are affected by this value
2155     # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
2156     #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
2157     # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
2158     #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
2159 };
2160
2161 # Number of times to retry sending a $O packet
2162 # This option controls the number of attempts that eCos programs
2163 # will make to send a $O packet to a host GDB process.  If it is
2164 # set non-zero, then the target process will attempt to resend the
2165 # $O packet data up to this number of retries.  Caution: use of
2166 # this option is not recommended as it can thoroughly confuse the
2167 # host GDB process.
2168 #
2169 cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
2170     # Flavor: data
2171     # No user value, uncomment the following line to provide one.
2172     # user_value 0
2173     # value_source default
2174     # Default value: 0
2175 };
2176
2177 # Timeout period for GDB packets
2178 # This option controls the time (in milliseconds) that eCos programs
2179 # will wait for a response when sending packets to a host GDB process.
2180 # If this time elapses, then the packet will be resent, up to some
2181 # maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
2182 #
2183 cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
2184     # Flavor: data
2185     # No user value, uncomment the following line to provide one.
2186     # user_value 500
2187     # value_source default
2188     # Default value: 500
2189 };
2190
2191 # Location of CRC32 table
2192 # The stubs use a 1 kilobyte CRC table that can either be pregenerated
2193 # and placed in ROM, or generated at runtime in RAM. Depending on
2194 # your memory constraints, one of these options may be better.
2195 #
2196 cdl_option CYGDBG_HAL_CRCTABLE_LOCATION {
2197     # Flavor: data
2198     # No user value, uncomment the following line to provide one.
2199     # user_value RAM
2200     # value_source default
2201     # Default value: RAM
2202     # Legal values: "ROM" "RAM"
2203 };
2204
2205 # <
2206 # ROM monitor support
2207 # Support for ROM monitors can be built in to your application. 
2208 # It may also be relevant to build your application as a ROM monitor
2209 # itself. Such options are contained here if relevant for your chosen
2210 # platform. The options and ROM monitors available to choose are
2211 # platform-dependent.
2212 #
2213 cdl_component CYGPKG_HAL_ROM_MONITOR {
2214     # There is no associated value.
2215
2216     # The following properties are affected by this value
2217 };
2218
2219 # >
2220 # Target has virtual vector support
2221 #
2222 cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
2223     # Implemented by CYGPKG_HAL_ARM_TX27KARO, active, enabled
2224     # This value cannot be modified here.
2225     # Flavor: data
2226     # Current_value: 1
2227
2228     # The following properties are affected by this value
2229     # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
2230     #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
2231 };
2232
2233 # Target supports baud rate control via vectors
2234 # Whether this target supports the __COMMCTL_GETBAUD
2235 # and __COMMCTL_SETBAUD virtual vector comm control operations.
2236 #
2237 cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
2238     # Implemented by CYGPKG_HAL_ARM_MX27, active, enabled
2239     # This value cannot be modified here.
2240     # Flavor: data
2241     # Current_value: 1
2242
2243     # The following properties are affected by this value
2244     # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
2245     #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
2246 };
2247
2248 # Enable use of virtual vector calling interface
2249 # Virtual vector support allows the HAL to let the ROM
2250 # monitor handle certain operations. The virtual vector table
2251 # defines a calling interface between applications running in
2252 # RAM and the ROM monitor.
2253 #
2254 cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
2255     # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
2256     #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
2257     #   --> 1
2258
2259     # Calculated value: 1
2260     # Flavor: bool
2261     # Current value: 1
2262
2263     # The following properties are affected by this value
2264     # component CYGBLD_BUILD_REDBOOT
2265     #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
2266     # package CYGPKG_DEVS_ETH_PHY
2267     #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
2268 };
2269
2270 # >
2271 # Inherit console settings from ROM monitor
2272 # When this option is set, the application will inherit
2273 # the console as set up by the ROM monitor. This means
2274 # that the application will use whatever channel and
2275 # mangling style was used by the ROM monitor when
2276 # the application was launched.
2277 #
2278 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
2279     # This option is not active
2280     # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
2281     #     CYGSEM_HAL_USE_ROM_MONITOR == 0
2282     #   --> 0
2283
2284     # Flavor: bool
2285     # No user value, uncomment the following line to provide one.
2286     # user_value 0
2287     # value_source default
2288     # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
2289     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
2290     #   --> 0
2291
2292     # The following properties are affected by this value
2293     # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
2294     #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
2295     # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
2296     #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
2297 };
2298
2299 # Debug channel is configurable
2300 # This option is a configuration hint - it is enabled
2301 # when the HAL initialization code will make use
2302 # of the debug channel configuration option.
2303 #
2304 cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
2305     # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
2306     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
2307     # Flavor: bool
2308     # Current value: 1
2309
2310     # The following properties are affected by this value
2311     # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
2312     #     ActiveIf: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
2313 };
2314
2315 # Console channel is configurable
2316 # This option is a configuration hint - it is enabled
2317 # when the HAL initialization code will make use
2318 # of the console channel configuration option.
2319 #
2320 cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
2321     # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
2322     #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
2323     #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
2324     # Flavor: bool
2325     # Current value: 1
2326
2327     # The following properties are affected by this value
2328     # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
2329     #     ActiveIf: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
2330 };
2331
2332 # Initialize whole of virtual vector table
2333 # This option will cause the whole of the virtual
2334 # vector table to be initialized with dummy values on
2335 # startup. When this option is enabled, all the
2336 # options below must also be enabled - or the
2337 # table would be empty when the application
2338 # launches.
2339 # On targets where older ROM monitors without
2340 # virtual vector support may still be in use, it is
2341 # necessary for RAM applictions to initialize the
2342 # table (since all HAL diagnostics and debug IO
2343 # happens via the table).
2344 #
2345 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
2346     # Flavor: bool
2347     # No user value, uncomment the following line to provide one.
2348     # user_value 1
2349     # value_source default
2350     # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
2351     #     CYG_HAL_STARTUP == ROMRAM
2352     #     CYGSEM_HAL_USE_ROM_MONITOR == 0
2353     #   --> 1
2354     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
2355     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
2356     #   --> 1
2357     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
2358     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
2359     #   --> 1
2360     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
2361     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
2362     #   --> 1
2363     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
2364     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
2365     #   --> 1
2366     # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
2367     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
2368     #   --> 1
2369
2370     # The following properties are affected by this value
2371     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
2372     #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
2373     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
2374     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2375     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
2376     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
2377     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
2378     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2379     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
2380     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2381     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
2382     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2383     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
2384     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
2385 };
2386
2387 # Claim virtual vector table entries by default
2388 # By default most virtual vectors will be claimed by
2389 # RAM startup configurations, meaning that the RAM
2390 # application will provide the services. The
2391 # exception is COMMS support (HAL
2392 # diagnostics/debugging IO) which is left in the
2393 # control of the ROM monitor.
2394 # The reasoning behind this is to get as much of the
2395 # code exercised during regular development so it
2396 # is known to be working the few times a new ROM
2397 # monitor or a ROM production configuration is used
2398 # - COMMS are excluded only by necessity in order to
2399 # avoid breaking an existing debugger connections
2400 # (there may be ways around this).
2401 # For production RAM configurations this option can
2402 # be switched off, causing the appliction to rely on
2403 # the ROM monitor for these services, thus
2404 # saving some space.
2405 # Individual vectors may also be left unclaimed,
2406 # controlled by the below options (meaning that the
2407 # associated service provided by the ROM monitor
2408 # will be used).
2409 #
2410 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
2411     # This option is not active
2412     # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
2413     #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
2414     #   --> 0
2415
2416     # Flavor: bool
2417     # No user value, uncomment the following line to provide one.
2418     # user_value 1
2419     # value_source default
2420     # Default value: 1
2421
2422     # The following properties are affected by this value
2423     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
2424     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2425     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
2426     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2427     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
2428     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2429     # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
2430     #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2431 };
2432
2433 # Claim reset virtual vectors
2434 # This option will cause the reset and kill_by_reset
2435 # virtual vectors to be claimed.
2436 #
2437 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
2438     # Flavor: bool
2439     # No user value, uncomment the following line to provide one.
2440     # user_value 1
2441     # value_source default
2442     # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2443     #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
2444     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
2445     #   --> 1
2446
2447     # The following properties are affected by this value
2448     # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
2449     #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
2450 };
2451
2452 # Claim version virtual vectors
2453 # This option will cause the version
2454 # virtual vectors to be claimed.
2455 #
2456 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
2457     # Flavor: bool
2458     # No user value, uncomment the following line to provide one.
2459     # user_value 1
2460     # value_source default
2461     # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
2462     #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
2463     #   --> 1
2464 };
2465
2466 # Claim delay_us virtual vector
2467 # This option will cause the delay_us
2468 # virtual vector to be claimed.
2469 #
2470 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
2471     # Flavor: bool
2472     # No user value, uncomment the following line to provide one.
2473     # user_value 1
2474     # value_source default
2475     # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2476     #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
2477     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
2478     #   --> 1
2479
2480     # The following properties are affected by this value
2481     # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
2482     #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
2483 };
2484
2485 # Claim cache virtual vectors
2486 # This option will cause the cache virtual vectors
2487 # to be claimed.
2488 #
2489 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
2490     # Flavor: bool
2491     # No user value, uncomment the following line to provide one.
2492     # user_value 1
2493     # value_source default
2494     # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2495     #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
2496     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
2497     #   --> 1
2498
2499     # The following properties are affected by this value
2500     # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
2501     #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
2502 };
2503
2504 # Claim data virtual vectors
2505 # This option will cause the data virtual vectors
2506 # to be claimed. At present there is only one, used
2507 # by the RedBoot ethernet driver to share diag output.
2508 #
2509 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
2510     # Flavor: bool
2511     # No user value, uncomment the following line to provide one.
2512     # user_value 1
2513     # value_source default
2514     # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
2515     #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
2516     #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
2517     #   --> 1
2518
2519     # The following properties are affected by this value
2520     # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
2521     #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
2522 };
2523
2524 # Claim comms virtual vectors
2525 # This option will cause the communication tables
2526 # that are part of the virtual vectors mechanism to
2527 # be claimed. Note that doing this may cause an
2528 # existing ROM monitor communication connection to
2529 # be closed. For this reason, the option is disabled
2530 # per default for normal application
2531 # configurations.
2532 #
2533 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
2534     # Flavor: bool
2535     # No user value, uncomment the following line to provide one.
2536     # user_value 1
2537     # value_source default
2538     # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
2539     #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
2540     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
2541     #   --> 1
2542
2543     # The following properties are affected by this value
2544     # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2545     #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
2546     # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
2547     #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
2548     # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
2549     #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
2550     # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
2551     #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
2552 };
2553
2554 # Do diagnostic IO via virtual vector table
2555 # All HAL IO happens via the virtual vector table / comm
2556 # tables when those tables are supported by the HAL.
2557 # If so desired, the low-level IO functions can
2558 # still be provided by the RAM application by
2559 # enabling the CLAIM_COMMS option.
2560 #
2561 cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
2562     # Calculated value: 1
2563     # Flavor: bool
2564     # Current value: 1
2565
2566     # The following properties are affected by this value
2567     # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
2568     #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
2569     # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2570     #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
2571 };
2572
2573 # <
2574 # Behave as a ROM monitor
2575 # Enable this option if this program is to be used as a ROM monitor,
2576 # i.e. applications will be loaded into RAM on the TX27 module, and this
2577 # ROM monitor may process exceptions or interrupts generated from the
2578 # application. This enables features such as utilizing a separate
2579 # interrupt stack when exceptions are generated.
2580 #
2581 cdl_option CYGSEM_HAL_ROM_MONITOR {
2582     # Flavor: bool
2583     # No user value, uncomment the following line to provide one.
2584     # user_value 0
2585     # The inferred value should not be edited directly.
2586     inferred_value 1
2587     # value_source inferred
2588     # Default value: 0
2589     # Requires:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
2590     #     CYG_HAL_STARTUP == ROMRAM
2591     #     CYG_HAL_STARTUP == ROMRAM
2592     #   --> 1
2593
2594     # The following properties are affected by this value
2595     # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
2596     #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
2597     # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
2598     #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
2599     # option CYGPRI_REDBOOT_ROM_MONITOR
2600     #     Requires: CYGSEM_HAL_ROM_MONITOR
2601 };
2602
2603 # Work with a ROM monitor
2604 # Support can be enabled for different varieties of ROM monitor.
2605 # This support changes various eCos semantics such as the encoding
2606 # of diagnostic output, or the overriding of hardware interrupt
2607 # vectors.
2608 # Firstly there is "Generic" support which prevents the HAL
2609 # from overriding the hardware vectors that it does not use, to
2610 # instead allow an installed ROM monitor to handle them. This is
2611 # the most basic support which is likely to be common to most
2612 # implementations of ROM monitor.
2613 # "GDB_stubs" provides support when GDB stubs are included in
2614 # the ROM monitor or boot ROM.
2615 #
2616 cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
2617     # Flavor: booldata
2618     # No user value, uncomment the following line to provide one.
2619     # user_value 0 0
2620     # value_source default
2621     # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
2622     #     CYG_HAL_STARTUP == ROMRAM
2623     #   --> 0 0
2624     # Legal values:  "Generic" "GDB_stubs" 
2625     # Requires:  CYG_HAL_STARTUP == "RAM" 
2626     #     CYG_HAL_STARTUP == ROMRAM
2627     #   --> 0
2628
2629     # The following properties are affected by this value
2630     # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2631     #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
2632     # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
2633     #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
2634     # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
2635     #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
2636     # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
2637     #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
2638 };
2639
2640 # <
2641 # Platform defined I/O channels.
2642 # Platforms which provide additional I/O channels can implement
2643 # this interface, indicating that the function plf_if_init()
2644 # needs to be called.
2645 #
2646 cdl_interface CYGINT_HAL_PLF_IF_INIT {
2647     # No options implement this inferface
2648     # This value cannot be modified here.
2649     # Flavor: data
2650     # Current_value: 0
2651 };
2652
2653 # Platform IDE I/O support.
2654 # Platforms which provide IDE controllers can implement
2655 # this interface, indicating that IDE I/O macros are
2656 # available.
2657 #
2658 cdl_interface CYGINT_HAL_PLF_IF_IDE {
2659     # No options implement this inferface
2660     # This value cannot be modified here.
2661     # Flavor: data
2662     # Current_value: 0
2663
2664     # The following properties are affected by this value
2665     # component CYGSEM_REDBOOT_DISK_IDE
2666     #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
2667 };
2668
2669 # File I/O operations via GDB
2670 # This option enables support for various file I/O
2671 # operations using the GDB remote protocol to communicate
2672 # with GDB. The operations are then performed on the
2673 # debugging host by proxy. These operations are only
2674 # currently available by using a system call interface
2675 # to RedBoot. This may change in the future.
2676 #
2677 cdl_option CYGPKG_HAL_GDB_FILEIO {
2678     # This option is not active
2679     # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
2680     #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
2681     #   --> 0
2682
2683     # Flavor: bool
2684     # No user value, uncomment the following line to provide one.
2685     # user_value 0
2686     # value_source default
2687     # Default value: 0
2688     # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2689     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
2690     #   --> 0
2691 };
2692
2693 # Build Compiler sanity checking tests
2694 # Enabling this option causes compiler tests to be built.
2695 #
2696 cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
2697     # Flavor: bool
2698     # No user value, uncomment the following line to provide one.
2699     # user_value 0
2700     # value_source default
2701     # Default value: 0
2702
2703     # The following properties are affected by this value
2704     # component CYGPKG_HAL_TESTS
2705     #     Calculated:   "tests/context tests/basic"
2706     #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
2707     #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
2708     #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
2709 };
2710
2711 # Common HAL tests
2712 # This option specifies the set of tests for the common HAL.
2713 #
2714 cdl_component CYGPKG_HAL_TESTS {
2715     # Calculated value:   "tests/context tests/basic"
2716     #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
2717     #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
2718     #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
2719     #     CYGINT_HAL_TESTS_NO_CACHES == 0
2720     #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
2721     #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
2722     # Flavor: data
2723     # Current_value: tests/context tests/basic tests/cache tests/intr
2724 };
2725
2726 # >
2727 # Interface for cache presence
2728 # Some architectures and/or platforms do not have caches. By
2729 # implementing this interface, these can disable the various
2730 # cache-related tests.
2731 #
2732 cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
2733     # No options implement this inferface
2734     # This value cannot be modified here.
2735     # Flavor: booldata
2736     # Current value: 0 0
2737
2738     # The following properties are affected by this value
2739     # component CYGPKG_HAL_TESTS
2740     #     Calculated:   "tests/context tests/basic"
2741     #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
2742     #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
2743     #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
2744 };
2745
2746 # <
2747 # ARM architecture
2748 # The ARM architecture HAL package provides generic
2749 # support for this processor architecture. It is also
2750 # necessary to select a specific target platform HAL
2751 # package.
2752 #
2753 cdl_package CYGPKG_HAL_ARM {
2754     # Packages cannot be added or removed, nor can their version be changed,
2755     # simply by editing their value. Instead the appropriate configuration
2756     # should be used to perform these actions.
2757
2758     # This value cannot be modified here.
2759     # Flavor: booldata
2760     # Current value: 1 current
2761
2762     # The following properties are affected by this value
2763     # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
2764     #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
2765     # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
2766     #     ActiveIf: CYGPKG_HAL_ARM
2767 };
2768
2769 # >
2770 # The CPU architecture supports THUMB mode
2771 #
2772 cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
2773     # No options implement this inferface
2774     # This value cannot be modified here.
2775     # Flavor: data
2776     # Current_value: 0
2777
2778     # The following properties are affected by this value
2779     # option CYGHWR_THUMB
2780     #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
2781     # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
2782     #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
2783 };
2784
2785 # Enable Thumb instruction set
2786 # Enable use of the Thumb instruction set.
2787 #
2788 cdl_option CYGHWR_THUMB {
2789     # This option is not active
2790     # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
2791     #     CYGINT_HAL_ARM_THUMB_ARCH == 0
2792     #   --> 0
2793
2794     # Flavor: bool
2795     # No user value, uncomment the following line to provide one.
2796     # user_value 0
2797     # value_source default
2798     # Default value: 0
2799
2800     # The following properties are affected by this value
2801     # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
2802     #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
2803 };
2804
2805 # Enable Thumb interworking compiler option
2806 # This option controls the use of -mthumb-interwork in the
2807 # compiler flags. It defaults enabled in Thumb or ROM monitor
2808 # configurations, but can be overridden for reduced memory
2809 # footprint where interworking is not a requirement.
2810 #
2811 cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
2812     # This option is not active
2813     # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
2814     #     CYGINT_HAL_ARM_THUMB_ARCH == 0
2815     #   --> 0
2816
2817     # Flavor: bool
2818     # No user value, uncomment the following line to provide one.
2819     # user_value 1
2820     # value_source default
2821     # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
2822     #     CYGHWR_THUMB == 0
2823     #     CYGSEM_HAL_ROM_MONITOR == 1
2824     #   --> 1
2825 };
2826
2827 # The platform and architecture supports Big Endian operation
2828 #
2829 cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
2830     # No options implement this inferface
2831     # This value cannot be modified here.
2832     # Flavor: data
2833     # Current_value: 0
2834
2835     # The following properties are affected by this value
2836     # option CYGHWR_HAL_ARM_BIGENDIAN
2837     #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
2838 };
2839
2840 # Use big-endian mode
2841 # Use the CPU in big-endian mode.
2842 #
2843 cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
2844     # This option is not active
2845     # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
2846     #     CYGINT_HAL_ARM_BIGENDIAN == 0
2847     #   --> 0
2848
2849     # Flavor: bool
2850     # No user value, uncomment the following line to provide one.
2851     # user_value 0
2852     # value_source default
2853     # Default value: 0
2854 };
2855
2856 # The platform uses a processor with an ARM7 core
2857 #
2858 cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
2859     # No options implement this inferface
2860     # This value cannot be modified here.
2861     # Flavor: data
2862     # Current_value: 0
2863
2864     # The following properties are affected by this value
2865     # option CYGHWR_HAL_ARM_CPU_FAMILY
2866     #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
2867     #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
2868     #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
2869     #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
2870     #                             "" 
2871     # option CYGHWR_HAL_ARM_CPU_FAMILY
2872     #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
2873     #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
2874     #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
2875     #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
2876     #                              "unknown" 
2877 };
2878
2879 # The platform uses a processor with an ARM9 core
2880 #
2881 cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
2882     # Implemented by CYGPKG_HAL_ARM_MX27, active, enabled
2883     # This value cannot be modified here.
2884     # Flavor: data
2885     # Current_value: 1
2886
2887     # The following properties are affected by this value
2888     # option CYGHWR_HAL_ARM_CPU_FAMILY
2889     #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
2890     #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
2891     #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
2892     #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
2893     #                             "" 
2894     # option CYGHWR_HAL_ARM_CPU_FAMILY
2895     #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
2896     #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
2897     #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
2898     #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
2899     #                              "unknown" 
2900 };
2901
2902 # The platform uses a processor with a StrongARM core
2903 #
2904 cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
2905     # No options implement this inferface
2906     # This value cannot be modified here.
2907     # Flavor: data
2908     # Current_value: 0
2909
2910     # The following properties are affected by this value
2911     # option CYGHWR_HAL_ARM_CPU_FAMILY
2912     #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
2913     #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
2914     #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
2915     #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
2916     #                             "" 
2917     # option CYGHWR_HAL_ARM_CPU_FAMILY
2918     #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
2919     #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
2920     #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
2921     #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
2922     #                              "unknown" 
2923 };
2924
2925 # The platform uses a processor with a XScale core
2926 #
2927 cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
2928     # No options implement this inferface
2929     # This value cannot be modified here.
2930     # Flavor: data
2931     # Current_value: 0
2932
2933     # The following properties are affected by this value
2934     # option CYGHWR_HAL_ARM_CPU_FAMILY
2935     #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
2936     #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
2937     #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
2938     #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
2939     #                             "" 
2940     # option CYGHWR_HAL_ARM_CPU_FAMILY
2941     #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
2942     #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
2943     #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
2944     #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
2945     #                              "unknown" 
2946 };
2947
2948 # ARM CPU family
2949 # It is possible to optimize code for different
2950 # ARM CPU families. This option selects which CPU to
2951 # optimize for on boards that support multiple CPU types.
2952 #
2953 cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
2954     # Flavor: data
2955     # No user value, uncomment the following line to provide one.
2956     # user_value ARM9
2957     # value_source default
2958     # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
2959     #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
2960     #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
2961     #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
2962     #                              "unknown" 
2963     #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
2964     #     CYGINT_HAL_ARM_ARCH_ARM9 == 1
2965     #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
2966     #     CYGINT_HAL_ARM_ARCH_XSCALE == 0
2967     #   --> ARM9
2968     # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
2969     #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
2970     #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
2971     #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
2972     #                             "" 
2973     #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
2974     #     CYGINT_HAL_ARM_ARCH_ARM9 == 1
2975     #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
2976     #     CYGINT_HAL_ARM_ARCH_XSCALE == 0
2977 };
2978
2979 # Provide diagnostic dump for exceptions
2980 # Print messages about hardware exceptions, including
2981 # raw exception frame dump and register contents.
2982 #
2983 cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
2984     # Flavor: bool
2985     # No user value, uncomment the following line to provide one.
2986     # user_value 0
2987     # value_source default
2988     # Default value: 0
2989     # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
2990     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
2991     #   --> 1
2992 };
2993
2994 # Process all exceptions with the eCos application
2995 # Normal RAM-based programs which do not include GDB stubs 
2996 # defer processing of the illegal instruction exception to GDB.
2997 # Setting this options allows the program to explicitly handle
2998 # the illegal instruction exception itself.  Note: this will
2999 # prevent the use of GDB to debug the application as breakpoints
3000 # will no longer work.
3001 #
3002 cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
3003     # Flavor: bool
3004     # No user value, uncomment the following line to provide one.
3005     # user_value 0
3006     # value_source default
3007     # Default value: 0
3008 };
3009
3010 # Support GDB thread operations via ICE/Multi-ICE
3011 # Allow GDB to get thread information via the ICE/Multi-ICE
3012 # connection.
3013 #
3014 cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
3015     # Flavor: bool
3016     # No user value, uncomment the following line to provide one.
3017     # user_value 0
3018     # value_source default
3019     # Default value: 0
3020     # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
3021     #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
3022     #   --> 0
3023     # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
3024     #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
3025     #   --> 1
3026     # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
3027     #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
3028     #   --> 0
3029 };
3030
3031 # Support for 'gprof' callbacks
3032 # The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
3033 # to acquire the interrupt-context PC and SP, when this option is
3034 # active.
3035 #
3036 cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
3037     # This option is not active
3038     # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
3039     #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
3040     #   --> 0
3041     # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
3042     #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
3043     #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0
3044     #   --> 0
3045
3046     # Calculated value: 1
3047     # Flavor: bool
3048     # Current value: 1
3049 };
3050
3051 # Accept exceptions and irq's occurring in user mode
3052 # For standalone Redboot based programs running in user mode.
3053 #
3054 cdl_option CYGOPT_HAL_ARM_WITH_USER_MODE {
3055     # Flavor: bool
3056     # No user value, uncomment the following line to provide one.
3057     # user_value 0
3058     # value_source default
3059     # Default value: 0
3060 };
3061
3062 # Preserve svc spsr before returning to svc mode
3063 # This option secures exception and breakpoint processing
3064 # triggered during execution of application specific SWI
3065 # handlers.
3066 #
3067 cdl_option CYGOPT_HAL_ARM_PRESERVE_SVC_SPSR {
3068     # Flavor: bool
3069     # No user value, uncomment the following line to provide one.
3070     # user_value 0
3071     # value_source default
3072     # Default value: 0
3073 };
3074
3075 # Linker script
3076 #
3077 cdl_option CYGBLD_LINKER_SCRIPT {
3078     # Calculated value:  "src/arm.ld" 
3079     # Flavor: data
3080     # Current_value: src/arm.ld
3081 };
3082
3083 # Implementations of hal_arm_mem_real_region_top()
3084 #
3085 cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
3086     # No options implement this inferface
3087     # This value cannot be modified here.
3088     # Flavor: data
3089     # Current_value: 0
3090 };
3091
3092 # Freescale SoC architecture
3093 # This HAL variant package provides generic
3094 # support for the Freescale SoC. It is also
3095 # necessary to select a specific target platform HAL
3096 # package.
3097 #
3098 cdl_package CYGPKG_HAL_ARM_MX27 {
3099     # Packages cannot be added or removed, nor can their version be changed,
3100     # simply by editing their value. Instead the appropriate configuration
3101     # should be used to perform these actions.
3102
3103     # This value cannot be modified here.
3104     # Flavor: booldata
3105     # Current value: 1 current
3106
3107     # The following properties are affected by this value
3108 };
3109
3110 # >
3111 # PLL base clock
3112 # The processor can run at various frequencies.
3113 # These values are expressed in KHz.  Note that there are
3114 # several steppings of the rate to run at different
3115 # maximum frequencies.  Check the specs to make sure that your
3116 # particular processor can run at the rate you select here.
3117 #
3118 cdl_option CYGHWR_HAL_ARM_SOC_PLL_REF_CLOCK {
3119     # Flavor: data
3120     # No user value, uncomment the following line to provide one.
3121     # user_value 26000000
3122     # value_source default
3123     # Default value: 26000000
3124     # Legal values: 26000000 27000000 33554432 32768000
3125 };
3126
3127 # Processor clock rate
3128 # The processor can run at various frequencies.
3129 # These values are expressed in KHz.  Note that there are
3130 # several steppings of the rate to run at different
3131 # maximum frequencies.  Check the specs to make sure that your
3132 # particular processor can run at the rate you select here.
3133 #
3134 cdl_option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK {
3135     # Flavor: data
3136     # No user value, uncomment the following line to provide one.
3137     # user_value 399
3138     # value_source default
3139     # Default value:  CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT ?
3140     #                             CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT : 399
3141     #     CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0
3142     #     CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0
3143     #   --> 399
3144     # Legal values: 266 399
3145 };
3146
3147 # System clock (hclk) rate
3148 # The processor can run at various frequencies.
3149 # These values are expressed in KHz.  Note that there are
3150 # several steppings of the rate to run at different
3151 # maximum frequencies.  Check the specs to make sure that your
3152 # particular processor can run at the rate you select here.
3153 #
3154 cdl_option CYGHWR_HAL_ARM_SOC_SYSTEM_CLOCK {
3155     # Flavor: data
3156     # No user value, uncomment the following line to provide one.
3157     # user_value 133
3158     # value_source default
3159     # Default value: 133
3160     # Legal values: 133 100
3161 };
3162
3163 # Real-time clock constants
3164 #
3165 cdl_component CYGNUM_HAL_RTC_CONSTANTS {
3166     # There is no associated value.
3167 };
3168
3169 # >
3170 # Real-time clock numerator
3171 #
3172 cdl_option CYGNUM_HAL_RTC_NUMERATOR {
3173     # Calculated value: 1000000000
3174     # Flavor: data
3175     # Current_value: 1000000000
3176 };
3177
3178 # Real-time clock denominator
3179 # This option selects the heartbeat rate for the real-time clock.
3180 # The rate is specified in ticks per second.  Change this value
3181 # with caution - too high and your system will become saturated
3182 # just handling clock interrupts, too low and some operations
3183 # such as thread scheduling may become sluggish.
3184 #
3185 cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
3186     # Flavor: data
3187     # No user value, uncomment the following line to provide one.
3188     # user_value 100
3189     # value_source default
3190     # Default value: 100
3191
3192     # The following properties are affected by this value
3193     # option CYGNUM_HAL_RTC_PERIOD
3194     #     Calculated: (3686400/CYGNUM_HAL_RTC_DENOMINATOR)
3195 };
3196
3197 # Real-time clock period
3198 #
3199 cdl_option CYGNUM_HAL_RTC_PERIOD {
3200     # Calculated value: (3686400/CYGNUM_HAL_RTC_DENOMINATOR)
3201     #     CYGNUM_HAL_RTC_DENOMINATOR == 100
3202     # Flavor: data
3203     # Current_value: 36864
3204 };
3205
3206 # <
3207 # UART1 available as diagnostic/debug channel
3208 # The chip has multiple serial channels which may be
3209 # used for different things on different platforms.  This
3210 # interface allows a platform to indicate that the specified
3211 # serial port can be used as a diagnostic and/or debug channel.
3212 #
3213 cdl_interface CYGHWR_HAL_ARM_SOC_UART1 {
3214     # Implemented by CYGPKG_HAL_ARM_TX27KARO, active, enabled
3215     # This value cannot be modified here.
3216     # Flavor: data
3217     # Current_value: 1
3218
3219     # The following properties are affected by this value
3220 };
3221
3222 # UART2 available as diagnostic/debug channel
3223 # The chip has multiple serial channels which may be
3224 # used for different things on different platforms.  This
3225 # interface allows a platform to indicate that the specified
3226 # serial port can be used as a diagnostic and/or debug channel.
3227 #
3228 cdl_interface CYGHWR_HAL_ARM_SOC_UART2 {
3229     # Implemented by CYGPKG_HAL_ARM_TX27KARO, active, enabled
3230     # This value cannot be modified here.
3231     # Flavor: data
3232     # Current_value: 1
3233
3234     # The following properties are affected by this value
3235 };
3236
3237 # UART3 available as diagnostic/debug channel
3238 # The chip has multiple serial channels which may be
3239 # used for different things on different platforms.  This
3240 # interface allows a platform to indicate that the specified
3241 # serial port can be used as a diagnostic and/or debug channel.
3242 #
3243 cdl_interface CYGHWR_HAL_ARM_SOC_UART3 {
3244     # Implemented by CYGPKG_HAL_ARM_TX27KARO, active, enabled
3245     # This value cannot be modified here.
3246     # Flavor: data
3247     # Current_value: 1
3248
3249     # The following properties are affected by this value
3250 };
3251
3252 # UART4 available as diagnostic/debug channel
3253 # The chip has multiple serial channels which may be
3254 # used for different things on different platforms.  This
3255 # interface allows a platform to indicate that the specified
3256 # serial port can be used as a diagnostic and/or debug channel.
3257 #
3258 cdl_interface CYGHWR_HAL_ARM_SOC_UART4 {
3259     # Implemented by CYGPKG_HAL_ARM_TX27KARO, active, enabled
3260     # This value cannot be modified here.
3261     # Flavor: data
3262     # Current_value: 1
3263
3264     # The following properties are affected by this value
3265 };
3266
3267 # UART5 available as diagnostic/debug channel
3268 # The chip has multiple serial channels which may be
3269 # used for different things on different platforms.  This
3270 # interface allows a platform to indicate that the specified
3271 # serial port can be used as a diagnostic and/or debug channel.
3272 #
3273 cdl_interface CYGHWR_HAL_ARM_SOC_UART5 {
3274     # No options implement this inferface
3275     # This value cannot be modified here.
3276     # Flavor: data
3277     # Current_value: 0
3278 };
3279
3280 # UART6 available as diagnostic/debug channel
3281 # The chip has multiple serial channels which may be
3282 # used for different things on different platforms.  This
3283 # interface allows a platform to indicate that the specified
3284 # serial port can be used as a diagnostic and/or debug channel.
3285 #
3286 cdl_interface CYGHWR_HAL_ARM_SOC_UART6 {
3287     # No options implement this inferface
3288     # This value cannot be modified here.
3289     # Flavor: data
3290     # Current_value: 0
3291 };
3292
3293 # Ka-Ro TX27 module
3294 # This HAL platform package provides generic
3295 # support for the Ka-Ro electronics TX27 module.
3296 #
3297 cdl_package CYGPKG_HAL_ARM_TX27KARO {
3298     # Packages cannot be added or removed, nor can their version be changed,
3299     # simply by editing their value. Instead the appropriate configuration
3300     # should be used to perform these actions.
3301
3302     # This value cannot be modified here.
3303     # Flavor: booldata
3304     # Current value: 1 current
3305     # Requires: CYGINT_ISO_CTYPE
3306     #     CYGINT_ISO_CTYPE == 1
3307     #   --> 1
3308     # Requires: CYGBLD_BUILD_REDBOOT == 1
3309     #     CYGBLD_BUILD_REDBOOT == 1
3310     #   --> 1
3311 };
3312
3313 # >
3314 # Startup type
3315 # The only startup type allowed is ROMRAM, since this will allow
3316 # the program to exist in ROM, but be copied to RAM during startup
3317 # which is required to boot from NAND flash.
3318 #
3319 cdl_component CYG_HAL_STARTUP {
3320     # Flavor: data
3321     # No user value, uncomment the following line to provide one.
3322     # user_value ROMRAM
3323     # value_source default
3324     # Default value: ROMRAM
3325     # Legal values:  "ROMRAM" 
3326
3327     # The following properties are affected by this value
3328     # option CYGSEM_HAL_ROM_MONITOR
3329     #     Requires:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
3330     # option CYGSEM_HAL_ROM_MONITOR
3331     #     Requires:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
3332     # option CYGSEM_HAL_USE_ROM_MONITOR
3333     #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
3334     # option CYGSEM_HAL_USE_ROM_MONITOR
3335     #     Requires:  CYG_HAL_STARTUP == "RAM" 
3336     # option CYGSEM_HAL_INSTALL_MMU_TABLES
3337     #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
3338     # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
3339     #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
3340     # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
3341     #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
3342     # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
3343     #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
3344     # option CYGPRI_REDBOOT_ROM_MONITOR
3345     #     ActiveIf:  CYG_HAL_STARTUP == "ROM" ||  CYG_HAL_STARTUP == "ROMRAM" 
3346     # option CYGPRI_REDBOOT_ROM_MONITOR
3347     #     ActiveIf:  CYG_HAL_STARTUP == "ROM" ||  CYG_HAL_STARTUP == "ROMRAM" 
3348 };
3349
3350 # Diagnostic serial port baud rate
3351 # This option selects the baud rate used for the console port.
3352 # Note: this should match the value chosen for the GDB port if the
3353 # console and GDB port are the same.
3354 #
3355 cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
3356     # Flavor: data
3357     # No user value, uncomment the following line to provide one.
3358     # user_value 115200
3359     # value_source default
3360     # Default value: 115200
3361     # Legal values: 9600 19200 38400 57600 115200
3362 };
3363
3364 # GDB serial port baud rate
3365 # This option selects the baud rate used for the GDB port.
3366 # Note: this should match the value chosen for the console port if the
3367 # console and GDB port are the same.
3368 #
3369 cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
3370     # Flavor: data
3371     # No user value, uncomment the following line to provide one.
3372     # user_value 115200
3373     # value_source default
3374     # Default value: 115200
3375     # Legal values: 9600 19200 38400 57600 115200
3376 };
3377
3378 # Number of communication channels on the TX27
3379 #
3380 cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
3381     # Calculated value: 3
3382     # Flavor: data
3383     # Current_value: 3
3384
3385     # The following properties are affected by this value
3386     # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
3387     #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
3388     # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
3389     #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
3390     # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
3391     #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
3392 };
3393
3394 # Debug serial port
3395 # The TX27 provides access to three serial ports. This option
3396 # chooses which port will be used to connect to a host
3397 # running GDB.
3398 #
3399 cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
3400     # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
3401     #     CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE == 1
3402     #   --> 1
3403
3404     # Flavor: data
3405     # No user value, uncomment the following line to provide one.
3406     # user_value 0
3407     # value_source default
3408     # Default value: 0
3409     # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
3410     #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
3411 };
3412
3413 # Default console channel.
3414 #
3415 cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
3416     # Calculated value: 0
3417     # Flavor: data
3418     # Current_value: 0
3419     # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
3420     #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
3421
3422     # The following properties are affected by this value
3423     # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
3424     #     DefaultValue: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
3425 };
3426
3427 # Console serial port
3428 # The TX27 provides access to three serial ports. This option
3429 # chooses which port will be used for console output.
3430 #
3431 cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
3432     # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
3433     #     CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE == 1
3434     #   --> 1
3435
3436     # Flavor: data
3437     # No user value, uncomment the following line to provide one.
3438     # user_value 0
3439     # value_source default
3440     # Default value: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
3441     #     CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT == 0
3442     #   --> 0
3443     # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
3444     #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
3445 };
3446
3447 # Ka-Ro electronics TX27 module build options
3448 # Package specific build options including control over
3449 # compiler flags used only in building this package,
3450 # and details of which tests are built.
3451 #
3452 cdl_component CYGPKG_HAL_ARM_TX27_OPTIONS {
3453     # There is no associated value.
3454     # Requires:  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 
3455     #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
3456     #   --> 1
3457 };
3458
3459 # >
3460 # SDRAM size
3461 # This option specifies the SDRAM size of the TX27 module.
3462 #
3463 cdl_option CYGNUM_HAL_ARM_TX27_SDRAM_SIZE {
3464     # Flavor: data
3465     # No user value, uncomment the following line to provide one.
3466     # user_value 0x04000000
3467     # value_source default
3468     # Default value: 0x04000000
3469     # Legal values:  0x04000000 0x08000000 
3470 };
3471
3472 # Enable low level debugging with LED
3473 # This option enables low level debugging by blink codes
3474 # of the LED on STK5.
3475 #
3476 cdl_option CYGOPT_HAL_ARM_TX27_DEBUG {
3477     # Flavor: bool
3478     # No user value, uncomment the following line to provide one.
3479     # user_value 0
3480     # value_source default
3481     # Default value:  false 
3482     #     false (unknown) == 0
3483     #   --> 0
3484 };
3485
3486 # Additional compiler flags
3487 # This option modifies the set of compiler flags for
3488 # building the TX27 HAL. These flags are used in addition
3489 # to the set of global flags.
3490 #
3491 cdl_option CYGPKG_HAL_ARM_TX27_CFLAGS_ADD {
3492     # Flavor: data
3493     # No user value, uncomment the following line to provide one.
3494     # user_value ""
3495     # value_source default
3496     # Default value: ""
3497 };
3498
3499 # Suppressed compiler flags
3500 # This option modifies the set of compiler flags for
3501 # building the TX27 HAL. These flags are removed from
3502 # the set of global flags if present.
3503 #
3504 cdl_option CYGPKG_HAL_ARM_TX27_CFLAGS_REMOVE {
3505     # Flavor: data
3506     # No user value, uncomment the following line to provide one.
3507     # user_value ""
3508     # value_source default
3509     # Default value: ""
3510 };
3511
3512 # <
3513 # Memory layout
3514 #
3515 cdl_component CYGHWR_MEMORY_LAYOUT {
3516     # Calculated value:  "arm_tx27_romram" 
3517     # Flavor: data
3518     # Current_value: arm_tx27_romram
3519 };
3520
3521 # >
3522 # Memory layout linker script fragment
3523 #
3524 cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
3525     # Calculated value:  "<pkgconf/mlt_arm_tx27_romram.ldi>" 
3526     # Flavor: data
3527     # Current_value: <pkgconf/mlt_arm_tx27_romram.ldi>
3528 };
3529
3530 # Memory layout header file
3531 #
3532 cdl_option CYGHWR_MEMORY_LAYOUT_H {
3533     # Calculated value:  "<pkgconf/mlt_arm_tx27_romram.h>" 
3534     # Flavor: data
3535     # Current_value: <pkgconf/mlt_arm_tx27_romram.h>
3536 };
3537
3538 # <
3539 # <
3540 # <
3541 # <
3542 # <
3543 # Infrastructure
3544 # Common types and useful macros.
3545 # Tracing and assertion facilities.
3546 # Package startup options.
3547 #
3548 cdl_package CYGPKG_INFRA {
3549     # Packages cannot be added or removed, nor can their version be changed,
3550     # simply by editing their value. Instead the appropriate configuration
3551     # should be used to perform these actions.
3552
3553     # This value cannot be modified here.
3554     # Flavor: booldata
3555     # Current value: 1 current
3556
3557     # The following properties are affected by this value
3558     # package CYGPKG_HAL
3559     #     Requires: CYGPKG_INFRA
3560     # component CYGBLD_BUILD_REDBOOT
3561     #     Requires: CYGPKG_INFRA
3562 };
3563
3564 # >
3565 # Asserts & Tracing
3566 # The eCos source code contains a significant amount of
3567 # internal debugging support, in the form of assertions and
3568 # tracing.
3569 # Assertions check at runtime that various conditions are as
3570 # expected; if not, execution is halted.
3571 # Tracing takes the form of text messages that are output
3572 # whenever certain events occur, or whenever functions are
3573 # called or return.
3574 # The most important property of these checks and messages is
3575 # that they are not required for the program to run.
3576 # It is prudent to develop software with assertions enabled,
3577 # but disable them when making a product release, thus
3578 # removing the overhead of that checking.
3579 # It is possible to enable assertions and tracing
3580 # independently.
3581 # There are also options controlling the exact behaviour of
3582 # the assertion and tracing facilities, thus giving users
3583 # finer control over the code and data size requirements.
3584 #
3585 cdl_component CYGPKG_INFRA_DEBUG {
3586     # Flavor: bool
3587     # No user value, uncomment the following line to provide one.
3588     # user_value 0
3589     # value_source default
3590     # Default value: 0
3591
3592     # The following properties are affected by this value
3593     # option CYGNUM_INFRA_EMPTY_DELETE_THRESHOLD
3594     #     ActiveIf: CYGPKG_INFRA_DEBUG
3595 };
3596
3597 # >
3598 # Use asserts
3599 # If this option is defined, asserts in the code are tested.
3600 # Assert functions (CYG_ASSERT()) are defined in
3601 # 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
3602 # If it is not defined, these result in no additional
3603 # object code and no checking of the asserted conditions.
3604 #
3605 cdl_component CYGDBG_USE_ASSERTS {
3606     # This option is not active
3607     # The parent CYGPKG_INFRA_DEBUG is disabled
3608
3609     # Flavor: bool
3610     # No user value, uncomment the following line to provide one.
3611     # user_value 1
3612     # value_source default
3613     # Default value: 1
3614     # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
3615     #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
3616     #   --> 0
3617
3618     # The following properties are affected by this value
3619     # option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG
3620     #     Requires: CYGDBG_USE_ASSERTS
3621     # option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG
3622     #     DefaultValue:  0 != CYGDBG_USE_ASSERTS 
3623 };
3624
3625 # >
3626 # Preconditions
3627 # This option allows individual control of preconditions.
3628 # A precondition is one type of assert, which it is
3629 # useful to control separately from more general asserts.
3630 # The function is CYG_PRECONDITION(condition,msg).
3631 #
3632 cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
3633     # This option is not active
3634     # The parent CYGDBG_USE_ASSERTS is not active
3635
3636     # Flavor: bool
3637     # No user value, uncomment the following line to provide one.
3638     # user_value 1
3639     # value_source default
3640     # Default value: 1
3641 };
3642
3643 # Postconditions
3644 # This option allows individual control of postconditions.
3645 # A postcondition is one type of assert, which it is
3646 # useful to control separately from more general asserts.
3647 # The function is CYG_POSTCONDITION(condition,msg).
3648 #
3649 cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
3650     # This option is not active
3651     # The parent CYGDBG_USE_ASSERTS is not active
3652
3653     # Flavor: bool
3654     # No user value, uncomment the following line to provide one.
3655     # user_value 1
3656     # value_source default
3657     # Default value: 1
3658 };
3659
3660 # Loop invariants
3661 # This option allows individual control of loop invariants.
3662 # A loop invariant is one type of assert, which it is
3663 # useful to control separately from more general asserts,
3664 # particularly since a loop invariant is typically evaluated
3665 # a great many times when used correctly.
3666 # The function is CYG_LOOP_INVARIANT(condition,msg).
3667 #
3668 cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
3669     # This option is not active
3670     # The parent CYGDBG_USE_ASSERTS is not active
3671
3672     # Flavor: bool
3673     # No user value, uncomment the following line to provide one.
3674     # user_value 1
3675     # value_source default
3676     # Default value: 1
3677 };
3678
3679 # Use assert text
3680 # All assertions within eCos contain a text message
3681 # which should give some information about the condition
3682 # being tested.
3683 # These text messages will end up being embedded in the
3684 # application image and hence there is a significant penalty
3685 # in terms of image size.
3686 # It is possible to suppress the use of these messages by
3687 # disabling this option.
3688 # This results in smaller code size, but there is less
3689 # human-readable information if an assertion actually gets
3690 # triggered.
3691 #
3692 cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
3693     # This option is not active
3694     # The parent CYGDBG_USE_ASSERTS is not active
3695
3696     # Flavor: bool
3697     # No user value, uncomment the following line to provide one.
3698     # user_value 1
3699     # value_source default
3700     # Default value: 1
3701 };
3702
3703 # <
3704 # Use tracing
3705 # If this option is defined, tracing operations
3706 # result in output or logging, depending on other options.
3707 # This may have adverse effects on performance, if the time
3708 # taken to output message overwhelms the available CPU
3709 # power or output bandwidth.
3710 # Trace functions (CYG_TRACE()) are defined in
3711 # 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
3712 # If it is not defined, these result in no additional
3713 # object code and no trace information.
3714 #
3715 cdl_component CYGDBG_USE_TRACING {
3716     # This option is not active
3717     # The parent CYGPKG_INFRA_DEBUG is disabled
3718
3719     # Flavor: bool
3720     # No user value, uncomment the following line to provide one.
3721     # user_value 0
3722     # value_source default
3723     # Default value: 0
3724     # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
3725     #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
3726     #   --> 0
3727
3728     # The following properties are affected by this value
3729     # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
3730     #     ActiveIf: CYGDBG_USE_TRACING
3731     # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
3732     #     ActiveIf: CYGDBG_USE_TRACING
3733     # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
3734     #     ActiveIf: CYGDBG_USE_TRACING
3735     # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
3736     #     ActiveIf: CYGDBG_USE_TRACING
3737     # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
3738     #     ActiveIf: CYGDBG_USE_TRACING
3739 };
3740
3741 # >
3742 # Trace function reports
3743 # This option allows individual control of
3744 # function entry/exit tracing, independent of
3745 # more general tracing output.
3746 # This may be useful to remove clutter from a
3747 # trace log.
3748 #
3749 cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
3750     # This option is not active
3751     # The parent CYGDBG_USE_TRACING is not active
3752     # The parent CYGDBG_USE_TRACING is disabled
3753
3754     # Flavor: bool
3755     # No user value, uncomment the following line to provide one.
3756     # user_value 1
3757     # value_source default
3758     # Default value: 1
3759 };
3760
3761 # Use trace text
3762 # All trace calls within eCos contain a text message
3763 # which should give some information about the circumstances.
3764 # These text messages will end up being embedded in the
3765 # application image and hence there is a significant penalty
3766 # in terms of image size.
3767 # It is possible to suppress the use of these messages by
3768 # disabling this option.
3769 # This results in smaller code size, but there is less
3770 # human-readable information available in the trace output,
3771 # possibly only filenames and line numbers.
3772 #
3773 cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
3774     # This option is not active
3775     # The parent CYGDBG_USE_TRACING is not active
3776     # The parent CYGDBG_USE_TRACING is disabled
3777
3778     # Flavor: bool
3779     # No user value, uncomment the following line to provide one.
3780     # user_value 1
3781     # value_source default
3782     # Default value: 1
3783 };
3784
3785 # <
3786 # Trace output implementations
3787 #
3788 cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
3789     # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
3790     # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
3791     # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
3792     # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
3793     # This option is not active
3794     # The parent CYGPKG_INFRA_DEBUG is disabled
3795
3796     # This value cannot be modified here.
3797     # Flavor: data
3798     # Current_value: 0
3799
3800     # The following properties are affected by this value
3801     # component CYGDBG_USE_ASSERTS
3802     #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
3803     # component CYGDBG_USE_TRACING
3804     #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
3805 };
3806
3807 # Null output
3808 # A null output module which is useful when
3809 # debugging interactively; the output routines
3810 # can be breakpointed rather than have them actually
3811 # 'print' something.
3812 #
3813 cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
3814     # This option is not active
3815     # The parent CYGPKG_INFRA_DEBUG is disabled
3816
3817     # Flavor: bool
3818     # No user value, uncomment the following line to provide one.
3819     # user_value 0
3820     # value_source default
3821     # Default value: 0
3822 };
3823
3824 # Simple output
3825 # An output module which produces simple output
3826 # from tracing and assertion events.
3827 #
3828 cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
3829     # This option is not active
3830     # The parent CYGPKG_INFRA_DEBUG is disabled
3831
3832     # Flavor: bool
3833     # No user value, uncomment the following line to provide one.
3834     # user_value 0
3835     # value_source default
3836     # Default value: 0
3837 };
3838
3839 # Fancy output
3840 # An output module which produces fancy output
3841 # from tracing and assertion events.
3842 #
3843 cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
3844     # This option is not active
3845     # The parent CYGPKG_INFRA_DEBUG is disabled
3846
3847     # Flavor: bool
3848     # No user value, uncomment the following line to provide one.
3849     # user_value 0
3850     # value_source default
3851     # Default value: 0
3852 };
3853
3854 # Buffered tracing
3855 # An output module which buffers output
3856 # from tracing and assertion events. The stored
3857 # messages are output when an assert fires, or
3858 # CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
3859 # is called.
3860 # Of course, there will only be stored messages
3861 # if tracing per se (CYGDBG_USE_TRACING)
3862 # is enabled above.
3863 #
3864 cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
3865     # This option is not active
3866     # The parent CYGPKG_INFRA_DEBUG is disabled
3867
3868     # Flavor: bool
3869     # No user value, uncomment the following line to provide one.
3870     # user_value 1
3871     # value_source default
3872     # Default value: 1
3873 };
3874
3875 # >
3876 # Trace buffer size
3877 # The size of the trace buffer. This counts the number
3878 # of trace records stored. When the buffer fills it
3879 # either wraps, stops recording, or generates output.
3880 #
3881 cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
3882     # This option is not active
3883     # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
3884     # ActiveIf constraint: CYGDBG_USE_TRACING
3885     #     CYGDBG_USE_TRACING == 0
3886     #   --> 0
3887
3888     # Flavor: data
3889     # No user value, uncomment the following line to provide one.
3890     # user_value 32
3891     # value_source default
3892     # Default value: 32
3893     # Legal values: 5 to 65535
3894 };
3895
3896 # Wrap trace buffer when full
3897 # When the trace buffer has filled with records it
3898 # starts again at the beginning. Hence only the last
3899 # CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
3900 # be recorded.
3901 #
3902 cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
3903     # This option is not active
3904     # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
3905     # ActiveIf constraint: CYGDBG_USE_TRACING
3906     #     CYGDBG_USE_TRACING == 0
3907     #   --> 0
3908
3909     # Flavor: bool
3910     # No user value, uncomment the following line to provide one.
3911     # user_value 1
3912     # value_source default
3913     # Default value: 1
3914 };
3915
3916 # Halt trace buffer when full
3917 # When the trace buffer has filled with records it
3918 # stops recording. Hence only the first
3919 # CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
3920 # be recorded.
3921 #
3922 cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
3923     # This option is not active
3924     # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
3925     # ActiveIf constraint: CYGDBG_USE_TRACING
3926     #     CYGDBG_USE_TRACING == 0
3927     #   --> 0
3928
3929     # Flavor: bool
3930     # No user value, uncomment the following line to provide one.
3931     # user_value 0
3932     # value_source default
3933     # Default value: 0
3934 };
3935
3936 # Print trace buffer when full
3937 # When the trace buffer has filled with records it
3938 # prints the contents of the buffer. The buffer is then
3939 # emptied and the system continues.
3940 #
3941 cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
3942     # This option is not active
3943     # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
3944     # ActiveIf constraint: CYGDBG_USE_TRACING
3945     #     CYGDBG_USE_TRACING == 0
3946     #   --> 0
3947
3948     # Flavor: bool
3949     # No user value, uncomment the following line to provide one.
3950     # user_value 0
3951     # value_source default
3952     # Default value: 0
3953 };
3954
3955 # Print trace buffer on assert fail
3956 # When an assertion fails the trace buffer will be 
3957 # printed to the default diagnostic device.
3958 #
3959 cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
3960     # This option is not active
3961     # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
3962     # ActiveIf constraint: CYGDBG_USE_TRACING
3963     #     CYGDBG_USE_TRACING == 0
3964     #   --> 0
3965
3966     # Flavor: bool
3967     # No user value, uncomment the following line to provide one.
3968     # user_value 1
3969     # value_source default
3970     # Default value: 1
3971 };
3972
3973 # <
3974 # Use function names
3975 # All trace and assert calls within eCos contain a
3976 # reference to the builtin macro '__PRETTY_FUNCTION__',
3977 # which evaluates to a string containing
3978 # the name of the current function.
3979 # This is useful when reading a trace log.
3980 # It is possible to suppress the use of the function name
3981 # by disabling this option.
3982 # This results in smaller code size, but there is less
3983 # human-readable information available in the trace output,
3984 # possibly only filenames and line numbers.
3985 #
3986 cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
3987     # This option is not active
3988     # The parent CYGPKG_INFRA_DEBUG is disabled
3989
3990     # Flavor: bool
3991     # No user value, uncomment the following line to provide one.
3992     # user_value 1
3993     # value_source default
3994     # Default value: 1
3995 };
3996
3997 # <
3998 # Startup options
3999 # Some packages require a startup routine to be called.
4000 # This can be carried out by application code, by supplying
4001 # a routine called cyg_package_start() which calls the
4002 # appropriate package startup routine(s).
4003 # Alternatively, this routine can be constructed automatically
4004 # and configured to call the startup routines of your choice.
4005 #
4006 cdl_component CYGPKG_INFRA_STARTUP {
4007     # There is no associated value.
4008 };
4009
4010 # >
4011 # Start uITRON subsystem
4012 # Generate a call to initialize the
4013 # uITRON compatibility subsystem
4014 # within the system version of cyg_package_start().
4015 # This enables compatibility with uITRON.
4016 # You must configure uITRON with the correct tasks before
4017 # starting the uItron subsystem.
4018 # If this is disabled, and you want to use uITRON,
4019 # you must call cyg_uitron_start() from your own
4020 # cyg_package_start() or cyg_userstart().
4021 #
4022 cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
4023     # This option is not active
4024     # ActiveIf constraint: CYGPKG_UITRON
4025     #     CYGPKG_UITRON (unknown) == 0
4026     #   --> 0
4027
4028     # Flavor: bool
4029     # No user value, uncomment the following line to provide one.
4030     # user_value 0
4031     # value_source default
4032     # Default value: 0
4033     # Requires: CYGPKG_UITRON
4034     #     CYGPKG_UITRON (unknown) == 0
4035     #   --> 0
4036 };
4037
4038 # <
4039 # Smaller slower memcpy()
4040 # Enabling this option causes the implementation of
4041 # the standard memcpy() routine to reduce code
4042 # size at the expense of execution speed. This
4043 # option is automatically enabled with the use of
4044 # the -Os option to the compiler. Also note that
4045 # the compiler will try to use its own builtin
4046 # version of memcpy() if possible, ignoring the
4047 # implementation in this package, unless given
4048 # the -fno-builtin compiler option.
4049 #
4050 cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
4051     # Flavor: bool
4052     # No user value, uncomment the following line to provide one.
4053     # user_value 0
4054     # value_source default
4055     # Default value: 0
4056 };
4057
4058 # Smaller slower memset()
4059 # Enabling this option causes the implementation of
4060 # the standard memset() routine to reduce code
4061 # size at the expense of execution speed. This
4062 # option is automatically enabled with the use of
4063 # the -Os option to the compiler. Also note that
4064 # the compiler will try to use its own builtin
4065 # version of memset() if possible, ignoring the
4066 # implementation in this package, unless given
4067 # the -fno-builtin compiler option.
4068 #
4069 cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
4070     # Flavor: bool
4071     # No user value, uncomment the following line to provide one.
4072     # user_value 0
4073     # value_source default
4074     # Default value: 0
4075 };
4076
4077 # Provide empty C++ delete functions
4078 # To deal with virtual destructors, where the correct delete()
4079 # function must be called for the derived class in question, the
4080 # underlying delete is called when needed, from destructors.  This
4081 # is regardless of whether the destructor is called by delete itself.
4082 # So there is a reference to delete() from all destructors.  The
4083 # default builtin delete() attempts to call free() if there is
4084 # one defined.  So, if you have destructors, and you have free(),
4085 # as in malloc() and free(), any destructor counts as a reference
4086 # to free().  So the dynamic memory allocation code is linked
4087 # in regardless of whether it gets explicitly called. This
4088 # increases code and data size needlessly.
4089 # To defeat this undesirable behaviour, we define empty versions
4090 # of delete and delete.  But doing this prevents proper use
4091 # of dynamic memory in C++ programs via C++'s new and delete
4092 # operators.
4093 # Therefore, this option is provided
4094 # for explicitly disabling the provision of these empty functions,
4095 # so that new and delete can be used, if that is what is required.
4096 #
4097 cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
4098     # Flavor: bool
4099     # No user value, uncomment the following line to provide one.
4100     # user_value 1
4101     # value_source default
4102     # Default value: 1
4103 };
4104
4105 # Threshold for valid number of delete calls
4106 # Some users don't know about the empty delete function and then
4107 # wonder why their C++ classes are leaking memory. If
4108 # INFRA_DEBUG is enabled we keep a counter for the number of
4109 # times delete is called. If it goes above this threshold we throw
4110 # an assertion failure. This should point heavy users of
4111 # delete in the right direction without upsetting those who want
4112 # an empty delete function. 
4113 #
4114 cdl_option CYGNUM_INFRA_EMPTY_DELETE_THRESHOLD {
4115     # This option is not active
4116     # ActiveIf constraint: CYGPKG_INFRA_DEBUG
4117     #     CYGPKG_INFRA_DEBUG == 0
4118     #   --> 0
4119
4120     # Flavor: data
4121     # No user value, uncomment the following line to provide one.
4122     # user_value 100
4123     # value_source default
4124     # Default value: 100
4125 };
4126
4127 # Provide dummy abort() function
4128 # This option controls the inclusion of a dummy abort() function.
4129 # Parts of the C and C++ compiler runtime systems contain references
4130 # to abort(), particulary in the C++ exception handling code. It is
4131 # not possible to eliminate these references, so this dummy function
4132 # in included to satisfy them. It is not expected that this function
4133 # will ever be called, so its current behaviour is to simply loop.
4134 #
4135 cdl_option CYGFUN_INFRA_DUMMY_ABORT {
4136     # Flavor: bool
4137     # No user value, uncomment the following line to provide one.
4138     # user_value 1
4139     # value_source default
4140     # Default value:  CYGINT_ISO_EXIT == 0 
4141     #     CYGINT_ISO_EXIT == 0
4142     #   --> 1
4143     # Requires: !CYGINT_ISO_EXIT
4144     #     CYGINT_ISO_EXIT == 0
4145     #   --> 1
4146 };
4147
4148 # Reset platform at end of test case execution
4149 # If this option is set then test case programs will reset the platform
4150 # when they terminate, as opposed to the default which is to just hang
4151 # in a loop.
4152 #
4153 cdl_option CYGSEM_INFRA_RESET_ON_TEST_EXIT {
4154     # Flavor: bool
4155     # No user value, uncomment the following line to provide one.
4156     # user_value 0
4157     # value_source default
4158     # Default value: 0
4159 };
4160
4161 # Provide dummy strlen() function
4162 # This option controls the inclusion of a dummy strlen() function.
4163 # Parts of the C and C++ compiler runtime systems contain references
4164 # to strlen(), particulary in the C++ exception handling code. It is
4165 # not possible to eliminate these references, so this dummy function
4166 # in included to satisfy them. While it is not expected that this function
4167 # will ever be called, it is functional but uses the simplest, smallest
4168 # algorithm. There is a faster version of strlen() in the C library.
4169 #
4170 cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
4171     # Flavor: bool
4172     # No user value, uncomment the following line to provide one.
4173     # user_value 0
4174     # value_source default
4175     # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
4176     #     CYGINT_ISO_STRING_STRFUNCS == 1
4177     #   --> 0
4178     # Requires: !CYGINT_ISO_STRING_STRFUNCS
4179     #     CYGINT_ISO_STRING_STRFUNCS == 1
4180     #   --> 0
4181 };
4182
4183 # Make all compiler warnings show as errors
4184 # Enabling this option will cause all compiler warnings to show
4185 # as errors and bring the library build to a halt. This is used
4186 # to ensure that the code base is warning free, and thus ensure
4187 # that newly introduced warnings stand out and get fixed before
4188 # they show up as weird run-time behavior.
4189 #
4190 cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
4191     # Flavor: bool
4192     user_value 1
4193     # value_source user
4194     # Default value: 0
4195     # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
4196     #     CYGBLD_GLOBAL_CFLAGS == "-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"
4197     #   --> 1
4198
4199     # The following properties are affected by this value
4200     # option CYGBLD_GLOBAL_CFLAGS
4201     #     Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
4202 };
4203
4204 # Make compiler and assembler communicate by pipe
4205 # Enabling this option will cause the compiler to feed the
4206 # assembly output the the assembler via a pipe instead of
4207 # via a temporary file. This normally reduces the build
4208 # time.
4209 #
4210 cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
4211     # Flavor: bool
4212     user_value 1
4213     # value_source user
4214     # Default value: 0
4215     # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
4216     #     CYGBLD_GLOBAL_CFLAGS == "-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"
4217     #   --> 1
4218 };
4219
4220 # Infra build options
4221 # Package specific build options including control over
4222 # compiler flags used only in building this package.
4223 #
4224 cdl_component CYGPKG_INFRA_OPTIONS {
4225     # There is no associated value.
4226 };
4227
4228 # >
4229 # Additional compiler flags
4230 # This option modifies the set of compiler flags for
4231 # building the eCos infra package. These flags are used
4232 # in addition to the set of global flags.
4233 #
4234 cdl_option CYGPKG_INFRA_CFLAGS_ADD {
4235     # Flavor: data
4236     # No user value, uncomment the following line to provide one.
4237     # user_value "-fno-rtti -Woverloaded-virtual"
4238     # value_source default
4239     # Default value: "-fno-rtti -Woverloaded-virtual"
4240 };
4241
4242 # Suppressed compiler flags
4243 # This option modifies the set of compiler flags for
4244 # building the eCos infra package. These flags are removed from
4245 # the set of global flags if present.
4246 #
4247 cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
4248     # Flavor: data
4249     # No user value, uncomment the following line to provide one.
4250     # user_value -Wno-pointer-sign
4251     # value_source default
4252     # Default value: -Wno-pointer-sign
4253 };
4254
4255 # Suppressed linker flags
4256 # This option modifies the set of linker flags for
4257 # building the eCos infra package tests. These flags are removed from
4258 # the set of global flags if present.
4259 #
4260 cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
4261     # Flavor: data
4262     # No user value, uncomment the following line to provide one.
4263     # user_value -Wl,--gc-sections
4264     # value_source default
4265     # Default value: -Wl,--gc-sections
4266 };
4267
4268 # Additional linker flags
4269 # This option modifies the set of linker flags for
4270 # building the eCos infra package tests. These flags are added to
4271 # the set of global flags if present.
4272 #
4273 cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
4274     # Flavor: data
4275     # No user value, uncomment the following line to provide one.
4276     # user_value -Wl,--fatal-warnings
4277     # value_source default
4278     # Default value: -Wl,--fatal-warnings
4279 };
4280
4281 # Infra package tests
4282 #
4283 cdl_component CYGPKG_INFRA_TESTS {
4284     # Calculated value:  "tests/cxxsupp tests/diag_sprintf1 tests/diag_sprintf2" 
4285     # Flavor: data
4286     # Current_value: tests/cxxsupp tests/diag_sprintf1 tests/diag_sprintf2
4287 };
4288
4289 # >
4290 # Number of times a test runs
4291 # This option controls the number of times tests will execute their
4292 # basic function.  Not all tests will honor this setting, but those
4293 # that do will execute the test N times before terminating.  A value
4294 # less than 0 indicates to run forever.
4295 #
4296 cdl_option CYGNUM_TESTS_RUN_COUNT {
4297     # Flavor: data
4298     # No user value, uncomment the following line to provide one.
4299     # user_value 1
4300     # value_source default
4301     # Default value: 1
4302 };
4303
4304 # <
4305 # <
4306 # <
4307 # Redboot ROM monitor
4308 # doc: ref/redboot.html
4309 # This package supports the Redboot [stand-alone debug monitor]
4310 # using eCos as the underlying board support mechanism.
4311 #
4312 cdl_package CYGPKG_REDBOOT {
4313     # Packages cannot be added or removed, nor can their version be changed,
4314     # simply by editing their value. Instead the appropriate configuration
4315     # should be used to perform these actions.
4316
4317     # This value cannot be modified here.
4318     # Flavor: booldata
4319     # Current value: 1 current
4320     # Requires:  CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 
4321     #     CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0
4322     #   --> 1
4323
4324     # The following properties are affected by this value
4325     # component CYGPKG_REDBOOT_ARM_OPTIONS
4326     #     ActiveIf: CYGPKG_REDBOOT
4327     # component CYGPKG_REDBOOT_HAL_OPTIONS
4328     #     ActiveIf: CYGPKG_REDBOOT
4329     # component CYGPKG_REDBOOT_HAL_TX27_OPTIONS
4330     #     ActiveIf: CYGPKG_REDBOOT
4331     # option CYGSEM_IO_ETH_DRIVERS_WARN
4332     #     ActiveIf: CYGPKG_REDBOOT
4333 };
4334
4335 # >
4336 # Include support for ELF file format
4337 #
4338 cdl_component CYGSEM_REDBOOT_ELF {
4339     # Flavor: bool
4340     # No user value, uncomment the following line to provide one.
4341     # user_value 1
4342     # value_source default
4343     # Default value: 1
4344 };
4345
4346 # >
4347 # Use the virtual address in the ELF headers
4348 # The ELF headers contain both a virtual and a physical address
4349 # for where code/data should be loaded. By default the physical
4350 # address is used but sometimes it is necassary to use the
4351 # virtual address because of bugy toolchains
4352 #
4353 cdl_option CYGOPT_REDBOOT_ELF_VIRTUAL_ADDRESS {
4354     # Flavor: bool
4355     # No user value, uncomment the following line to provide one.
4356     # user_value 0
4357     # value_source default
4358     # Default value: 0
4359 };
4360
4361 # <
4362 # Methods of loading images using redboot
4363 #
4364 cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
4365     # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
4366     # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
4367     # This value cannot be modified here.
4368     # Flavor: data
4369     # Current_value: 2
4370
4371     # The following properties are affected by this value
4372     # component CYGBLD_BUILD_REDBOOT
4373     #     Requires: CYGINT_REDBOOT_LOAD_METHOD
4374 };
4375
4376 # Build Redboot ROM ELF image
4377 # This option enables the building of the Redboot ELF image.
4378 # The image may require further relocation or symbol
4379 # stripping before being converted to a binary image.
4380 # This is handled by a rule in the target CDL.
4381 #
4382 cdl_component CYGBLD_BUILD_REDBOOT {
4383     # Flavor: bool
4384     # No user value, uncomment the following line to provide one.
4385     # user_value 0
4386     # The inferred value should not be edited directly.
4387     inferred_value 1
4388     # value_source inferred
4389     # Default value: 0
4390     # Requires: CYGPKG_INFRA
4391     #     CYGPKG_INFRA == current
4392     #   --> 1
4393     # Requires: CYGPKG_ISOINFRA
4394     #     CYGPKG_ISOINFRA == current
4395     #   --> 1
4396     # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
4397     #    &nb