]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - packages/redboot/v2_0/cdl/redboot.cdl
Merge branch 'master' of git+ssh://git.kernelconcepts.de/karo-tx-redboot
[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 CYGPKG_REDBOOT_CFLAGS_ADD {
249             display "Additional compiler flags"
250             active_if     CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM
251             flavor  data
252             no_define
253             default_value { "-Wno-inline" }
254             description   "
255                 This option modifies the set of compiler flags for
256                 building the eCos infra package. These flags are used
257                 in addition to the set of global flags."
258         }
259
260         cdl_option CYGBLD_REDBOOT_LOAD_INTO_FLASH {
261             display       "Allow the load-command write into Flash."
262             default_value 0
263             active_if     CYGPKG_REDBOOT_FLASH
264             requires      CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS
265             compile       flash_load.c
266             description "
267                 Write images direct to Flash via the load command.
268                 We assume anything which is invalid RAM is flash, hence
269                 the requires statement"
270         }
271
272         cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
273             display       "Include MS Windows CE support"
274             doc           ref/wince.html
275             default_value 0
276             description "This option enables MS Windows CE EShell support
277                          and Windows CE .BIN images support"
278             
279             compile -library=libextras.a wince.c
280         }   
281
282         cdl_option CYGBLD_BUILD_REDBOOT_WITH_MXCUSB {
283             display       "Include support for MXC USB downloads"
284             no_define
285             default_value 0
286             compile -library=libextras.a mxc_usb.c
287         }
288
289         cdl_option CYGBLD_BUILD_REDBOOT_WITH_IMXOTG {
290             display       "Include support for i.MX USB OTG downloads"
291             no_define
292             default_value 0
293             compile -library=libextras.a imx_usb.c
294         }
295
296         cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
297             display       "Include POSIX checksum command"
298             doc           ref/cksum-command.html
299             default_value 1
300             compile -library=libextras.a cksum.c
301         }
302
303         cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
304             display       "Include memory fill command"
305             doc           ref/mfill-command.html
306             default_value 1
307             compile -library=libextras.a mfill.c
308         }
309
310         cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
311             display       "Include memory compare command"
312             doc           ref/mcmp-command.html
313             default_value 1
314             compile -library=libextras.a mcmp.c
315         }
316
317         cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCOPY {
318             display       "Include memory copy command"
319             doc           ref/mcopy-command.html
320             default_value 1
321             compile -library=libextras.a mcopy.c
322         }
323
324         cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
325             display       "Include memory dump command"
326             doc           ref/dump-command.html
327             default_value 1
328             compile -library=libextras.a dump.c
329         }
330
331         cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
332             display       "Include cache command"
333             doc           ref/cache-command.html
334             default_value 1
335             compile -library=libextras.a caches.c
336         }
337
338         cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
339             display       "Include exec command"
340             doc           ref/exec-command.html
341             default_value 1
342             # Implemented within the platform HAL
343         }
344
345         cdl_option CYGBLD_BUILD_REDBOOT_WITH_IOMEM {
346             display       "Include I/O Memory commands 'iopeek' and 'iopoke'"
347             default_value 0
348             compile -library=libextras.a iomem.c
349         }
350
351         no_define
352         description "
353             This option enables the building of the Redboot ELF image.
354             The image may require further relocation or symbol
355             stripping before being converted to a binary image.
356             This is handled by a rule in the target CDL."
357
358     
359         cdl_option CYGDBG_REDBOOT_TICK_GRANULARITY {
360             display          "Granularity of timer/ticks"
361             flavor           data
362             legal_values     { 10 25 50 100 250 500 1000 }      
363             default_value    250
364             description      "
365                 This option controls the granularity of the timers.
366                 Faster CPUs can afford higher granularity (lower values)
367                 which should give higher network performance since the stack
368                 is purely polled."
369         }
370
371         compile main.c
372         compile misc_funs.c io.c parse.c ticks.c syscall.c alias.c
373         compile -library=libextras.a load.c
374
375         make -priority 320 {
376             <PREFIX>/bin/redboot.elf : $(PREFIX)/lib/target.ld $(PREFIX)/lib/vectors.o $(PREFIX)/lib/libtarget.a $(PREFIX)/lib/libextras.a
377                     @sh -c "mkdir -p $(dir $@)"
378                     $(CC) -c $(INCLUDE_PATH) $(ACTUAL_CFLAGS) -o $(PREFIX)/lib/version.o $(REPOSITORY)/$(PACKAGE)/src/version.c
379                     $(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -o $@ $(PREFIX)/lib/version.o
380         }
381
382         cdl_component CYGPKG_REDBOOT_NETWORKING {
383             display       "Redboot Networking"
384             flavor        bool
385             active_if     CYGPKG_IO_ETH_DRIVERS
386             default_value 1
387             implements    CYGINT_REDBOOT_LOAD_METHOD
388             compile net/bootp.c net/udp.c net/ip.c net/pktbuf.c net/cksum.c
389             compile net/enet.c net/icmp.c net/tcp.c net/timers.c net/arp.c
390             compile net/inet_addr.c
391             compile -library=libextras.a net/ping.c net/net_io.c 
392             description "This option includes networking support in RedBoot."
393             define_proc {
394                 puts $::cdl_system_header "#define CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS 1"
395             }
396     
397             cdl_option CYGDBG_REDBOOT_NET_DEBUG {
398                 display          "Print net debug information"
399                 flavor           bool
400                 default_value    0
401                 description      "
402                     This option is overriden by the configuration stored 
403                     in flash."
404             }
405     
406             cdl_option CYGSEM_REDBOOT_NET_TFTP_DOWNLOAD {
407                 display          "Support TFTP for download"
408                 flavor           bool
409                 default_value    1
410                 compile          -library=libextras.a net/tftp_client.c
411                 description      "
412                     This option enables the use of the TFTP protocol for 
413                     download"
414             }
415     
416             cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
417                 display          "Support HTTP for download"
418                 flavor           bool
419                 default_value    1
420                 compile          -library=libextras.a net/http_client.c
421                 description      "
422                     This option enables the use of the HTTP protocol for 
423                     download"
424             }
425     
426             cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
427                 display          "Default IP address"
428                 flavor           booldata
429                 default_value    CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
430                                     { "0, 0, 0, 0" }
431                 description      "
432                     This IP address is the default used by RedBoot if
433                     a BOOTP/DHCP server does not respond. The numbers
434                     should be separated by *commas*, and not dots. If
435                     an IP address is configured into the Flash
436                     configuration, that will be used in preference."
437     
438                 cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
439                      display          "Do not try to use BOOTP"
440                      flavor           bool
441                      default_value    0
442                      description      "
443                          By default Redboot tries to use BOOTP to get an IP
444                          address. If there's no BOOTP server on your network
445                          use this option to avoid to wait until the
446                          timeout. This option is overriden by the
447                          configuration stored in flash."
448                 }
449                 cdl_option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR {
450                      display           "Default bootp server"
451                      flavor            booldata
452                      default_value     CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
453                                           { "0, 0, 0, 0" }
454                      description       "
455                           This IP address is the default server
456                           address used by RedBoot if a BOOTP/DHCP
457                           server does not respond. The numbers should
458                           be separated by *commas*, and not dots. If
459                           an IP address is configured into the Flash
460                           configuration, that will be used in
461                           preference."
462                 }
463             }
464     
465             cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
466                 display          "Use DHCP to get IP information"
467                 flavor           bool
468                 default_value    1
469                 description      "
470                     Use DHCP protocol to obtain pertinent IP addresses, such 
471                     as the client, server, gateway, etc."
472             }
473     
474             cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
475                 display          "Use a gateway for non-local IP traffic"
476                 flavor           bool
477                 default_value    1
478                 requires         CYGSEM_REDBOOT_NETWORKING_DHCP
479                 description      "
480                   Enabling this option will allow the RedBoot networking
481                 stack to use a \[single\] gateway to reach a non-local
482                 IP address.  If disabled, RedBoot will only be able to
483                 reach nodes on the same subnet."
484     
485                 cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
486                     display          "Default gateway IP address"
487                     flavor           booldata
488                     default_value    CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
489                                         { "0, 0, 0, 0" }
490                     description      "
491                         This IP address is the default used by RedBoot
492                         if a BOOTP/DHCP server does not respond. The
493                         numbers should be separated by *commas*, and
494                         not dots. If an IP address is configured into
495                         the Flash configuration, that will be used in
496                         preference."
497                 }
498     
499                 cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
500                     display          "Default IP address mask"
501                     flavor           booldata
502                     default_value    CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
503                                         { "255, 255, 255, 0" }
504                     description      "
505                         This IP address mask is the default used by
506                         RedBoot if a BOOTP/DHCP server does not
507                         respond. The numbers should be separated by
508                         *commas*, and not dots. If an IP address is
509                         configured into the Flash configuration, that
510                         will be used in preference."
511                 }
512             }
513     
514             cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
515                 display          "TCP port to listen for incoming connections"
516                 flavor           data
517                 default_value    9000
518                 description      "
519                    RedBoot will 'listen' on this port for incoming TCP 
520                    connections. This allows outside connections to be made 
521                    to the platform, either for GDB or RedBoot commands."
522             }
523     
524             cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
525                 display          "Number of \[network\] packet buffers"
526                 flavor           data
527                 default_value    4
528                 legal_values     3 to 8
529                 description      "
530                    RedBoot may need to buffer network data to support
531                    various connections.  This option allows control
532                    over the number of such buffered packets, and in
533                    turn, controls the amount of memory used by RedBoot
534                    (which is not available to user applications).
535                    Each packet buffer takes up about 1514 bytes.
536                    Note: there is little need to make this larger than
537                    the default."
538             }
539     
540             cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
541                 display         "DNS support"
542                 default_value   1
543                 active_if       CYGPKG_NS_DNS
544                 requires        !CYGPKG_NS_DNS_BUILD
545                 compile         net/dns.c
546                 description     "
547                     When this option is enabled, RedBoot will be built with
548                     support for DNS, allowing use of hostnames on the command
549                     line."
550             
551                 cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
552                     display         "Default DNS IP"
553                     flavor          data
554                     active_if       !CYGSEM_REDBOOT_FLASH_CONFIG
555                     default_value   { "0.0.0.0" }
556                     description "
557                       This option sets the IP of the default DNS. The IP can be
558                       changed at runtime as well."
559                 }
560
561                 cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
562                     display         "Timeout in DNS lookup"
563                     flavor          data
564                     default_value   10
565                     description "
566                       This option sets the timeout used when looking up an
567                       address via the DNS. Default is 10 seconds."
568                 }
569     
570                 cdl_component CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN {
571                     display         "Support the use of a domain name"
572                     flavor          bool
573                     default_value   0
574                     description     "
575                        This option controls if Redboot supports domain
576                        names when performing DNS lookups"
577                        
578                     cdl_option    CYGPKG_REDBOOT_NETWORKING_DNS_DEFAULT_DOMAIN {
579                         display         "Default DNS domain"
580                         flavor          booldata
581                         default_value   0
582                         description "
583                             This option sets the default DNS domain name.
584                             This value will be overwritten by the value in
585                             flash or a domain returned by DHCP"
586                     }
587
588                     cdl_option    CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN {
589                         display         "Get DNS domain from Flash"
590                         flavor          bool
591                         active_if       CYGSEM_REDBOOT_FLASH_CONFIG
592                         default_value   0
593                         description "
594                             This option enables getting the domain name 
595                             from the flash configuration. This can later be 
596                             overwritten by a value learnt from DHCP"
597                     }
598
599                     cdl_option    CYGPKG_REDBOOT_NETWORKING_DNS_DHCP_DOMAIN {
600                         display         "Use DNS domain from DHCP"
601                         flavor          bool
602                         default_value   0
603                         description "
604                             This option enables the use of the domain name
605                             returned by DHCP."
606                     }
607
608                     cdl_option CYGNUM_REDBOOT_NETWORK_DNS_DOMAIN_BUFSIZE {
609                         display         "BOOTP/DHCP DNS domain buffer size"
610                         flavor          data
611                         default_value   32
612                         description "
613                            This options sets the size of the static
614                            buffer used by BOOTP/DHCP to store the DNS
615                            domain name. The domain name will not be
616                            set if the buffer is too small to hold it."
617                     }
618                 }
619             }
620
621             cdl_option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE {
622                 display         "Default network device driver"
623                 flavor          data
624                 active_if       { CYGHWR_NET_DRIVERS > 1 }
625                 default_value   { "\"\"" }
626                 description     "
627                     This is the name of the default network device to use."
628             }
629
630             cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
631                 display         "Initialize only one net device"
632                 flavor          bool
633                 active_if       { CYGHWR_NET_DRIVERS > 1 }
634                 default_value   0
635                 description     "
636                     This option tells RedBoot to stop initializing network
637                     devices when it finds the first device which is
638                     successfully initialized. The default behavior causes
639                     all network devices to be initialized."
640             }
641         }
642     
643         cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
644             display       "Let RedBoot use any I/O channel for its console."
645             flavor        bool
646             default_value 1
647             description   "
648               If this option is enabled then RedBoot will attempt to use all
649               defined serial I/O channels for its console device.  Once input
650               arrives at one of these channels then the console will use only
651               that port."
652         }
653     
654         cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
655             display       "Let RedBoot adjust the baud rate of the serial console."
656             flavor        bool
657             default_value 1
658             active_if     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
659             description   "
660               If this option is enabled then RedBoot will support commands 
661               to set and query the baud rate on the selected console."     
662         }
663     
664         cdl_option CYGSEM_REDBOOT_PLF_STARTUP {
665             display       "Run a platform specific startup function."
666             flavor        bool
667             default_value 0
668             description   "
669               If this option is enabled then RedBoot will execute a platform
670               specific startup function before entering into its command line
671               processing.  This allows the platform to perform any special
672               setups before RedBoot actually starts running.  Note: the entire
673               RedBoot environment will already be initialized at this point."
674         }
675     
676         cdl_option CYGSEM_REDBOOT_PLF_ESA_VALIDATE {
677             display       "Run a platform specific ESA validation function."
678             flavor        bool
679             default_value 0
680             description   "
681               If this option is enabled then RedBoot will execute a platform
682               specific function to validate an ethernet ESA.  This would be
683               useful if the address must conform to standards set by the
684               hardware manufacturer, etc."
685         }
686     
687         cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
688             display       "Maximum command line length"
689             flavor        data
690             default_value 256
691             description   "
692               This option allows control over how long the CLI command line
693               should be.  This space will be allocated statically
694               rather than from RedBoot's stack."
695         }
696     
697         cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
698             display       "Command processing idle timeout (ms)"
699             flavor        data
700             default_value 10
701             description   "
702               This option controls the timeout period before the
703               command processing is considered 'idle'.  Making this
704               number smaller will cause idle processing to take place
705               more often, etc.  The default value of 10ms is a reasonable
706               tradeoff between responsiveness and overhead."
707         }
708     
709         cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
710             display       "Validate RAM addresses during load"
711             flavor        bool
712             default_value 1
713             description   "
714
715               This option controls whether or not RedBoot will make
716               sure that memory being used by the \"load\" command is
717               in fact in user RAM.  Leaving the option enabled makes
718               for a safer environment, but this check may not be valid
719               on all platforms, thus the ability to disable it.  
720               ** Disable this only with great care **"
721         }
722     
723         cdl_component CYGPKG_REDBOOT_FLASH {
724             display       "Allow RedBoot to support FLASH programming"
725             flavor        bool
726             default_value 1
727             active_if     CYGHWR_IO_FLASH_DEVICE
728             description   "
729               If this option is enabled then RedBoot will provide commands
730               to manage images in FLASH memory.  These images can be loaded
731               into memory for execution or executed in place."
732             compile -library=libextras.a flash.c
733     
734             cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER {
735                 display         "Byte order used to store info in flash."
736                 flavor          data
737                 default_value   { "NATURAL" }
738                 legal_values    {"NATURAL" "MSBFIRST" "LSBFIRST" }
739                 description "
740                     This option controls the byte ordering used to store
741                     the FIS directory info and flash config info."
742             }
743     
744             cdl_option CYGOPT_REDBOOT_FIS {
745                 display         "RedBoot Flash Image System support"
746                 default_value   1
747                 doc             ref/flash-image-system.html
748                 description "
749                     This option enables the Flash Image System commands
750                     and support within RedBoot.  If disabled, simple Flash
751                     access commands such as \"fis write\" will still exist.
752                     This option would be disabled for targets that need simple
753                     FLASH manipulation, but do not have the need or space for
754                     complete image management."
755             }
756
757             cdl_option CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS {
758                 display        "Max number of chunks of free space to manage"
759                 flavor         booldata
760                 default_value  32
761                 description    "
762
763                   If this option is defined then \"fis free\" will
764                   rely on the FIS directory to determine what space is
765                   free within the FLASH.  This option controls the
766                   maximum number of free segment which can be handled
767                   (typically this number is small).  If this option is
768                   not enabled, the the archaic behaviour of actually
769                   scanning the FLASH for erased sectors (unreliable)
770                   will be used to determine what's free and what's
771                   not."
772             }
773     
774             cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
775                 display       "Flash Image System default directory contents"
776                 active_if     CYGOPT_REDBOOT_FIS
777                 calculated    1
778     
779                 cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
780                     display         "Flash block containing the Directory"
781                     flavor          data
782                     default_value   (-1)
783                     description "
784                       Which block of flash should hold the directory
785                       information. Positive numbers are absolute block
786                       numbers.  Negative block numbers count backwards
787                       from the last block.  eg 2 means block 2, -2
788                       means the last but one block."
789                 }
790     
791                 cdl_component CYGOPT_REDBOOT_REDUNDANT_FIS {
792                     display         "Redundant Flash Image System Directory Support"
793                     default_value   0
794                     requires { 0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG }
795                     description "
796                               This option enables the use of a redundant FIS
797                               directory within RedBoot.  If enabled a flash block
798                               will be reserved for a second copy of the fis
799                               directory. Doing this allow for power failure safe
800                               updates of the directory by the application."
801       
802                     cdl_option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK {
803                         display         "Flash block containing the backup Directory"
804                         flavor          data
805                         default_value   (-3)
806                         requires { CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK !=
807                                    CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK }
808                         description "
809                                  Which block of flash should hold the redundant
810                                  directory information. Positive numbers are
811                                  absolute block numbers. Negative block numbers
812                                  count backwards from the last block. eg 2 means
813                                  block 2, -2 means the last but one block."
814                     }
815                 }
816     
817                 cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
818                     display         "Pseudo-file to describe reserved area"
819                     active_if       { 0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE }
820                     default_value   1
821                     description "
822                         If an area of FLASH is reserved, it is informative to
823                         have a fis entry describing it.  This option controls
824                         creation of such an entry by default in the fis init
825                         command."
826                 }
827     
828                 cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
829                     display         "File to describe RedBoot boot image"
830                     default_value   1
831                     description "
832                         Normally a ROM-startup RedBoot image is first in the
833                         FLASH, and the system boots using that image.  This
834                         option controls creation of an entry describing it in
835                         the fis init command.  It might be disabled if a
836                         platform has an immutable boot image of its own, where
837                         we use a POST-startup RedBoot instead, which performs
838                         less board initialization."
839                 }
840     
841                 cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
842                     display         "File to describe RedBoot POST-compatible image"
843                     default_value   !CYGOPT_REDBOOT_FIS_REDBOOT
844                     description "
845                         This option controls creation of an entry describing a
846                         POST-startup RedBoot image in the fis init command.
847                         Not all platforms support POST-startup.  A platform
848                         might have both for testing purposes, where the
849                         eventual user would substitute their own POST code for
850                         the initial ROM-startup RedBoot, and then jump to the
851                         POST-compatible RedBoot immediately following."
852                     cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
853                         display    "Offset of POST image from FLASH start"
854                         flavor     booldata
855                         default_value 0
856                         requires   { CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= \
857                                      CYGBLD_REDBOOT_FLASH_BOOT_OFFSET }
858                         description "
859                         This option specifies the offset for a POST image from
860                         the start of FLASH.  If unset, then the fis entry
861                         describing the POST image will be placed where
862                         convenient."
863                     }
864                 }   
865     
866                 cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
867                     display         "File to describe RedBoot backup image"
868                     default_value   0
869                     description "
870                         This option controls creation of an entry describing a
871                         backup RedBoot image in the fis init command.
872                         Conventionally a RAM-startup RedBoot image is kept
873                         under this name for use in updating the ROM-based
874                         RedBoot that boots the board."
875                 }
876     
877                 cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
878                     display         "Include ARM SIB ID in FIS"
879                     default_value   0
880                     description "
881                       If set, this option will cause the last 5 words of
882                       the FIS to include the special ID needed for the
883                       flash to be recognized as a reserved area for RedBoot
884                       by an ARM BootRom monitor."
885                 }
886     
887                 cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
888                     display         "Size of FIS directory entry"
889                     flavor              data
890                     default_value   256
891                     description "
892                       The FIS directory is limited to one single flash
893                       sector. If your flash has tiny sectors, you may wish
894                       to reduce this value in order to get more slots in
895                       the FIS directory."
896                 }
897     
898                 cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_COUNT {
899                     display         "Number of FIS directory entries"
900                     flavor          data
901                     default_value   8
902                     description "
903                       The FIS directory normally occupies a single flash
904                       sector. Adjusting this value can allow for more than
905                       one flash sector to be used, which is useful if your
906                       sectors are very small."
907                 }
908     
909                 cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
910                     display       "Maximum RedBoot image size"
911                     flavor        data
912                     default_value { CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 }
913                     description "
914                       This option controls the maximum length reserved
915                       for the RedBoot boot image in the FIS table.
916                       This should be a multiple of the flash's erase
917                       block size."
918                 }
919         
920                 cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
921                     display       "Offset from start of FLASH to RedBoot boot image"
922                     flavor        data
923                     default_value CYGNUM_REDBOOT_FLASH_RESERVED_BASE
924                     requires      { CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= \
925                                     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET }
926                     description "
927                       This option controls where the RedBoot boot image is 
928                       located relative to the start of FLASH."
929                 }
930         
931                 cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
932                     display       "Size of reserved area at start of FLASH"
933                     flavor        data
934                     default_value 0
935                     description "
936                       This option reserves an area at the start of
937                       FLASH where RedBoot will never interfere; it is
938                       expected that this area contains
939                       (non-RedBoot-based) POST code or some other boot
940                       monitor that executes before RedBoot."
941                 }
942             }
943     
944             cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
945                 display       "Keep all RedBoot FLASH data blocks locked."
946                 flavor        bool
947                 default_value 1
948                 active_if     { CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 }
949                 description "
950                   When this option is enabled, RedBoot will keep configuration
951                   data and the FIS directory blocks implicitly locked.  While
952                   this is somewhat safer, it does add overhead during updates."
953             }
954     
955             cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
956                 display       "Use CRC checksums on FIS images."
957                 flavor        bool
958                 default_value 1
959                 description "
960                   When this option is enabled, RedBoot will use CRC checksums
961                   when reading and writing flash images."
962             }
963     
964             cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
965                 display       "ARM FLASH drivers support SIB flash block structure"
966                 active_if     CYGPKG_HAL_ARM
967                 description   "This interface is implemented by a flash driver
968                                to indicate that it supports the ARM SIB flash
969                                block structure"
970             }
971     
972             cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
973                 display       "Use ARM SIB flash block structure"
974                 flavor        bool
975                 active_if     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
976                 default_value 1
977                 description "
978                   This option is used to interpret ARM Flash System 
979                   information blocks."
980             }
981         }
982     
983         cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
984             display       "Keep RedBoot configuration data in FLASH"
985             flavor        bool
986             default_value { CYGPKG_IO_FLASH != 0 }
987             compile       fconfig.c
988             description "
989               When this option is enabled, RedBoot will keep configuration
990               data in a separate block of FLASH memory.  This data will
991               include such items as the node IP address or startup scripts."
992
993             cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
994                 display       "Length of configuration data in FLASH"
995                 flavor        data
996                 default_value 4096
997                 description "
998                   This option is used to control the amount of memory and FLASH
999                   to be used for configuration options (persistent storage)."
1000             }
1001
1002             cdl_option CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA {
1003                 display       "Style of media used for persistent data storage"
1004                 flavor        data
1005                 legal_values  { "FLASH" "EEPROM" }
1006                 default_value { "FLASH" }
1007                 description "
1008                   Persistent data storage can either be held in 'norma' FLASH
1009                   or some other device (represented by the 'EEPROM' choice).
1010                   The different styles utilize different access methods."
1011             }
1012
1013             cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
1014                 display       "Merged config data and FIS directory"
1015                 flavor        bool              
1016                 active_if     { CYGOPT_REDBOOT_FIS && \
1017                                (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") }
1018                 default_value 1
1019                 description "
1020                   If this option is set, then the FIS directory and FLASH 
1021                   configuration database will be stored in the same physical
1022                   FLASH block."
1023             }
1024
1025             cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
1026                 display       "Which block of flash to use" 
1027                 flavor         data
1028                 default_value  (-2)
1029                 description "
1030                   Which block of flash should hold the configuration 
1031                   information. Positive numbers are absolute block numbers. 
1032                   Negative block numbers count backwards from the last block.
1033                   eg 2 means block 2, -2 means the last but one block."
1034             }
1035
1036             cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
1037                 display       "Support simple macros/aliases in FLASH"
1038                 flavor        bool
1039                 default_value 1
1040                 description "
1041                   This option is used to allow support for simple text-based
1042                   macros (aliases).  These aliases are kept in the FLASH
1043                   configuration data (persistent storage)."
1044             }
1045
1046             cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
1047                 display       "Length of strings in FLASH configuration data"
1048                 flavor        data
1049                 default_value 128
1050                 description "
1051                   This option is used to control the amount of memory
1052                   and FLASH to be used for string configuration
1053                   options (persistent storage)."
1054             }
1055
1056             cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
1057                 display       "Length of configuration script(s) in FLASH"
1058                 flavor        data
1059                 default_value 512
1060                 description "
1061                   This option is used to control the amount of memory and 
1062                   FLASH to be used for configuration options (persistent 
1063                   storage)."
1064             }
1065
1066             cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
1067                 display       "Fallback to read-only FLASH configuration"
1068                 flavor        bool
1069                 default_value { (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") }
1070                 description "
1071                   This option will cause the configuration information to
1072                   revert to the readonly information stored in the FLASH.
1073                   The option only takes effect after 
1074                     1) the config_ok flag has been set to be true,
1075                        indicating that at one time the copy in RAM was valid;
1076                   and
1077                     2) the information in RAM has been verified to be invalid"
1078                   
1079             }
1080         }
1081     
1082         cdl_component CYGPKG_REDBOOT_FILEIO {
1083             display       "Allow RedBoot to support fileio"
1084             flavor        bool
1085             default_value 1
1086             active_if     CYGPKG_IO_FILEIO
1087             description   "
1088               If this option is enabled then RedBoot will provide commands
1089               to load files from fileio file systems such as JFFS2."
1090             compile -library=libextras.a fs/fileio.c
1091
1092             cdl_option CYGBLD_REDBOOT_FILEIO_WITH_LS {
1093                 display       "Include an ls command"
1094                 flavor        bool
1095                 default_value 1
1096                 description   "
1097                    If this option is enabled a simple ls command will be
1098                    included in redboot so the contents of a directory
1099                    can be listed"
1100             }
1101         }
1102
1103         cdl_component CYGPKG_REDBOOT_DISK {
1104             display       "Allow RedBoot to support disks"
1105             flavor        bool
1106             default_value 1
1107             description   "
1108               If this option is enabled then RedBoot will provide commands
1109               to load disk files."
1110
1111             cdl_option CYGSEM_REDBOOT_DISK {
1112                 display   "Include Redboot commands for disk access"
1113                 default_value { CYGINT_REDBOOT_DISK_DRIVERS != 0 }
1114                 compile -library=libextras.a fs/disk.c
1115             }
1116
1117             cdl_interface CYGINT_REDBOOT_DISK_DRIVERS {
1118                 display  "Hardware drivers for disk-type devices"
1119             }
1120     
1121             cdl_option CYGNUM_REDBOOT_MAX_DISKS {
1122                 display       "Maximum number of supported disks"
1123                 flavor        data
1124                 default_value 4
1125                 description "
1126                   This option controls the number of disks supported by 
1127                   RedBoot."
1128             }
1129     
1130             cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
1131                 display       "Maximum number of partitions per disk"
1132                 flavor        data
1133                 default_value 8
1134                 description "
1135                   This option controls the maximum number of supported 
1136                   partitions per disk."
1137             }
1138     
1139             cdl_component CYGSEM_REDBOOT_DISK_IDE {
1140                 display       "Support IDE disks."
1141                 flavor        bool
1142                 default_value 1
1143                 active_if     { CYGINT_HAL_PLF_IF_IDE != 0 }
1144                 description "
1145                   When this option is enabled, RedBoot will support IDE disks."
1146                 compile -library=libextras.a fs/ide.c
1147                 implements    CYGINT_REDBOOT_DISK_DRIVERS
1148
1149                 cdl_option CYGSEM_REDBOOT_DISK_IDE_VMWARE {
1150                     display       "Work with VMware virtual disks"
1151                     flavor        bool
1152                     default_value 0
1153                     description "
1154                         This option controls the disk driver behavior at 
1155                         ide-init"
1156                 }
1157             }
1158     
1159             cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
1160                 display       "Support Linux second extended filesystems."
1161                 flavor        bool
1162                 default_value 1
1163                 description "
1164                   When this option is enabled, RedBoot will support EXT2 
1165                   filesystems."
1166                 compile -library=libextras.a fs/e2fs.c
1167             }
1168     
1169             cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
1170                 display       "Support ISO9660 filesystems."
1171                 flavor        bool
1172                 calculated    0
1173                 description "
1174                   When this option is enabled, RedBoot will support ISO9660 
1175                   filesystems."
1176                 compile -library=libextras.a fs/iso9660fs.c
1177             }
1178         }
1179     
1180         cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
1181             display         "Boot scripting"
1182             doc             ref/persistent-state-flash.html
1183             flavor          none
1184             no_define
1185             description     "
1186                     This contains options related to RedBoot's boot script
1187                     functionality."
1188             
1189             cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
1190                     display         "Boot scripting enabled"
1191                     flavor          bool
1192                     active_if       { CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || \
1193                                       CYGSEM_REDBOOT_FLASH_CONFIG }
1194                     calculated      1
1195                     description "
1196                       This option controls whether RedBoot boot script
1197                       functionality is enabled." 
1198             }
1199     
1200             cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
1201                     display         "Use default RedBoot boot script"
1202                     flavor          booldata
1203                     default_value   0
1204                     description "
1205                       If enabled, this option will tell RedBoot to use the 
1206                       value of this option as a default boot script."
1207             }
1208     
1209             cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
1210                 display       "Resolution (in ms) for script timeout value."
1211                 flavor        data
1212                 default_value 1000
1213                 description "
1214                   This option controls the resolution of the script
1215                   timeout.  The value is specified in milliseconds
1216                   (ms), thus to have the script timeout be defined in
1217                   terms of tenths of seconds, use 100."    
1218             }
1219     
1220             cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
1221                 display       "Script default timeout value"
1222                 flavor        data
1223                 default_value 10
1224                 description "
1225                   This option is used to set the default timeout for startup
1226                   scripts, when they are enabled."
1227             }
1228         }
1229     
1230         cdl_option CYGSEM_REDBOOT_RTC {
1231             display      "Support RTC for time & date functions"
1232             active_if    { CYGPKG_IO_WALLCLOCK }
1233             default_value 1
1234             description  "
1235               When this option is enabled, RedBoot will support commands to
1236               query and set the real time clock (time and date)"
1237             compile -library=libextras.a time_date.cxx
1238         }
1239     
1240         cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
1241             display      "Behave like a ROM monitor"
1242             active_if    { CYG_HAL_STARTUP == "ROM" || \
1243                            CYG_HAL_STARTUP == "ROMRAM" }
1244             requires     CYGSEM_HAL_ROM_MONITOR
1245             calculated   1
1246             no_define
1247             description  "
1248               Enabling this option will allow RedBoot to provide ROM 
1249               monitor-style services to programs which it executes."
1250         }
1251     
1252         cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
1253             display       "Allow RedBoot to handle GNUPro application 'syscalls'."
1254             flavor        bool
1255             default_value 0
1256             description   "
1257               If this option is enabled then RedBoot will install a
1258               syscall handler to support debugging of applications
1259               based on GNUPro newlib/bsp."
1260     
1261             cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
1262                 display "Support additional syscalls for 'gprof' profiling"
1263                 flavor  bool
1264                 default_value 1
1265                 active_if       { 0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT }
1266                 description "
1267                     Support additional syscalls to support a periodic callback
1268                     function for histogram-style profiling, and an enquire/set
1269                     of the tick rate.
1270                     The application must use the GNUPro newlib facilities
1271                     to set this up."
1272             }
1273     
1274             cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
1275                 display "Does the HAL support 'gprof' profiling?"
1276                 no_define
1277             }
1278
1279             cdl_option CYGOPT_REDBOOT_BSP_SYSCALLS_EXIT_WITHOUT_TRAP {
1280                 display "Do not raise SIGTRAP when program exits"
1281                 default_value 0
1282                 description "
1283                     For some (single shot) newlib based programs,
1284                     exiting and returning a termination status may be
1285                     the normal expected behavior."
1286             }
1287         }
1288     
1289         cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
1290             display             "Use a common buffer for Zlib and FIS"
1291             flavor              bool
1292             active_if           { CYGBLD_BUILD_REDBOOT_WITH_ZLIB && \
1293                               CYGOPT_REDBOOT_FIS }
1294             default_value       0
1295             description         "
1296                 Use a common memory buffer for both the zlib workspace
1297                 and FIS directory operations. This can save a substantial
1298                 amount of RAM, especially when flash sectors are large."
1299     
1300             cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
1301                 display             "Size of Zlib/FIS common buffer"
1302                 flavor              data
1303                 default_value   0xc000
1304                 legal_values    0x4000 to 0x80000000
1305                 description     "
1306                     Size of common buffer to allocate. Must be at least the
1307                     size of one flash sector."
1308             }
1309         }
1310         cdl_option CYGNUM_REDBOOT_GETC_BUFFER {
1311             display       "Buffer size in getc when loading images"
1312             flavor        data
1313             default_value { CYGPKG_REDBOOT_FILEIO ? 4096 : 256 }
1314             description   "
1315                 When loading images a buffer is used between redboot and the
1316                 underlying storage medium, eg a filesystem, or a socket etc.
1317                 The size of this buffer can have a big impart on load speed."
1318         }
1319
1320     }
1321 }
1322
1323 # EOF redboot.cdl