]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - packages/fs/ram/v2_0/cdl/ramfs.cdl
Initial revision
[karo-tx-redboot.git] / packages / fs / ram / v2_0 / cdl / ramfs.cdl
1 # ====================================================================
2 #
3 #      ramfs.cdl
4 #
5 #      RAM Filesystem 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) 2004 eCosCentric Limited
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):      nickg
45 # Original data:  nickg
46 # Contributors:
47 # Date:           2000-08-01
48 #
49 #####DESCRIPTIONEND####
50 #
51 # ====================================================================
52
53 cdl_package CYGPKG_FS_RAM {
54     display        "RAM filesystem"
55     doc            ref/fileio.html
56     include_dir    cyg/ramfs
57
58     requires       CYGPKG_IO_FILEIO
59
60     requires       CYGPKG_ISOINFRA
61     requires       CYGPKG_ERROR
62     requires       CYGINT_ISO_ERRNO
63     requires       CYGINT_ISO_ERRNO_CODES
64
65     implements     CYGINT_IO_FILEIO_FS
66
67     compile        -library=libextras.a ramfs.c
68
69     # ----------------------------------------------------------------------
70     # Simple allocation mechanism using malloc()
71     
72     cdl_component CYGPKG_FS_RAM_SIMPLE {
73         display    "Simple, malloc() based, implementation"
74         requires   { CYGINT_ISO_MALLOC != 0 }
75         default_value 1
76         active_if      !CYGPKG_FS_RAM_BLOCKS
77
78         cdl_option     CYGNUM_RAMFS_REALLOC_INCREMENT {
79             display       "Size of file data storage increment"
80             flavor        data
81             default_value 256
82             legal_values  64 to 32768
83             description   "This option controls the size of the increment to a file data
84                            storage block."
85         }
86
87     }
88
89     # ----------------------------------------------------------------------
90     # Block based allocation, using either malloc() or a private block
91     # pool.
92     
93     cdl_component CYGPKG_FS_RAM_BLOCKS {
94         display        "Block-based RAM filesystem allocation"
95         default_value  0
96         active_if      !CYGPKG_FS_RAM_SIMPLE
97
98         
99         cdl_option     CYGNUM_RAMFS_BLOCK_SIZE {
100             display       "Size of file data storage block"
101             flavor        data
102             default_value 256
103             legal_values  64 to 32768
104             description   "This option controls the size of a data storage block."
105         }
106
107         cdl_option     CYGNUM_RAMFS_BLOCKS_DIRECT {
108             display       "Directly referenced data storage blocks"
109             flavor        data
110             default_value 8
111             legal_values  0 to 32
112             description   "This option controls the number of data storage blocks that
113                            are referenced directly from a file or directory node."
114         }
115
116         cdl_option     CYGNUM_RAMFS_BLOCKS_INDIRECT1 {
117             display       "Single level indirect data storage blocks"
118             flavor        data
119             default_value 1
120             legal_values  0 to 32
121             description   "This option controls the number of single level indirect storage
122                            blocks that are referenced from a file or directory node."
123         }
124
125         cdl_option     CYGNUM_RAMFS_BLOCKS_INDIRECT2 {
126             display       "Two level indirect data storage blocks"
127             flavor        data
128             default_value 1
129             legal_values  0 to 32
130             description   "This option controls the number of two level indirect storage
131                            blocks that are referenced from a file or directory node."
132         }
133
134         cdl_component CYGPKG_FS_RAM_BLOCKS_ARRAY {
135             display       "Use block array rather than malloc()"
136             default_value 0
137             description   "This option controls whether the blocks are allocated from
138                            an array of blocks rather from the heap using malloc()."
139
140             cdl_option CYGPKG_FS_RAM_BLOCKS_ARRAY_EXTERN {
141                 display         "Block array is external"
142                 default_value 0
143                 description     "This option controls whether the block array is
144                                  defined by the RAMFS package or whether it is provided
145                                  by an external component. The latter option may be
146                                  useful when the RAM file system is to be put into a
147                                  special memory area."
148             }
149
150             cdl_option CYGPKG_FS_RAM_BLOCKS_ARRAY_NAME {
151                 display         "Name of external block array"
152                 active_if       CYGPKG_FS_RAM_BLOCKS_ARRAY_EXTERN
153                 flavor          data
154                 default_value   "cyg_ramfs_block_array"
155                 description     "This option controls what the symbol name of the external
156                                  block array will be."
157             }
158
159             cdl_option CYGNUM_FS_RAM_BLOCKS_ARRAY_SIZE {
160                 display         "Size of blocks array"
161                 flavor          data
162                 default_value   128
163                 legal_values    1 to 9999999999
164                 description     "The number of blocks in the array. The total size of
165                                  the array will be this value times the block size."
166             }
167         }
168     }
169
170     cdl_option     CYGNUM_RAMFS_DIRENT_SIZE {
171         display       "Directory entry size"
172         flavor        data
173         default_value 32
174         legal_values  16 to { CYGNUM_RAMFS_BLOCK_SIZE ? CYGNUM_RAMFS_BLOCK_SIZE : 128 }
175         description   "This option controls the number of two level indirect storage
176                        blocks that are referenced from a file or directory node."
177     }
178
179     # ----------------------------------------------------------------
180     # Tests
181
182     cdl_option CYGPKG_FS_RAM_TESTS {
183         display "RAM FS tests"
184         flavor  data
185         no_define
186         calculated { "tests/ramfs1 tests/ramfs2" }
187             description   "
188                 This option specifies the set of tests for the RAM FS package."
189         }
190     
191 }
192
193 # End of ramfs.cdl