root/ar5315_microredboot/microredboot/ecos/packages/redboot/current/cdl/redboot.cdl

Revision 12385, 52.7 kB (checked in by BrainSlayer, 5 months ago)

lates image and source changes

Line 
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 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 0
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 protocols.
116               This option allows this to be disabled which may yield a substantial
117               savings in terms of code and memory usage by RedBoot."
118         }
119
120         cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
121             display "Threads debugging support"
122             no_define
123             description "
124               Enabling this option will include special code in the GDB stubs to
125               support debugging of threaded programs.  In the case of eCos programs,
126               this support allows GDB to have complete access to the eCos threads
127               in the program."
128             active_if { CYG_HAL_STARTUP != "RAM" }
129             requires  CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
130         }
131
132         cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
133             display        "Customized version string"
134             flavor         booldata
135             default_value  0
136             description    "
137               Use this option to define a customized version \"string\" for
138               RedBoot.  Note: this value is only cosmetic, displayed by the
139               \"version\" command, but is useful for providing site specific
140               information about the RedBoot configuration."
141         }
142
143         cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
144             display          "Enable command line editing"
145             flavor           data
146             default_value    16
147             description      "
148                If this option is non-zero, RedBoot will remember the last N command
149                lines.  These lines may be reused.  Enabling this history will also
150                enable rudimentary editting of the lines themselves."
151         }
152
153         cdl_option CYGBLD_REDBOOT_CMD_LINE_HISTORY {
154             display        "Enable history command and expansion"
155             requires       { CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 }
156             flavor         bool
157             default_value  1
158             description  "
159               Enabling this option will allow RedBoot to provide a history command
160               to list previous commands. Also enables history expansion via '!'
161               character similar to bash shell."
162         }
163
164         cdl_option CYGBLD_REDBOOT_MAX_MEM_SEGMENTS {
165             display        "Number of unique RAM segments on platform"
166             flavor         data
167             default_value  1
168             description  "
169               Change this option to be the number of memory segments which are
170               supported by the platform.  If the value is greater than 1, then
171               a platform specific function must provide information about the
172               additional segments."
173         }
174    
175         cdl_component CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
176             display       "Include support gzip/zlib decompression"
177             active_if     CYGPKG_COMPRESS_ZLIB
178             default_value 0
179             implements    CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC
180             compile       decompress.c
181
182             cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
183                 display       "Size of zlib decompression buffer"
184                 flavor        data
185                 default_value 64
186                 legal_values  5 to 256
187                 description   "
188                     This is the size of the buffer filled with incoming data
189                     during load before calls are made to the decompressor
190                     function. For ethernet downloads this can be made bigger
191                     (at the cost of memory), but for serial downloads on slow
192                     processors it may be necessary to reduce the size to
193                     avoid serial overruns. zlib appears to bail out if less than
194                     five bytes are available initially so this is the minimum."
195             }
196    
197             cdl_option CYGPRI_REDBOOT_ZLIB_FLASH {
198                  display       "Support compression of Flash images"
199                  active_if     CYGPKG_REDBOOT_FLASH
200                  active_if     !CYGSEM_IO_FLASH_READ_INDIRECT
201                  calculated    1
202                  description   "
203                         This CDL indicates whether flash images can
204                         be decompressed from gzip/zlib format into RAM."
205             }
206         }
207
208         cdl_option CYGPRI_REDBOOT_7ZIP_FLASH {
209                  display       "Support 7zip compression of Flash images"
210                  active_if     CYGPKG_REDBOOT_FLASH
211                  active_if     !CYGSEM_IO_FLASH_READ_INDIRECT
212                  calculated    1
213                  description   "
214                         This CDL indicates whether flash images can
215                         be decompressed from 7zip format into RAM."
216         }
217
218         cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
219             display       "Include support for xyzModem downloads"
220             doc           ref/download-command.html
221             no_define
222             default_value 0
223             implements    CYGINT_REDBOOT_LOAD_METHOD
224             compile -library=libextras.a xyzModem.c
225         }
226
227         cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
228             display       "Include POSIX checksum command"
229             doc           ref/cksum-command.html
230             default_value 0
231             compile -library=libextras.a cksum.c
232         }
233
234         cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
235             display       "Include memory fill command"
236             doc           ref/mfill-command.html
237             default_value 0
238             compile -library=libextras.a mfill.c
239         }
240
241         cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
242             display       "Include memory compare command"
243             doc           ref/mcmp-command.html
244             default_value 0
245             compile -library=libextras.a mcmp.c
246         }
247
248         cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCOPY {
249             display       "Include memory copy command"
250             doc           ref/mcopy-command.html
251             default_value 0
252             compile -library=libextras.a mcopy.c
253         }
254
255         cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
256             display       "Include memory dump command"
257             doc           ref/dump-command.html
258             default_value 0
259             compile -library=libextras.a dump.c
260         }
261
262         cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
263             display       "Include cache command"
264             doc           ref/cache-command.html
265             default_value 1
266             compile -library=libextras.a caches.c
267         }
268
269         cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
270             display       "Include exec command"
271             doc           ref/exec-command.html
272             default_value 1
273             # Implemented within the platform HAL
274         }
275
276         no_define
277         description "This option enables the building of the Redboot ELF image.
278                      The image may require further relocation or symbol
279                      stripping before being converted to a binary image.
280                      This is handled by a rule in the target CDL."
281
282    
283         cdl_option CYGDBG_REDBOOT_TICK_GRANULARITY {
284             display          "Granularity of timer/ticks"
285             flavor           data
286             legal_values     { 50 100 250 500 1000 }   
287             default_value    250
288             description      "
289                 This option controls the granularity of the timers.
290                 Faster CPUs can afford higher granularity (lower values)
291                 which should give higher network performance since the stack
292                 is purely polled."
293         }
294
295         compile main.c
296         compile misc_funs.c io.c parse.c ticks.c syscall.c alias.c
297         compile -library=libextras.a load.c
298
299         make -priority 320 {
300             <PREFIX>/bin/redboot.elf : $(PREFIX)/lib/target.ld $(PREFIX)/lib/vectors.o $(PREFIX)/lib/libtarget.a $(PREFIX)/lib/libextras.a
301                     @sh -c "mkdir -p $(dir $@)"
302                     $(CC) -c $(INCLUDE_PATH) $(CFLAGS) -o $(PREFIX)/lib/version.o $(REPOSITORY)/$(PACKAGE)/src/version.c
303                     $(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -o $@ $(PREFIX)/lib/version.o
304         }
305
306         cdl_component CYGPKG_REDBOOT_NETWORKING {
307             display       "Redboot Networking"
308             flavor        bool
309             active_if     CYGPKG_IO_ETH_DRIVERS
310             default_value 1
311             implements    CYGINT_REDBOOT_LOAD_METHOD
312             compile net/udp.c net/ip.c net/pktbuf.c net/cksum.c
313             compile net/enet.c net/icmp.c net/tcp.c net/timers.c net/arp.c
314             compile net/inet_addr.c
315             compile -library=libextras.a net/net_io.c
316             description "This option includes networking support in RedBoot."
317             define_proc {
318                 puts $::cdl_system_header "#define CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS 1"
319             }
320    
321             cdl_option CYGDBG_REDBOOT_NET_DEBUG {
322                 display          "Print net debug information"
323                 flavor           bool
324                 default_value    0
325                 description      "
326                     This option is overriden by the configuration stored in flash."
327             }
328    
329             cdl_option CYGSEM_REDBOOT_NET_TFTP_DOWNLOAD {
330                 display          "Support TFTP for download"
331                 flavor           bool
332                 default_value    1
333                 compile          -library=libextras.a net/tftp_client.c
334                 description      "
335                     This option enables the use of the TFTP protocol for download"
336             }
337
338             cdl_option CYGSEM_REDBOOT_NET_TFTP_SERVER {
339                 display          "Support TFTP server with WILIBOX fwupdate support"
340                 flavor           bool
341                 default_value    1
342                 compile          -library=libextras.a net/tftp_server.c net/fwupgrade.c net/fwupgrade_ubnt.c net/fwupgrade_wili.c net/fwupgrade_senao.c
343                 description      "
344                     This option enables the use of the TFTP server"
345             }
346
347             cdl_option CYGSEM_REDBOOT_RESCUE_MODE {
348                 display          "Support rescue mode"
349                 flavor           bool
350                 default_value    1
351                 requires         CYGSEM_REDBOOT_NET_TFTP_SERVER
352                 description      "
353                     This option enables the rescue mode (start tftp server)"
354             }
355    
356             cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
357                 display          "Support HTTP for download"
358                 flavor           bool
359                 default_value    0
360                 compile          -library=libextras.a net/http_client.c
361                 description      "
362                     This option enables the use of the HTTP protocol for download"
363             }
364    
365             cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
366                 display          "Default IP address"
367                 flavor           booldata
368                 default_value    CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
369                                     { "192, 168, 1, 1" }
370                 description      "
371                     This IP address is the default used by RedBoot if a BOOTP/DHCP
372                     server does not respond. The numbers should be separated by
373                     *commas*, and not dots. If an IP address is configured into
374                     the Flash configuration, that will be used in preference."
375    
376                 cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
377                      display          "Do not try to use BOOTP"
378                      flavor           bool
379                      default_value    1
380                      description      "
381                          By default Redboot tries to use BOOTP to get an IP
382                          address. If there's no BOOTP server on your network
383                          use this option to avoid to wait until the
384                          timeout. This option is overriden by the
385                          configuration stored in flash."
386                 }
387                 cdl_option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR {
388                      display           "Default bootp server"
389                      flavor            booldata
390                      default_value     CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
391                                           { "0, 0, 0, 0" }
392                      description       "
393                           This IP address is the default server
394                           address used by RedBoot if a BOOTP/DHCP
395                           server does not respond. The numbers should
396                           be separated by *commas*, and not dots. If
397                           an IP address is configured into the Flash
398                           configuration, that will be used in
399                           preference."
400                 }
401             }
402    
403             cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
404                 display          "Use DHCP to get IP information"
405                 flavor           bool
406                 default_value    0
407                 description      "
408                     Use DHCP protocol to obtain pertinent IP addresses, such as
409                     the client, server, gateway, etc."
410             }
411    
412             cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
413                 display          "Use a gateway for non-local IP traffic"
414                 flavor           bool
415                 default_value    0
416                 requires         CYGSEM_REDBOOT_NETWORKING_DHCP
417                 description      "
418                   Enabling this option will allow the RedBoot networking
419                 stack to use a \[single\] gateway to reach a non-local
420                 IP address.  If disabled, RedBoot will only be able to
421                 reach nodes on the same subnet."
422    
423                 cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
424                     display          "Default gateway IP address"
425                     flavor           booldata
426                     default_value    CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
427                                         { "0, 0, 0, 0" }
428                     description      "
429                         This IP address is the default used by RedBoot if a BOOTP/DHCP
430                         server does not respond. The numbers should be separated by
431                         *commas*, and not dots. If an IP address is configured into
432                         the Flash configuration, that will be used in preference."
433                 }
434    
435                 cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
436                     display          "Default IP address mask"
437                     flavor           booldata
438                     default_value    CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : \
439                                         { "255, 255, 255, 0" }
440                     description      "
441                         This IP address mask is the default used by RedBoot if a BOOTP/DHCP
442                         server does not respond. The numbers should be separated by
443                         *commas*, and not dots. If an IP address is configured into
444                         the Flash configuration, that will be used in preference."
445                 }
446             }
447    
448             cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
449                 display          "TCP port to listen for incoming connections"
450                 flavor           data
451                 default_value    9000
452                 description      "
453                    RedBoot will 'listen' on this port for incoming TCP connections.
454                    This allows outside connections to be made to the platform, either
455                    for GDB or RedBoot commands."
456             }
457    
458             cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
459                 display          "Number of \[network\] packet buffers"
460                 flavor           data
461                 default_value    4
462                 legal_values     3 to 8
463                 description      "
464                    RedBoot may need to buffer network data to support various connections.
465                    This option allows control over the number of such buffered packets,
466                    and in turn, controls the amount of memory used by RedBoot (which
467                    is not available to user applications).  Each packet buffer takes up
468                    about 1514 bytes.  Note: there is little need to make this larger
469                    than the default."
470             }
471    
472             cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
473                 display         "DNS support"
474                 default_value   0
475                 active_if       CYGPKG_NS_DNS
476                 requires        !CYGPKG_NS_DNS_BUILD
477                 compile         net/dns.c
478                 description     "
479                     When this option is enabled, RedBoot will be built with
480                     support for DNS, allowing use of hostnames on the command
481                     line."
482            
483                 cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
484                     display         "Default DNS IP"
485                     flavor          data
486                     active_if       !CYGSEM_REDBOOT_FLASH_CONFIG
487                     default_value   { "0.0.0.0" }
488                     description "
489                       This option sets the IP of the default DNS. The IP can be
490                       changed at runtime as well."
491                 }
492    
493                 cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
494                     display         "Timeout in DNS lookup"
495                     flavor          data
496                     default_value   10
497                     description "
498                       This option sets the timeout used when looking up an
499                       address via the DNS. Default is 10 seconds."
500                 }
501    
502             }
503
504             cdl_option CYGNUM_REDBOOT_DEFAULT_NETWORK_DEVICE {
505                 display         "Default network device driver"
506                 flavor          data
507                 active_if       { !CYGSEM_REDBOOT_FLASH_CONFIG && CYGHWR_NET_DRIVERS > 1 }
508                 legal_values    0 to CYGHWR_NET_DRIVERS-1
509                 default_value   0
510                 description     "
511                     This is the index of the first network device driver that
512                     RedBoot will try to initialize."
513             }
514
515             cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
516                 display         "Initialize only one net device"
517                 flavor          bool
518                 active_if       { CYGHWR_NET_DRIVERS > 1 }
519                 default_value   0
520                 description     "
521                     This option tells RedBoot to stop initializing network
522                     devices when it finds the first device which is
523                     successfully initialized. The default behavior causes
524                     all network devices to be initialized."
525             }
526         }
527    
528         cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
529             display       "Allow RedBoot to use any I/O channel for its console."
530             flavor        bool
531             default_value 1
532             description   "
533               If this option is enabled then RedBoot will attempt to use all
534               defined serial I/O channels for its console device.  Once input
535               arrives at one of these channels then the console will use only
536               that port."
537         }
538    
539         cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
540             display       "Allow RedBoot to adjust the baud rate on the serial console."
541             flavor        bool
542             default_value 1
543             active_if     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
544             description   "
545               If this option is enabled then RedBoot will support commands to set
546               and query the baud rate on the selected console."     
547         }
548    
549         cdl_option CYGSEM_REDBOOT_PLF_STARTUP {
550             display       "Run a platform specific startup function."
551             flavor        bool
552             default_value 0
553             description   "
554               If this option is enabled then RedBoot will execute a platform
555               specific startup function before entering into its command line
556               processing.  This allows the platform to perform any special
557               setups before RedBoot actually starts running.  Note: the entire
558               RedBoot environment will already be initialized at this point."
559         }
560    
561         cdl_option CYGSEM_REDBOOT_PLF_ESA_VALIDATE {
562             display       "Run a platform specific ESA validation function."
563             flavor        bool
564             default_value 0
565             description   "
566               If this option is enabled then RedBoot will execute a platform
567               specific function to validate an ethernet ESA.  This would be
568               useful if the address must conform to standards set by the
569               hardware manufacturer, etc."
570         }
571    
572         cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
573             display       "Maximum command line length"
574             flavor        data
575             default_value 256
576             description   "
577               This option allows control over how long the CLI command line
578               should be.  This space will be allocated statically
579               rather than from RedBoot's stack."
580         }
581    
582         cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
583             display       "Command processing idle timeout (ms)"
584             flavor        data
585             default_value 10
586             description   "
587               This option controls the timeout period before the
588               command processing is considered 'idle'.  Making this
589               number smaller will cause idle processing to take place
590               more often, etc.  The default value of 10ms is a reasonable
591               tradeoff between responsiveness and overhead."
592         }
593    
594         cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
595             display       "Validate RAM addresses during load"
596             flavor        bool
597             default_value 1
598             description   "
599               This option controls whether or not RedBoot will make sure that
600               memory being used by the \"load\" command is in fact in user RAM.
601               Leaving the option enabled makes for a safer environment, but this
602               check may not be valid on all platforms, thus the ability to
603               disable it.  ** Disable this only with great care **"
604         }
605    
606         cdl_component CYGPKG_REDBOOT_FLASH {
607             display       "Allow RedBoot to support FLASH programming"
608             flavor        bool
609             default_value 1
610             active_if     CYGHWR_IO_FLASH_DEVICE
611             description   "
612               If this option is enabled then RedBoot will provide commands
613               to manage images in FLASH memory.  These images can be loaded
614               into memory for execution or executed in place."
615             compile -library=libextras.a flash.c
616    
617             cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER {
618                 display         "Byte order used to store info in flash."
619                 flavor          data
620                 default_value   { "NATURAL" }
621                 legal_values    {"NATURAL" "MSBFIRST" "LSBFIRST" }
622                 description "
623                     This option controls the byte ordering used to store
624                     the FIS directory info and flash config info."
625             }
626    
627             cdl_option CYGOPT_REDBOOT_FIS {
628                 display         "RedBoot Flash Image System support"
629                 default_value   1
630                 doc             ref/flash-image-system.html
631                 description "
632                     This option enables the Flash Image System commands
633                     and support within RedBoot.  If disabled, simple Flash
634                     access commands such as \"fis write\" will still exist.
635                     This option would be disabled for targets that need simple
636                     FLASH manipulation, but do not have the need or space for
637                     complete image management."
638             }
639
640             cdl_option CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS {
641                 display        "Max number of chunks of free space to manage"
642                 flavor         booldata
643                 default_value  32
644                 description    "
645                   If this option is defined then \"fis free\" will rely on the
646                   FIS directory to determine what space is free within the FLASH.
647                   This option controls the maximum number of free segment which
648                   can be handled (typically this number is small).  If this option
649                   is not enabled, the the archaic behaviour of actually scanning
650                   the FLASH for erased sectors (unreliable) will be used to
651                   determine what's free and what's not."
652             }
653    
654             cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
655                 display       "Flash Image System default directory contents"
656                 active_if     CYGOPT_REDBOOT_FIS
657                 calculated    1
658    
659                 cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
660                     display         "Flash block containing the Directory"
661                     flavor          data
662                     default_value   (-1)
663                     description "
664                       Which block of flash should hold the directory
665                       information. Positive numbers are absolute block numbers.
666                       Negative block numbers count backwards from the last block.
667                       eg 2 means block 2, -2 means the last but one block."
668                 }
669    
670                 cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
671                     display         "Pseudo-file to describe reserved area"
672                     active_if       { 0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE }
673                     default_value   1
674                     description "
675                         If an area of FLASH is reserved, it is informative to
676                         have a fis entry describing it.  This option controls
677                         creation of such an entry by default in the fis init
678                         command."
679                 }
680    
681                 cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
682                     display         "File to describe RedBoot boot image"
683                     default_value   1
684                     description "
685                         Normally a ROM-startup RedBoot image is first in the
686                         FLASH, and the system boots using that image.  This
687                         option controls creation of an entry describing it in
688                         the fis init command.  It might be disabled if a
689                         platform has an immutable boot image of its own, where
690                         we use a POST-startup RedBoot instead, which performs
691                         less board initialization."
692                 }
693    
694                 cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
695                     display         "File to describe RedBoot POST-compatible image"
696                     default_value   !CYGOPT_REDBOOT_FIS_REDBOOT
697                     description "
698                         This option controls creation of an entry describing a
699                         POST-startup RedBoot image in the fis init command.
700                         Not all platforms support POST-startup.  A platform
701                         might have both for testing purposes, where the
702                         eventual user would substitute their own POST code for
703                         the initial ROM-startup RedBoot, and then jump to the
704                         POST-compatible RedBoot immediately following."
705                     cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
706                         display    "Offset of POST image from FLASH start"
707                         flavor     booldata
708                         default_value 0
709                         requires   { CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= \
710                                      CYGBLD_REDBOOT_FLASH_BOOT_OFFSET }
711                         description "
712                         This option specifies the offset for a POST image from
713                         the start of FLASH.  If unset, then the fis entry
714                         describing the POST image will be placed where
715                         convenient."
716                     }
717                 }   
718    
719                 cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
720                     display         "File to describe RedBoot backup image"
721                     default_value   0
722                     description "
723                         This option controls creation of an entry describing a
724                         backup RedBoot image in the fis init command.
725                         Conventionally a RAM-startup RedBoot image is kept
726                         under this name for use in updating the ROM-based
727                         RedBoot that boots the board."
728                 }
729    
730                 cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
731                     display         "Include ARM SIB ID in FIS"
732                     default_value   0
733                     description "
734                       If set, this option will cause the last 5 words of
735                       the FIS to include the special ID needed for the
736                       flash to be recognized as a reserved area for RedBoot
737                       by an ARM BootRom monitor."
738                 }
739    
740                 cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
741                     display         "Size of FIS directory entry"
742                     flavor              data
743                     default_value   256
744                     description "
745                       The FIS directory is limited to one single flash
746                       sector. If your flash has tiny sectors, you may wish
747                       to reduce this value in order to get more slots in
748                       the FIS directory."
749                 }
750    
751                 cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_COUNT {
752                     display         "Number of FIS directory entries"
753                     flavor          data
754                     default_value   8
755                     description "
756                       The FIS directory normally occupies a single flash
757                       sector. Adjusting this value can allow for more than
758                       one flash sector to be used, which is useful if your
759                       sectors are very small."
760                 }
761    
762                 cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
763                     display       "Minimum image size"
764                     flavor        data
765                     default_value 0x20000
766                     description "
767                       This option controls the minimum length of images kept by
768                       the FIS.  In particular, it should be large enough to hold
769                       the RedBoot primary image itself, as well as be a natural
770                       multiple of the FLASH erase block size."
771                 }
772        
773                 cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
774                     display       "Offset from start of FLASH to RedBoot boot image"
775                     flavor        data
776                     default_value CYGNUM_REDBOOT_FLASH_RESERVED_BASE
777                     requires      { CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= \
778                                     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET }
779                     description "
780                       This option controls where the RedBoot boot image is located
781                       relative to the start of FLASH."
782                 }
783        
784                 cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
785                     display       "Size of reserved area at start of FLASH"
786                     flavor        data
787                     default_value 0
788                     description "
789                       This option reserves an area at the start of FLASH where RedBoot
790                       will never interfere; it is expected that this area contains
791                       (non-RedBoot-based) POST code or some other boot monitor that
792                       executes before RedBoot."
793                 }
794             }
795    
796             cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
797                 display       "Keep all RedBoot FLASH data blocks locked."
798                 flavor        bool
799                 default_value 1
800                 active_if     { CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 }
801                 description "
802                   When this option is enabled, RedBoot will keep configuration
803                   data and the FIS directory blocks implicitly locked.  While
804                   this is somewhat safer, it does add overhead during updates."
805             }
806    
807             cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
808                 display       "Use CRC checksums on FIS images."
809                 flavor        bool
810                 default_value 0
811                 description "
812                   When this option is enabled, RedBoot will use CRC checksums
813                   when reading and writing flash images."
814             }
815    
816             cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
817                 display       "ARM FLASH drivers support SIB flash block structure"
818                 active_if     CYGPKG_HAL_ARM
819                 description   "This interface is implemented by a flash driver
820                                to indicate that it supports the ARM SIB flash
821                                block structure"
822             }
823    
824             cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
825                 display       "Use ARM SIB flash block structure"
826                 flavor        bool
827                 active_if     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
828                 default_value 1
829                 description "
830                   This option is used to interpret ARM Flash System information
831                   blocks."
832             }
833         }
834    
835         cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
836             display       "Keep RedBoot configuration data in FLASH"
837             flavor        bool
838             default_value { CYGPKG_IO_FLASH != 0 }
839             compile       fconfig.c
840             description "
841               When this option is enabled, RedBoot will keep configuration
842               data in a separate block of FLASH memory.  This data will
843               include such items as the node IP address or startup scripts."
844
845             cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
846                 display       "Length of configuration data in FLASH"
847                 flavor        data
848                 default_value 4096
849                 description "
850                   This option is used to control the amount of memory and FLASH
851                   to be used for configuration options (persistent storage)."
852             }
853
854             cdl_option CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA {
855                 display       "Style of media used for persistent data storage"
856                 flavor        data
857                 legal_values  { "FLASH" "EEPROM" }
858                 default_value { "FLASH" }
859 #                requires      { ((CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") && CYGOPT_REDBOOT_FIS) ||
860 #                                ((CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "EEPROM") && !CYGOPT_REDBOOT_FIS) }
861                 description "
862                   Persistent data storage can either be held in 'norma' FLASH
863                   or some other device (represented by the 'EEPROM' choice).
864                   The different styles utilize different access methods."
865             }
866
867             cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
868                 display       "Merged config data and FIS directory"
869                 flavor        bool             
870                 active_if     { CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") }
871                 default_value 1
872                 description "
873                   If this option is set, then the FIS directory and FLASH
874                   configuration database will be stored in the same physical
875                   FLASH block."
876             }
877
878             cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
879                 display       "Which block of flash to use"
880                 flavor         data
881                 default_value  (-2)
882                 description "
883                   Which block of flash should hold the configuration
884                   information. Positive numbers are absolute block numbers.
885                   Negative block numbers count backwards from the last block.
886                   eg 2 means block 2, -2 means the last but one block."
887             }
888
889             cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
890                 display       "Support simple macros/aliases in FLASH"
891                 flavor        bool
892                 default_value 1
893                 description "
894                   This option is used to allow support for simple text-based
895                   macros (aliases).  These aliases are kept in the FLASH
896                   configuration data (persistent storage)."
897             }
898
899             cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
900                 display       "Length of strings in FLASH configuration data"
901                 flavor        data
902                 default_value 128
903                 description "
904                   This option is used to control the amount of memory and FLASH
905                   to be used for string configuration options (persistent storage)."
906             }
907
908             cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
909                 display       "Length of configuration script(s) in FLASH"
910                 flavor        data
911                 default_value 512
912                 description "
913                   This option is used to control the amount of memory and FLASH
914                   to be used for configuration options (persistent storage)."
915             }
916
917             cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
918                 display       "Fallback to read-only FLASH configuration"
919                 flavor        bool
920                 default_value { (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") }
921                 description "
922                   This option will cause the configuration information to
923                   revert to the readonly information stored in the FLASH.
924                   The option only takes effect after
925                     1) the config_ok flag has been set to be true,
926                        indicating that at one time the copy in RAM was valid;
927                   and
928                     2) the information in RAM has been verified to be invalid"
929                  
930             }
931         }
932    
933         cdl_component CYGPKG_REDBOOT_FILEIO {
934             display       "Allow RedBoot to support fileio"
935             flavor        bool
936             default_value 0
937             active_if     CYGPKG_IO_FILEIO
938             description   "
939               If this option is enabled then RedBoot will provide commands
940               to load files from fileio file systems such as JFFS2."
941             compile -library=libextras.a fs/fileio.c
942
943             cdl_option CYGBLD_REDBOOT_FILEIO_WITH_LS {
944                 display       "Include an ls command"
945                 flavor        bool
946                 default_value 1
947                 description   "
948                    If this option is enabled a simple ls command will be
949                    included in redboot so the contents of a directory
950                    can be listed"
951             }
952         }
953
954         cdl_component CYGPKG_REDBOOT_DISK {
955             display       "Allow RedBoot to support disks"
956             flavor        bool
957             default_value 0
958             description   "
959               If this option is enabled then RedBoot will provide commands
960               to load disk files."
961
962             cdl_option CYGSEM_REDBOOT_DISK {
963                 display   "Include Redboot commands for disk access"
964                 default_value { CYGINT_REDBOOT_DISK_DRIVERS != 0 }
965                 compile -library=libextras.a fs/disk.c
966             }
967
968             cdl_interface CYGINT_REDBOOT_DISK_DRIVERS {
969                 display  "Hardware drivers for disk-type devices"
970             }
971    
972             cdl_option CYGNUM_REDBOOT_MAX_DISKS {
973                 display       "Maximum number of supported disks"
974                 flavor        data
975                 default_value 4
976                 description "
977                   This option controls the number of disks supported by RedBoot."
978             }
979    
980             cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
981                 display       "Maximum number of partitions per disk"
982                 flavor        data
983                 default_value 8
984                 description "
985                   This option controls the maximum number of supported partitions per disk."
986             }
987    
988             cdl_component CYGSEM_REDBOOT_DISK_IDE {
989                 display       "Support IDE disks."
990                 flavor        bool
991                 default_value 1
992                 active_if     { CYGINT_HAL_PLF_IF_IDE != 0 }
993                 description "
994                   When this option is enabled, RedBoot will support IDE disks."
995                 compile -library=libextras.a fs/ide.c
996                 implements    CYGINT_REDBOOT_DISK_DRIVERS
997
998                 cdl_option CYGSEM_REDBOOT_DISK_IDE_VMWARE {
999                     display       "Work with VMware virtual disks"
1000                     flavor        bool
1001                     default_value 0
1002                     description "
1003                         This option controls the disk driver beaviour at ide-init"
1004                 }
1005             }
1006    
1007             cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
1008                 display       "Support Linux second extended filesystems."
1009                 flavor        bool
1010                 default_value 0
1011                 description "
1012                   When this option is enabled, RedBoot will support IDE disks."
1013                 compile -library=libextras.a fs/e2fs.c
1014             }
1015    
1016             cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
1017                 display       "Support ISO9660 filesystems."
1018                 flavor        bool
1019                 calculated    0
1020                 description "
1021                   When this option is enabled, RedBoot will support ISO9660 filesystems."
1022                 compile -library=libextras.a fs/iso9660fs.c
1023             }
1024         }
1025    
1026         cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
1027             display         "Boot scripting"
1028             doc             ref/persistent-state-flash.html
1029             flavor          none
1030             no_define
1031             description     "
1032                     This contains options related to RedBoot's boot script
1033                     functionality."
1034            
1035             cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
1036                     display         "Boot scripting enabled"
1037                     flavor          bool
1038                     active_if       { CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || \
1039                                       CYGSEM_REDBOOT_FLASH_CONFIG }
1040                     calculated      1
1041                     description "
1042                       This option controls whether RedBoot boot script
1043                       functionality is enabled."
1044             }
1045    
1046             cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
1047                     display         "Use default RedBoot boot script"
1048                     flavor          booldata
1049                     default_value   0
1050                     description "
1051                       If enabled, this option will tell RedBoot to use the value of
1052                       this option as a default boot script."
1053             }
1054    
1055             cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
1056                 display       "Resolution (in ms) for script timeout value."
1057                 flavor        data
1058                 default_value 1000
1059                 description "
1060                   This option controls the resolution of the script timeout.
1061                   The value is specified in milliseconds (ms), thus to have the
1062                   script timeout be defined in terms of tenths of seconds, use 100."
1063             }
1064    
1065             cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
1066                 display       "Script default timeout value"
1067                 flavor        data
1068                 default_value 10
1069                 description "
1070                   This option is used to set the default timeout for startup
1071                   scripts, when they are enabled."
1072             }
1073         }
1074    
1075         cdl_option CYGSEM_REDBOOT_RTC {
1076             display      "Support RTC for time & date functions"
1077             active_if    { CYGPKG_IO_WALLCLOCK }
1078             default_value 1
1079             description  "
1080               When this option is enabled, RedBoot will support commands to
1081               query and set the real time clock (time and date)"
1082             compile -library=libextras.a time_date.cxx
1083         }
1084    
1085         cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
1086             display      "Behave like a ROM monitor"
1087             active_if    { CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" }
1088             requires     CYGSEM_HAL_ROM_MONITOR
1089             calculated   0
1090             no_define
1091             description  "
1092               Enabling this option will allow RedBoot to provide ROM monitor-style
1093               services to programs which it executes."
1094         }
1095    
1096         cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
1097             display       "Allow RedBoot to handle GNUPro application 'syscalls'."
1098             flavor        bool
1099             default_value 0
1100             description   "
1101               If this option is enabled then RedBoot will install a syscall handler
1102               to support debugging of applications based on GNUPro newlib/bsp."
1103    
1104             cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
1105                 display "Support additional syscalls for 'gprof' profiling"
1106                 flavor  bool
1107                 default_value 0
1108                 active_if       { 0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT }
1109                 description "
1110                     Support additional syscalls to support a periodic callback
1111                     function for histogram-style profiling, and an enquire/set
1112                     of the tick rate.
1113                     The application must use the GNUPro newlib facilities
1114                     to set this up."
1115             }
1116    
1117             cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
1118                 display "Does the HAL support 'gprof' profiling?"
1119                 no_define
1120             }
1121
1122             cdl_option CYGOPT_REDBOOT_BSP_SYSCALLS_EXIT_WITHOUT_TRAP {
1123                 display "Do not raise SIGTRAP when program exits"
1124                 default_value 0
1125                 description "
1126                     For some (single shot) newlib based programs,
1127                     exiting and returning a termination status may be
1128                     the normal expected behavior."
1129             }
1130         }
1131    
1132         cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
1133             display             "Use a common buffer for Zlib and FIS"
1134             flavor              bool
1135             active_if           { CYGBLD_BUILD_REDBOOT_WITH_ZLIB && \
1136                               CYGOPT_REDBOOT_FIS }
1137             default_value       0
1138             description         "
1139                 Use a common memory buffer for both the zlib workspace
1140                 and FIS directory operations. This can save a substantial
1141                 amount of RAM, especially when flash sectors are large."
1142    
1143             cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
1144                 display             "Size of Zlib/FIS common buffer"
1145                 flavor              data
1146                 default_value   0xc000
1147                 legal_values    0x4000 to 0x80000000
1148                 description     "
1149                     Size of common buffer to allocate. Must be at least the
1150                     size of one flash sector."
1151             }
1152         }
1153         cdl_option CYGNUM_REDBOOT_GETC_BUFFER {
1154             display       "Buffer size in getc when loading images"
1155             flavor        data
1156             default_value { CYGPKG_REDBOOT_FILEIO ? 4096 : 256 }
1157             description   "
1158                 When loading images a buffer is used between redboot and the
1159                 underlying storage medium, eg a filesystem, or a socket etc.
1160                 The size of this buffer can have a big impart on load speed."
1161         }
1162
1163     }
1164 }
1165
1166 # EOF redboot.cdl
Note: See TracBrowser for help on using the browser.