]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - packages/redboot/v2_0/cdl/redboot.cdl
unified MX27, MX25, MX37 trees
[karo-tx-redboot.git] / packages / redboot / v2_0 / cdl / redboot.cdl
1 # ====================================================================
2 #
3 #      redboot.cdl
4 #
5 #      Redboot package configuration data
6 #
7 # ====================================================================
8 #####ECOSGPLCOPYRIGHTBEGIN####
9 ## -------------------------------------------
10 ## This file is part of eCos, the Embedded Configurable Operating System.
11 ## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
12 ## Copyright (C) 2002, 2003, 2004, 2005 Gary Thomas
13 ##
14 ## eCos is free software; you can redistribute it and/or modify it under
15 ## the terms of the GNU General Public License as published by the Free
16 ## Software Foundation; either version 2 or (at your option) any later version.
17 ##
18 ## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
19 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 ## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
21 ## for more details.
22 ##
23 ## You should have received a copy of the GNU General Public License along
24 ## with eCos; if not, write to the Free Software Foundation, Inc.,
25 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
26 ##
27 ## As a special exception, if other files instantiate templates or use macros
28 ## or inline functions from this file, or you compile this file and link it
29 ## with other works to produce a work based on this file, this file does not
30 ## by itself cause the resulting work to be covered by the GNU General Public
31 ## License. However the source code for this file must still be made available
32 ## in accordance with section (3) of the GNU General Public License.
33 ##
34 ## This exception does not invalidate any other reasons why a work based on
35 ## this file might be covered by the GNU General Public License.
36 ##
37 ## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
38 ## at http://sources.redhat.com/ecos/ecos-license/
39 ## -------------------------------------------
40 #####ECOSGPLCOPYRIGHTEND####
41 # ====================================================================
42 ######DESCRIPTIONBEGIN####
43 #
44 # Author(s):      gthomas
45 # Original data:  gthomas
46 # Contributors:   Philippe Robin, Andrew Lunn, tkoeller
47 # Date:           2000-05-01
48 #
49 #####DESCRIPTIONEND####
50 #
51 # ====================================================================
52 cdl_package CYGPKG_REDBOOT {
53     display       "Redboot ROM monitor"
54     doc           ref/redboot.html
55     define_header redboot.h
56     description   "
57            This package supports the Redboot \[stand-alone debug monitor\]
58            using eCos as the underlying board support mechanism."
59
60     # Use of separate interrupt stack causes problems when running
61     # programs as they can end up trashing RedBoot's stack
62     requires { CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 }
63
64     # Since the CYGDAT_REDBOOT_CONSOLE_DEV setting ends up in the platform
65     # HAL header, we need to include that here (via hal.h).
66     define_proc {
67         puts $::cdl_header "#include <pkgconf/hal.h>"
68     }
69
70     cdl_component CYGSEM_REDBOOT_ELF {
71         flavor bool
72         display       "Include support for ELF file format"
73         default_value 1
74
75         cdl_option CYGOPT_REDBOOT_ELF_VIRTUAL_ADDRESS {
76             display "Use the virtual address in the ELF headers"
77             flavor bool
78             default_value 0
79             description "
80                 The ELF headers contain both a virtual and a physical address
81                 for where code/data should be loaded. By default the physical
82                 address is used but sometimes it is necassary to use the
83                 virtual address because of bugy toolchains"
84         }
85     }
86
87
88     cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
89         display "Methods of loading images using redboot"
90     }
91
92     cdl_component CYGBLD_BUILD_REDBOOT {
93         display "Build Redboot ROM ELF image"
94         default_value 0
95         requires CYGPKG_INFRA
96         requires CYGPKG_ISOINFRA
97
98         requires ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
99         requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
100         requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
101         requires CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
102
103         requires CYGINT_ISO_STRING_MEMFUNCS 
104         requires CYGINT_ISO_STRING_STRFUNCS
105         requires CYGINT_REDBOOT_LOAD_METHOD
106
107         cdl_option CYGBLD_BUILD_REDBOOT_WITH_GDB {
108             display       "Include GDB support in RedBoot"
109             no_define
110             default_value 1
111             active_if     CYGINT_HAL_DEBUG_GDB_STUBS
112             requires      CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
113             requires      CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
114             description "
115               RedBoot normally includes support for the GDB debugging
116               protocols. This option allows this to be disabled which
117               may yield a substantial savings in terms of code and memory 
118               usage by RedBoot."
119         }
120
121         cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
122             display "Threads debugging support"
123             no_define
124             description "
125               Enabling this option will include special code in the
126               GDB stubs to support debugging of threaded programs.  In
127               the case of eCos programs, this support allows GDB to
128               have complete access to the eCos threads in the
129               program."
130             active_if { CYG_HAL_STARTUP != "RAM" }
131             requires  CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
132         }
133
134         cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
135             display        "Customized version string"
136             flavor         booldata
137             default_value  0
138             description    "
139               Use this option to define a customized version \"string\" for
140               RedBoot.  Note: this value is only cosmetic, displayed by the
141               \"version\" command, but is useful for providing site specific
142               information about the RedBoot configuration."
143         }
144
145         cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
146             display          "Enable command line editing"
147             flavor           data
148             default_value    16
149             description      "
150                If this option is non-zero, RedBoot will remember the
151                last N command lines.  These lines may be reused.
152                Enabling this history will also enable rudimentary
153                editting of the lines themselves."
154         }
155
156         cdl_option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES {
157             display          "Enable command line editing using ANSI arrows, etc"
158             flavor           bool
159             default_value    1
160             active_if        CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
161             description      "
162                If this option is enabled, RedBoot will accept standard ANSI key
163                sequences for cursor movement (along with the emacs style keys)."
164         }
165
166         cdl_option CYGBLD_REDBOOT_CMD_LINE_HISTORY {
167             display        "Enable history command and expansion"
168             requires       { CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 }
169             flavor         bool
170             default_value  1
171             description  "
172               Enabling this option will allow RedBoot to provide a
173               history command to list previous commands. Also enables
174               history expansion via '!'  character similar to bash
175               shell."
176         }
177
178         cdl_option CYGBLD_REDBOOT_MAX_MEM_SEGMENTS {
179             display        "Number of unique RAM segments on platform"
180             flavor         data
181             default_value  1
182             description  "
183               Change this option to be the number of memory segments which are
184               supported by the platform.  If the value is greater than 1, then
185               a platform specific function must provide information about the
186               additional segments."
187         }
188     
189         cdl_component CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
190             display       "Include support gzip/zlib decompression"
191             active_if     CYGPKG_COMPRESS_ZLIB
192             default_value 1
193             implements    CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC
194             compile       decompress.c
195
196             cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
197                 display       "Size of zlib decompression buffer"
198                 flavor        data
199                 default_value 64
200                 legal_values  5 to 256
201                 description   "
202                     This is the size of the buffer filled with incoming data
203                     during load before calls are made to the decompressor
204                     function. For ethernet downloads this can be made bigger
205                     (at the cost of memory), but for serial downloads on slow
206                     processors it may be necessary to reduce the size to
207                     avoid serial overruns. zlib appears to bail out if less 
208                     than five bytes are available initially so this is the 
209                     minimum."
210             }
211     
212             cdl_option CYGPRI_REDBOOT_ZLIB_FLASH {
213                  display       "Support compression of Flash images"
214                  active_if     CYGPKG_REDBOOT_FLASH
215                  active_if     { (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE }
216                  calculated    1
217                  description   "
218                         This CDL indicates whether flash images can
219                         be decompressed from gzip/zlib format into RAM."
220             }
221
222             cdl_option CYGBLD_BUILD_REDBOOT_WITH_GUNZIP {
223                  display       "Include GZIP uncompress command"
224                  default_value 0
225                  description   "
226                         Enable this option to include a 'gunzip' command 
227                         to uncompress GZIP compressed data."
228                  compile -library=libextras.a gunzip.c
229             }
230
231             cdl_option CYGPRI_REDBOOT_ZLIB_FLASH_FORCE {
232                  display       "Turn on CYGPRI_REDBOOT_ZLIB_FLASH"
233                  default_value 0
234                  description   "
235                         Force CYGPRI_REDBOOT_ZLIB_FLASH to be chosen"
236             }
237         }
238
239         cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
240             display       "Include support for xyzModem downloads"
241             doc           ref/download-command.html
242             no_define
243             default_value 1
244             implements    CYGINT_REDBOOT_LOAD_METHOD
245             compile -library=libextras.a xyzModem.c
246         }
247
248         cdl_option CYGBLD_REDBOOT_LOAD_INTO_FLASH {
249             display       "Allow the load-command write into Flash."
250             default_value 0
251             active_if     CYGPKG_REDBOOT_FLASH
252             requires      CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS
253             compile       flash_load.c
254             description "
255                 Write images direct to Flash via the load command.
256                 We assume anything which is invalid RAM is flash, hence
257                 the requires statement"
258         }
259
260         cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
261             display       "Include MS Windows CE support"
262             doc           ref/wince.html
263             default_value 0
264             description "This option enables MS Windows CE EShell support
265                          and Windows CE .BIN images support"
266             
267             compile -library=libextras.a wince.c
268         }   
269
270         cdl_option CYGBLD_BUILD_REDBOOT_WITH_MXCUSB {
271             display       "Include support for MXC USB downloads"
272             no_define
273             default_value 0
274             compile -library=libextras.a mxc_usb.c
275         }
276
277         cdl_option CYGBLD_BUILD_REDBOOT_WITH_IMXOTG {
278             display       "Include support for i.MX USB OTG downloads"
279             no_define
280             default_value 0
281             compile -library=libextras.a imx_usb.c
282         }
283
284         cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
285             display       "Include POSIX checksum command"
286             doc           ref/cksum-command.html
287             default_value 1
288             compile -library=libextras.a cksum.c
289         }
290
291         cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
292             display       "Include memory fill command"
293             doc           ref/mfill-command.html
294             default_value 1
295             compile -library=libextras.a mfill.c
296         }
297
298         cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
299             display       "Include memory compare command"
300             doc           ref/mcmp-command.html
301             default_value 1
302             compile -library=libextras.a mcmp.c
303         }
304
305         cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCOPY {
306             display       "Include memory copy command"
307             doc           ref/mcopy-command.html
308             default_value 1
309             compile -library=libextras.a mcopy.c
310         }
311
312         cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
313             display       "Include memory dump command"
314             doc           ref/dump-command.html
315             default_value 1
316             compile -library=libextras.a dump.c
317         }
318
319         cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
320             display       "Include cache command"
321             doc           ref/cache-command.html
322             default_value 1
323             compile -library=libextras.a caches.c
324         }
325
326         cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
327             display       "Include exec command"
328             doc           ref/exec-command.html
329             default_value 1
330             # Implemented within the platform HAL
331         }
332
333         cdl_option CYGBLD_BUILD_REDBOOT_WITH_IOMEM {
334             display       "Include I/O Memory commands 'iopeek' and 'iopoke'"
335             default_value 0
336             compile -library=libextras.a iomem.c
337         }
338
339         no_define
340         description "
341             This option enables the building of the Redboot ELF image.
342             The image may require further relocation or symbol
343             stripping before being converted to a binary image.
344             This is handled by a rule in the target CDL."
345
346     
347         cdl_option CYGDBG_REDBOOT_TICK_GRANULARITY {
348             display          "Granularity of timer/ticks"
349             flavor           data
350             legal_values     { 10 25 50 100 250 500 1000 }      
351             default_value    250
352             description      "
353                 This option controls the granularity of the timers.
354                 Faster CPUs can afford higher granularity (lower values)
355                 which should give higher network performance since the stack
356                 is purely polled."
357         }
358
359         compile main.c
360         compile misc_funs.c io.c parse.c ticks.c syscall.c alias.c
361         compile -library=libextras.a load.c
362
363         make -priority 320 {
364             <PREFIX>/bin/redboot.elf : $(PREFIX)/lib/target.ld $(PREFIX)/lib/vectors.o $(PREFIX)/lib/libtarget.a $(PREFIX)/lib/libextras.a
365                     @sh -c "mkdir -p $(dir $@)"
366                     $(CC) -c $(INCLUDE_PATH) $(ACTUAL_CFLAGS) -o $(PREFIX)/lib/version.o $(REPOSITORY)/$(PACKAGE)/src/version.c
367                     $(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -o $@ $(PREFIX)/lib/version.o
368         }
369
370         cdl_component CYGPKG_REDBOOT_NETWORKING {
371             display       "Redboot Networking"
372             flavor        bool
373             active_if     CYGPKG_IO_ETH_DRIVERS
374             default_value 1
375             implements    CYGINT_REDBOOT_LOAD_METHOD
376             compile net/bootp.c net/udp.c net/ip.c net/pktbuf.c net/cksum.c
377             compile net/enet.c net/icmp.c net/tcp.c net/timers.c net/arp.c
378             compile net/inet_addr.c
379             compile -library=libextras.a net/ping.c net/net_io.c 
380             description "This option includes networking support in RedBoot."
381             define_proc {
382                 puts $::cdl_system_header "#define CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS 1"
383             }
384     
385             cdl_option CYGDBG_REDBOOT_NET_DEBUG {
386                 display          "Print net debug information"
387                 flavor           bool
388                 default_value    0
389                 description      "
390                     This option is overriden by the configuration stored 
391                     in flash."
392             }
393     
394             cdl_option CYGSEM_REDBOOT_NET_TFTP_DOWNLOAD {
395                 display          "Support TFTP for download"
396                 flavor           bool
397                 default_value    1
398                 compile          -library=libextras.a net/tftp_client.c
399                 description      "
400                     This option enables the use of the TFTP protocol for 
401                     download"
402             }
403     
404             cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
405                 display          "Support HTTP for download"
406                 flavor           bool
407                 default_value    1
408                 compile          -library=libextras.a net/http_client.c
409                 description      "
410                     This option enables the use of the HTTP protocol for 
411                     download"
412             }
413     
414             cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
415                 display          "Default IP address"
416                 flavor           booldata
417                 default_value    CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
418                                     { "0, 0, 0, 0" }
419                 description      "
420                     This IP address is the default used by RedBoot if
421                     a BOOTP/DHCP server does not respond. The numbers
422                     should be separated by *commas*, and not dots. If
423                     an IP address is configured into the Flash
424                     configuration, that will be used in preference."
425     
426                 cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
427                      display          "Do not try to use BOOTP"
428                      flavor           bool
429                      default_value    0
430                      description      "
431                          By default Redboot tries to use BOOTP to get an IP
432                          address. If there's no BOOTP server on your network
433                          use this option to avoid to wait until the
434                          timeout. This option is overriden by the
435                          configuration stored in flash."
436                 }
437                 cdl_option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR {
438                      display           "Default bootp server"
439                      flavor            booldata
440                      default_value     CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
441                                           { "0, 0, 0, 0" }
442                      description       "
443                           This IP address is the default server
444                           address used by RedBoot if a BOOTP/DHCP
445                           server does not respond. The numbers should
446                           be separated by *commas*, and not dots. If
447                           an IP address is configured into the Flash
448                           configuration, that will be used in
449                           preference."
450                 }
451             }
452     
453             cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
454                 display          "Use DHCP to get IP information"
455                 flavor           bool
456                 default_value    1
457                 description      "
458                     Use DHCP protocol to obtain pertinent IP addresses, such 
459                     as the client, server, gateway, etc."
460             }
461     
462             cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
463                 display          "Use a gateway for non-local IP traffic"
464                 flavor           bool
465                 default_value    1
466                 requires         CYGSEM_REDBOOT_NETWORKING_DHCP
467                 description      "
468                   Enabling this option will allow the RedBoot networking
469                 stack to use a \[single\] gateway to reach a non-local
470                 IP address.  If disabled, RedBoot will only be able to
471                 reach nodes on the same subnet."
472     
473                 cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
474                     display          "Default gateway IP address"
475                     flavor           booldata
476                     default_value    CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
477                                         { "0, 0, 0, 0" }
478                     description      "
479                         This IP address is the default used by RedBoot
480                         if a BOOTP/DHCP server does not respond. The
481                         numbers should be separated by *commas*, and
482                         not dots. If an IP address is configured into
483                         the Flash configuration, that will be used in
484                         preference."
485                 }
486     
487                 cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
488                     display          "Default IP address mask"
489                     flavor           booldata
490                     default_value    CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
491                                         { "255, 255, 255, 0" }
492                     description      "
493                         This IP address mask is the default used by
494                         RedBoot if a BOOTP/DHCP server does not
495                         respond. The numbers should be separated by
496                         *commas*, and not dots. If an IP address is
497                         configured into the Flash configuration, that
498                         will be used in preference."
499                 }
500             }
501     
502             cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
503                 display          "TCP port to listen for incoming connections"
504                 flavor           data
505                 default_value    9000
506                 description      "
507                    RedBoot will 'listen' on this port for incoming TCP 
508                    connections. This allows outside connections to be made 
509                    to the platform, either for GDB or RedBoot commands."
510             }
511     
512             cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
513                 display          "Number of \[network\] packet buffers"
514                 flavor           data
515                 default_value    4
516                 legal_values     3 to 8
517                 description      "
518                    RedBoot may need to buffer network data to support
519                    various connections.  This option allows control
520                    over the number of such buffered packets, and in
521                    turn, controls the amount of memory used by RedBoot
522                    (which is not available to user applications).
523                    Each packet buffer takes up about 1514 bytes.
524                    Note: there is little need to make this larger than
525                    the default."
526             }
527     
528             cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
529                 display         "DNS support"
530                 default_value   1
531                 active_if       CYGPKG_NS_DNS
532                 requires        !CYGPKG_NS_DNS_BUILD
533                 compile         net/dns.c
534                 description     "
535                     When this option is enabled, RedBoot will be built with
536                     support for DNS, allowing use of hostnames on the command
537                     line."
538             
539                 cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
540                     display         "Default DNS IP"
541                     flavor          data
542                     active_if       !CYGSEM_REDBOOT_FLASH_CONFIG
543                     default_value   { "0.0.0.0" }
544                     description "
545                       This option sets the IP of the default DNS. The IP can be
546                       changed at runtime as well."
547                 }
548
549                 cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
550                     display         "Timeout in DNS lookup"
551                     flavor          data
552                     default_value   10
553                     description "
554                       This option sets the timeout used when looking up an
555                       address via the DNS. Default is 10 seconds."
556                 }
557     
558                 cdl_component CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN {
559                     display         "Support the use of a domain name"
560                     flavor          bool
561                     default_value   0
562                     description     "
563                        This option controls if Redboot supports domain
564                        names when performing DNS lookups"
565                        
566                     cdl_option    CYGPKG_REDBOOT_NETWORKING_DNS_DEFAULT_DOMAIN {
567                         display         "Default DNS domain"
568                         flavor          booldata
569                         default_value   0
570                         description "
571                             This option sets the default DNS domain name.
572                             This value will be overwritten by the value in
573                             flash or a domain returned by DHCP"
574                     }
575
576                     cdl_option    CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN {
577                         display         "Get DNS domain from Flash"
578                         flavor          bool
579                         active_if       CYGSEM_REDBOOT_FLASH_CONFIG
580                         default_value   0
581                         description "
582                             This option enables getting the domain name 
583                             from the flash configuration. This can later be 
584                             overwritten by a value learnt from DHCP"
585                     }
586
587                     cdl_option    CYGPKG_REDBOOT_NETWORKING_DNS_DHCP_DOMAIN {
588                         display         "Use DNS domain from DHCP"
589                         flavor          bool
590                         default_value   0
591                         description "
592                             This option enables the use of the domain name
593                             returned by DHCP."
594                     }
595
596                     cdl_option CYGNUM_REDBOOT_NETWORK_DNS_DOMAIN_BUFSIZE {
597                         display         "BOOTP/DHCP DNS domain buffer size"
598                         flavor          data
599                         default_value   32
600                         description "
601                            This options sets the size of the static
602                            buffer used by BOOTP/DHCP to store the DNS
603                            domain name. The domain name will not be
604                            set if the buffer is too small to hold it."
605                     }
606                 }
607             }
608
609             cdl_option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE {
610                 display         "Default network device driver"
611                 flavor          data
612                 active_if       { CYGHWR_NET_DRIVERS > 1 }
613                 default_value   { "\"\"" }
614                 description     "
615                     This is the name of the default network device to use."
616             }
617
618             cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
619                 display         "Initialize only one net device"
620                 flavor          bool
621                 active_if       { CYGHWR_NET_DRIVERS > 1 }
622                 default_value   0
623                 description     "
624                     This option tells RedBoot to stop initializing network
625                     devices when it finds the first device which is
626                     successfully initialized. The default behavior causes
627                     all network devices to be initialized."
628             }
629         }
630     
631         cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
632             display       "Let RedBoot use any I/O channel for its console."
633             flavor        bool
634             default_value 1
635             description   "
636               If this option is enabled then RedBoot will attempt to use all
637               defined serial I/O channels for its console device.  Once input
638               arrives at one of these channels then the console will use only
639               that port."
640         }
641     
642         cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
643             display       "Let RedBoot adjust the baud rate of the serial console."
644             flavor        bool
645             default_value 1
646             active_if     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
647             description   "
648               If this option is enabled then RedBoot will support commands 
649               to set and query the baud rate on the selected console."     
650         }
651     
652         cdl_option CYGSEM_REDBOOT_PLF_STARTUP {
653             display       "Run a platform specific startup function."
654             flavor        bool
655             default_value 0
656             description   "
657               If this option is enabled then RedBoot will execute a platform
658               specific startup function before entering into its command line
659               processing.  This allows the platform to perform any special
660               setups before RedBoot actually starts running.  Note: the entire
661               RedBoot environment will already be initialized at this point."
662         }
663     
664         cdl_option CYGSEM_REDBOOT_PLF_ESA_VALIDATE {
665             display       "Run a platform specific ESA validation function."
666             flavor        bool
667             default_value 0
668             description   "
669               If this option is enabled then RedBoot will execute a platform
670               specific function to validate an ethernet ESA.  This would be
671               useful if the address must conform to standards set by the
672               hardware manufacturer, etc."
673         }
674     
675         cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
676             display       "Maximum command line length"
677             flavor        data
678             default_value 256
679             description   "
680               This option allows control over how long the CLI command line
681               should be.  This space will be allocated statically
682               rather than from RedBoot's stack."
683         }
684     
685         cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
686             display       "Command processing idle timeout (ms)"
687             flavor        data
688             default_value 10
689             description   "
690               This option controls the timeout period before the
691               command processing is considered 'idle'.  Making this
692               number smaller will cause idle processing to take place
693               more often, etc.  The default value of 10ms is a reasonable
694               tradeoff between responsiveness and overhead."
695         }
696     
697         cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
698             display       "Validate RAM addresses during load"
699             flavor        bool
700             default_value 1
701             description   "
702
703               This option controls whether or not RedBoot will make
704               sure that memory being used by the \"load\" command is
705               in fact in user RAM.  Leaving the option enabled makes
706               for a safer environment, but this check may not be valid
707               on all platforms, thus the ability to disable it.  
708               ** Disable this only with great care **"
709         }
710     
711         cdl_component CYGPKG_REDBOOT_FLASH {
712             display       "Allow RedBoot to support FLASH programming"
713             flavor        bool
714             default_value 1
715             active_if     CYGHWR_IO_FLASH_DEVICE
716             description   "
717               If this option is enabled then RedBoot will provide commands
718               to manage images in FLASH memory.  These images can be loaded
719               into memory for execution or executed in place."
720             compile -library=libextras.a flash.c
721     
722             cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER {
723                 display         "Byte order used to store info in flash."
724                 flavor          data
725                 default_value   { "NATURAL" }
726                 legal_values    {"NATURAL" "MSBFIRST" "LSBFIRST" }
727                 description "
728                     This option controls the byte ordering used to store
729                     the FIS directory info and flash config info."
730             }
731     
732             cdl_option CYGOPT_REDBOOT_FIS {
733                 display         "RedBoot Flash Image System support"
734                 default_value   1
735                 doc             ref/flash-image-system.html
736                 description "
737                     This option enables the Flash Image System commands
738                     and support within RedBoot.  If disabled, simple Flash
739                     access commands such as \"fis write\" will still exist.
740                     This option would be disabled for targets that need simple
741                     FLASH manipulation, but do not have the need or space for
742                     complete image management."
743             }
744
745             cdl_option CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS {
746                 display        "Max number of chunks of free space to manage"
747                 flavor         booldata
748                 default_value  32
749                 description    "
750
751                   If this option is defined then \"fis free\" will
752                   rely on the FIS directory to determine what space is
753                   free within the FLASH.  This option controls the
754                   maximum number of free segment which can be handled
755                   (typically this number is small).  If this option is
756                   not enabled, the the archaic behaviour of actually
757                   scanning the FLASH for erased sectors (unreliable)
758                   will be used to determine what's free and what's
759                   not."
760             }
761     
762             cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
763                 display       "Flash Image System default directory contents"
764                 active_if     CYGOPT_REDBOOT_FIS
765                 calculated    1
766     
767                 cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
768                     display         "Flash block containing the Directory"
769                     flavor          data
770                     default_value   (-1)
771                     description "
772                       Which block of flash should hold the directory
773                       information. Positive numbers are absolute block
774                       numbers.  Negative block numbers count backwards
775                       from the last block.  eg 2 means block 2, -2
776                       means the last but one block."
777                 }
778     
779                 cdl_component CYGOPT_REDBOOT_REDUNDANT_FIS {
780                     display         "Redundant Flash Image System Directory Support"
781                     default_value   0
782                     requires { 0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG }
783                     description "
784                               This option enables the use of a redundant FIS
785                               directory within RedBoot.  If enabled a flash block
786                               will be reserved for a second copy of the fis
787                               directory. Doing this allow for power failure safe
788                               updates of the directory by the application."
789       
790                     cdl_option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK {
791                         display         "Flash block containing the backup Directory"
792                         flavor          data
793                         default_value   (-3)
794                         requires { CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK !=
795                                    CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK }
796                         description "
797                                  Which block of flash should hold the redundant
798                                  directory information. Positive numbers are
799                                  absolute block numbers. Negative block numbers
800                                  count backwards from the last block. eg 2 means
801                                  block 2, -2 means the last but one block."
802                     }
803                 }
804     
805                 cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
806                     display         "Pseudo-file to describe reserved area"
807                     active_if       { 0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE }
808                     default_value   1
809                     description "
810                         If an area of FLASH is reserved, it is informative to
811                         have a fis entry describing it.  This option controls
812                         creation of such an entry by default in the fis init
813                         command."
814                 }
815     
816                 cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
817                     display         "File to describe RedBoot boot image"
818                     default_value   1
819                     description "
820                         Normally a ROM-startup RedBoot image is first in the
821                         FLASH, and the system boots using that image.  This
822                         option controls creation of an entry describing it in
823                         the fis init command.  It might be disabled if a
824                         platform has an immutable boot image of its own, where
825                         we use a POST-startup RedBoot instead, which performs
826                         less board initialization."
827                 }
828     
829                 cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
830                     display         "File to describe RedBoot POST-compatible image"
831                     default_value   !CYGOPT_REDBOOT_FIS_REDBOOT
832                     description "
833                         This option controls creation of an entry describing a
834                         POST-startup RedBoot image in the fis init command.
835                         Not all platforms support POST-startup.  A platform
836                         might have both for testing purposes, where the
837                         eventual user would substitute their own POST code for
838                         the initial ROM-startup RedBoot, and then jump to the
839                         POST-compatible RedBoot immediately following."
840                     cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
841                         display    "Offset of POST image from FLASH start"
842                         flavor     booldata
843                         default_value 0
844                         requires   { CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= \
845                                      CYGBLD_REDBOOT_FLASH_BOOT_OFFSET }
846                         description "
847                         This option specifies the offset for a POST image from
848                         the start of FLASH.  If unset, then the fis entry
849                         describing the POST image will be placed where
850                         convenient."
851                     }
852                 }   
853     
854                 cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
855                     display         "File to describe RedBoot backup image"
856                     default_value   0
857                     description "
858                         This option controls creation of an entry describing a
859                         backup RedBoot image in the fis init command.
860                         Conventionally a RAM-startup RedBoot image is kept
861                         under this name for use in updating the ROM-based
862                         RedBoot that boots the board."
863                 }
864     
865                 cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
866                     display         "Include ARM SIB ID in FIS"
867                     default_value   0
868                     description "
869                       If set, this option will cause the last 5 words of
870                       the FIS to include the special ID needed for the
871                       flash to be recognized as a reserved area for RedBoot
872                       by an ARM BootRom monitor."
873                 }
874     
875                 cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
876                     display         "Size of FIS directory entry"
877                     flavor              data
878                     default_value   256
879                     description "
880                       The FIS directory is limited to one single flash
881                       sector. If your flash has tiny sectors, you may wish
882                       to reduce this value in order to get more slots in
883                       the FIS directory."
884                 }
885     
886                 cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_COUNT {
887                     display         "Number of FIS directory entries"
888                     flavor          data
889                     default_value   8
890                     description "
891                       The FIS directory normally occupies a single flash
892                       sector. Adjusting this value can allow for more than
893                       one flash sector to be used, which is useful if your
894                       sectors are very small."
895                 }
896     
897                 cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
898                     display       "Maximum RedBoot image size"
899                     flavor        data
900                     default_value { CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 }
901                     description "
902                       This option controls the maximum length reserved
903                       for the RedBoot boot image in the FIS table.
904                       This should be a multiple of the flash's erase
905                       block size."
906                 }
907         
908                 cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
909                     display       "Offset from start of FLASH to RedBoot boot image"
910                     flavor        data
911                     default_value CYGNUM_REDBOOT_FLASH_RESERVED_BASE
912                     requires      { CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= \
913                                     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET }
914                     description "
915                       This option controls where the RedBoot boot image is 
916                       located relative to the start of FLASH."
917                 }
918         
919                 cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
920                     display       "Size of reserved area at start of FLASH"
921                     flavor        data
922                     default_value 0
923                     description "
924                       This option reserves an area at the start of
925                       FLASH where RedBoot will never interfere; it is
926                       expected that this area contains
927                       (non-RedBoot-based) POST code or some other boot
928                       monitor that executes before RedBoot."
929                 }
930             }
931     
932             cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
933                 display       "Keep all RedBoot FLASH data blocks locked."
934                 flavor        bool
935                 default_value 1
936                 active_if     { CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 }
937                 description "
938                   When this option is enabled, RedBoot will keep configuration
939                   data and the FIS directory blocks implicitly locked.  While
940                   this is somewhat safer, it does add overhead during updates."
941             }
942     
943             cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
944                 display       "Use CRC checksums on FIS images."
945                 flavor        bool
946                 default_value 1
947                 description "
948                   When this option is enabled, RedBoot will use CRC checksums
949                   when reading and writing flash images."
950             }
951     
952             cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
953                 display       "ARM FLASH drivers support SIB flash block structure"
954                 active_if     CYGPKG_HAL_ARM
955                 description   "This interface is implemented by a flash driver
956                                to indicate that it supports the ARM SIB flash
957                                block structure"
958             }
959     
960             cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
961                 display       "Use ARM SIB flash block structure"
962                 flavor        bool
963                 active_if     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
964                 default_value 1
965                 description "
966                   This option is used to interpret ARM Flash System 
967                   information blocks."
968             }
969         }
970     
971         cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
972             display       "Keep RedBoot configuration data in FLASH"
973             flavor        bool
974             default_value { CYGPKG_IO_FLASH != 0 }
975             compile       fconfig.c
976             description "
977               When this option is enabled, RedBoot will keep configuration
978               data in a separate block of FLASH memory.  This data will
979               include such items as the node IP address or startup scripts."
980
981             cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
982                 display       "Length of configuration data in FLASH"
983                 flavor        data
984                 default_value 4096
985                 description "
986                   This option is used to control the amount of memory and FLASH
987                   to be used for configuration options (persistent storage)."
988             }
989
990             cdl_option CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA {
991                 display       "Style of media used for persistent data storage"
992                 flavor        data
993                 legal_values  { "FLASH" "EEPROM" }
994                 default_value { "FLASH" }
995                 description "
996                   Persistent data storage can either be held in 'norma' FLASH
997                   or some other device (represented by the 'EEPROM' choice).
998                   The different styles utilize different access methods."
999             }
1000
1001             cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
1002                 display       "Merged config data and FIS directory"
1003                 flavor        bool              
1004                 active_if     { CYGOPT_REDBOOT_FIS && \
1005                                (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") }
1006                 default_value 1
1007                 description "
1008                   If this option is set, then the FIS directory and FLASH 
1009                   configuration database will be stored in the same physical
1010                   FLASH block."
1011             }
1012
1013             cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
1014                 display       "Which block of flash to use" 
1015                 flavor         data
1016                 default_value  (-2)
1017                 description "
1018                   Which block of flash should hold the configuration 
1019                   information. Positive numbers are absolute block numbers. 
1020                   Negative block numbers count backwards from the last block.
1021                   eg 2 means block 2, -2 means the last but one block."
1022             }
1023
1024             cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
1025                 display       "Support simple macros/aliases in FLASH"
1026                 flavor        bool
1027                 default_value 1
1028                 description "
1029                   This option is used to allow support for simple text-based
1030                   macros (aliases).  These aliases are kept in the FLASH
1031                   configuration data (persistent storage)."
1032             }
1033
1034             cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
1035                 display       "Length of strings in FLASH configuration data"
1036                 flavor        data
1037                 default_value 128
1038                 description "
1039                   This option is used to control the amount of memory
1040                   and FLASH to be used for string configuration
1041                   options (persistent storage)."
1042             }
1043
1044             cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
1045                 display       "Length of configuration script(s) in FLASH"
1046                 flavor        data
1047                 default_value 512
1048                 description "
1049                   This option is used to control the amount of memory and 
1050                   FLASH to be used for configuration options (persistent 
1051                   storage)."
1052             }
1053
1054             cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
1055                 display       "Fallback to read-only FLASH configuration"
1056                 flavor        bool
1057                 default_value { (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") }
1058                 description "
1059                   This option will cause the configuration information to
1060                   revert to the readonly information stored in the FLASH.
1061                   The option only takes effect after 
1062                     1) the config_ok flag has been set to be true,
1063                        indicating that at one time the copy in RAM was valid;
1064                   and
1065                     2) the information in RAM has been verified to be invalid"
1066                   
1067             }
1068         }
1069     
1070         cdl_component CYGPKG_REDBOOT_FILEIO {
1071             display       "Allow RedBoot to support fileio"
1072             flavor        bool
1073             default_value 1
1074             active_if     CYGPKG_IO_FILEIO
1075             description   "
1076               If this option is enabled then RedBoot will provide commands
1077               to load files from fileio file systems such as JFFS2."
1078             compile -library=libextras.a fs/fileio.c
1079
1080             cdl_option CYGBLD_REDBOOT_FILEIO_WITH_LS {
1081                 display       "Include an ls command"
1082                 flavor        bool
1083                 default_value 1
1084                 description   "
1085                    If this option is enabled a simple ls command will be
1086                    included in redboot so the contents of a directory
1087                    can be listed"
1088             }
1089         }
1090
1091         cdl_component CYGPKG_REDBOOT_DISK {
1092             display       "Allow RedBoot to support disks"
1093             flavor        bool
1094             default_value 1
1095             description   "
1096               If this option is enabled then RedBoot will provide commands
1097               to load disk files."
1098
1099             cdl_option CYGSEM_REDBOOT_DISK {
1100                 display   "Include Redboot commands for disk access"
1101                 default_value { CYGINT_REDBOOT_DISK_DRIVERS != 0 }
1102                 compile -library=libextras.a fs/disk.c
1103             }
1104
1105             cdl_interface CYGINT_REDBOOT_DISK_DRIVERS {
1106                 display  "Hardware drivers for disk-type devices"
1107             }
1108     
1109             cdl_option CYGNUM_REDBOOT_MAX_DISKS {
1110                 display       "Maximum number of supported disks"
1111                 flavor        data
1112                 default_value 4
1113                 description "
1114                   This option controls the number of disks supported by 
1115                   RedBoot."
1116             }
1117     
1118             cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
1119                 display       "Maximum number of partitions per disk"
1120                 flavor        data
1121                 default_value 8
1122                 description "
1123                   This option controls the maximum number of supported 
1124                   partitions per disk."
1125             }
1126     
1127             cdl_component CYGSEM_REDBOOT_DISK_IDE {
1128                 display       "Support IDE disks."
1129                 flavor        bool
1130                 default_value 1
1131                 active_if     { CYGINT_HAL_PLF_IF_IDE != 0 }
1132                 description "
1133                   When this option is enabled, RedBoot will support IDE disks."
1134                 compile -library=libextras.a fs/ide.c
1135                 implements    CYGINT_REDBOOT_DISK_DRIVERS
1136
1137                 cdl_option CYGSEM_REDBOOT_DISK_IDE_VMWARE {
1138                     display       "Work with VMware virtual disks"
1139                     flavor        bool
1140                     default_value 0
1141                     description "
1142                         This option controls the disk driver behavior at 
1143                         ide-init"
1144                 }
1145             }
1146     
1147             cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
1148                 display       "Support Linux second extended filesystems."
1149                 flavor        bool
1150                 default_value 1
1151                 description "
1152                   When this option is enabled, RedBoot will support EXT2 
1153                   filesystems."
1154                 compile -library=libextras.a fs/e2fs.c
1155             }
1156     
1157             cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
1158                 display       "Support ISO9660 filesystems."
1159                 flavor        bool
1160                 calculated    0
1161                 description "
1162                   When this option is enabled, RedBoot will support ISO9660 
1163                   filesystems."
1164                 compile -library=libextras.a fs/iso9660fs.c
1165             }
1166         }
1167     
1168         cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
1169             display         "Boot scripting"
1170             doc             ref/persistent-state-flash.html
1171             flavor          none
1172             no_define
1173             description     "
1174                     This contains options related to RedBoot's boot script
1175                     functionality."
1176             
1177             cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
1178                     display         "Boot scripting enabled"
1179                     flavor          bool
1180                     active_if       { CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || \
1181                                       CYGSEM_REDBOOT_FLASH_CONFIG }
1182                     calculated      1
1183                     description "
1184                       This option controls whether RedBoot boot script
1185                       functionality is enabled." 
1186             }
1187     
1188             cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
1189                     display         "Use default RedBoot boot script"
1190                     flavor          booldata
1191                     default_value   0
1192                     description "
1193                       If enabled, this option will tell RedBoot to use the 
1194                       value of this option as a default boot script."
1195             }
1196     
1197             cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
1198                 display       "Resolution (in ms) for script timeout value."
1199                 flavor        data
1200                 default_value 1000
1201                 description "
1202                   This option controls the resolution of the script
1203                   timeout.  The value is specified in milliseconds
1204                   (ms), thus to have the script timeout be defined in
1205                   terms of tenths of seconds, use 100."    
1206             }
1207     
1208             cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
1209                 display       "Script default timeout value"
1210                 flavor        data
1211                 default_value 10
1212                 description "
1213                   This option is used to set the default timeout for startup
1214                   scripts, when they are enabled."
1215             }
1216         }
1217     
1218         cdl_option CYGSEM_REDBOOT_RTC {
1219             display      "Support RTC for time & date functions"
1220             active_if    { CYGPKG_IO_WALLCLOCK }
1221             default_value 1
1222             description  "
1223               When this option is enabled, RedBoot will support commands to
1224               query and set the real time clock (time and date)"
1225             compile -library=libextras.a time_date.cxx
1226         }
1227     
1228         cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
1229             display      "Behave like a ROM monitor"
1230             active_if    { CYG_HAL_STARTUP == "ROM" || \
1231                            CYG_HAL_STARTUP == "ROMRAM" }
1232             requires     CYGSEM_HAL_ROM_MONITOR
1233             calculated   1
1234             no_define
1235             description  "
1236               Enabling this option will allow RedBoot to provide ROM 
1237               monitor-style services to programs which it executes."
1238         }
1239     
1240         cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
1241             display       "Allow RedBoot to handle GNUPro application 'syscalls'."
1242             flavor        bool
1243             default_value 0
1244             description   "
1245               If this option is enabled then RedBoot will install a
1246               syscall handler to support debugging of applications
1247               based on GNUPro newlib/bsp."
1248     
1249             cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
1250                 display "Support additional syscalls for 'gprof' profiling"
1251                 flavor  bool
1252                 default_value 1
1253                 active_if       { 0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT }
1254                 description "
1255                     Support additional syscalls to support a periodic callback
1256                     function for histogram-style profiling, and an enquire/set
1257                     of the tick rate.
1258                     The application must use the GNUPro newlib facilities
1259                     to set this up."
1260             }
1261     
1262             cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
1263                 display "Does the HAL support 'gprof' profiling?"
1264                 no_define
1265             }
1266
1267             cdl_option CYGOPT_REDBOOT_BSP_SYSCALLS_EXIT_WITHOUT_TRAP {
1268                 display "Do not raise SIGTRAP when program exits"
1269                 default_value 0
1270                 description "
1271                     For some (single shot) newlib based programs,
1272                     exiting and returning a termination status may be
1273                     the normal expected behavior."
1274             }
1275         }
1276     
1277         cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
1278             display             "Use a common buffer for Zlib and FIS"
1279             flavor              bool
1280             active_if           { CYGBLD_BUILD_REDBOOT_WITH_ZLIB && \
1281                               CYGOPT_REDBOOT_FIS }
1282             default_value       0
1283             description         "
1284                 Use a common memory buffer for both the zlib workspace
1285                 and FIS directory operations. This can save a substantial
1286                 amount of RAM, especially when flash sectors are large."
1287     
1288             cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
1289                 display             "Size of Zlib/FIS common buffer"
1290                 flavor              data
1291                 default_value   0xc000
1292                 legal_values    0x4000 to 0x80000000
1293                 description     "
1294                     Size of common buffer to allocate. Must be at least the
1295                     size of one flash sector."
1296             }
1297         }
1298         cdl_option CYGNUM_REDBOOT_GETC_BUFFER {
1299             display       "Buffer size in getc when loading images"
1300             flavor        data
1301             default_value { CYGPKG_REDBOOT_FILEIO ? 4096 : 256 }
1302             description   "
1303                 When loading images a buffer is used between redboot and the
1304                 underlying storage medium, eg a filesystem, or a socket etc.
1305                 The size of this buffer can have a big impart on load speed."
1306         }
1307
1308     }
1309 }
1310
1311 # EOF redboot.cdl