source: SVN/cambria/redboot/packages/io/eth/current/cdl/eth_drivers.cdl @ 1

Last change on this file since 1 was 1, checked in by Tim Harvey, 2 years ago

restored latest version of files from server backup

Signed-off-by: Tim Harvey <tharvey@…>

File size: 9.4 KB
Line 
1# ====================================================================
2#
3#      eth_drivers.cdl
4#
5#      Ethernet drivers - platform independent support
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##
13## eCos is free software; you can redistribute it and/or modify it under
14## the terms of the GNU General Public License as published by the Free
15## Software Foundation; either version 2 or (at your option) any later version.
16##
17## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18## WARRANTY; without even the implied warranty of MERCHANTABILITY or
19## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
20## for more details.
21##
22## You should have received a copy of the GNU General Public License along
23## with eCos; if not, write to the Free Software Foundation, Inc.,
24## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
25##
26## As a special exception, if other files instantiate templates or use macros
27## or inline functions from this file, or you compile this file and link it
28## with other works to produce a work based on this file, this file does not
29## by itself cause the resulting work to be covered by the GNU General Public
30## License. However the source code for this file must still be made available
31## in accordance with section (3) of the GNU General Public License.
32##
33## This exception does not invalidate any other reasons why a work based on
34## this file might be covered by the GNU General Public License.
35##
36## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
37## at http://sources.redhat.com/ecos/ecos-license/
38## -------------------------------------------
39#####ECOSGPLCOPYRIGHTEND####
40# ====================================================================
41######DESCRIPTIONBEGIN####
42#
43# Author(s):      gthomas
44# Original data:  gthomas
45# Contributors:
46# Date:           2000-01-25
47#
48#####DESCRIPTIONEND####
49#
50# ====================================================================
51
52cdl_package CYGPKG_IO_ETH_DRIVERS {
53    display       "Common ethernet support"
54    include_dir   cyg/io/eth
55    parent        CYGPKG_IO
56    description   "Platform independent ethernet drivers"
57    doc           ref/io-eth-drv-generic.html
58
59    implements    CYGPKG_NET_DRIVER_FRAMEWORK
60
61    cdl_interface CYGHWR_NET_DRIVERS {
62        display "Network drivers"
63    }
64
65    cdl_interface     CYGINT_IO_ETH_MULTICAST {
66        display   "Driver supports multicast addressing"
67        description "
68          This interface defines whether or not a driver can handle
69          requests for multicast addressing."
70    }
71
72    cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
73        display          "Support printing driver debug information"
74        flavor           bool
75        default_value    1
76        description      "
77           Selecting this option will include code to allow the driver to
78           print lots of information on diagnostic output such as full
79           packet dumps."
80
81        cdl_option    CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
82            display       "Driver debug output verbosity"
83            flavor        data
84            default_value 0
85            description   "
86                The value of this option indicates the default verbosity
87                level of debugging output. 0 means no debugging output
88                is made by default. Higher values indicate higher verbosity.
89                The verbosity level may also be changed at run time by
90                changing the variable cyg_io_eth_net_debug."
91        }
92    }
93
94    cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
95      display       "Size of scatter-gather I/O lists"
96      flavor        data
97      default_value 32
98      description   "
99         A scatter-gather list is used to pass requests to/from
100         the physical device driver.  This list can typically be
101         small, as the data is normally already packed into reasonable
102         chunks."
103    }
104
105    cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
106        display       "Support for standard eCos TCP/IP stack."
107        flavor        bool
108        active_if     CYGPKG_NET
109        requires      CYGINT_ISO_STRING_STRFUNCS
110        implements    CYGINT_IO_ETH_INT_SUPPORT_REQUIRED
111        default_value 1
112        compile       net/eth_drv.c
113
114        cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
115            display     "Warn when there are no more mbufs"
116            flavor      bool
117            default_value 1
118            description "
119                Warnings about running out of mbufs are printed to the
120                diagnostic output channel via diag_printf() if this option
121                is enabled.  Mbufs are the network stack's basic dynamic
122                memory objects that hold all packets in transit; running
123                out is bad for performance but not fatal, not a crash.
124                You might want to turn off the warnings to preserve realtime
125                properties of the system even in extremis."
126        }
127
128        cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
129            display             "Simulate network failures for testing"
130            flavor              bool
131            default_value       0
132            description "
133                This package contains a suite of simulated failure modes
134                for the ethernet device layer, including dropping and/or
135                corrupting received packets, dropping packets queued for
136                transmission, and simulating a complete network break.
137                It requires the kernel as a source of time information."
138
139            cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
140                display "Drop incoming packets (percentage)"
141                flavor  booldata
142                legal_values 10 50 80
143                default_value 10
144            }
145
146            cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
147                display "Corrupt incoming packets (percentage)"
148                flavor  booldata
149                legal_values 10 50 80
150                default_value 10
151            }
152
153            cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
154                display "Drop outgoing packets (percentage)"
155                flavor  booldata
156                legal_values 10 50 80
157                default_value 10
158            }
159
160            cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
161                display "Simulate a line cut from time to time"
162                flavor  bool
163                default_value 0
164                description "
165                This option causes the system to drop all packets for a
166                short random period (10s of seconds), and then act
167                normally for up to 4 times that long.  This simulates your
168                sysadmin fiddling with plugs in the network switch
169                cupboard."
170            }
171        }
172    }
173
174    cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
175        display       "Support for stand-alone network stack."
176        flavor        bool
177        active_if     !CYGPKG_NET
178        requires      CYGINT_ISO_STRING_MEMFUNCS
179        default_value 1
180        compile       stand_alone/eth_drv.c
181
182        cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
183            display          "Pass packets to an alternate stack"
184            flavor           bool
185            default_value    { 0 != CYGPKG_REDBOOT_NETWORKING }
186            description      "
187                 Define this to allow packets seen by this layer to be
188                 passed on to the previous logical layer, i.e. when
189                 stand-alone processing replaces system (eCos) processing."
190        }
191
192        cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
193            display          "Number of \[network\] buffers"
194            flavor           data
195            default_value    4
196            legal_values     2 to 32
197            description      "
198               This option is used to allocate space to buffer incoming network
199               packets.  These buffers are used to hold data until they can be
200               logically processed by higher layers."
201        }
202
203        cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
204            display          "Show driver warnings"
205            active_if        CYGPKG_REDBOOT
206            flavor           bool
207            default_value    0
208            description      "
209               Selecting this option will allows the stand-alone ethernet driver
210               to display warnings on the system console when incoming network
211               packets are being discarded due to lack of buffer space."
212        }
213    }
214
215    cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
216        display       "Support for lwIP network stack."
217        flavor        bool
218        requires      !CYGPKG_NET
219        active_if     CYGPKG_NET_LWIP
220        default_value 1
221        implements    CYGINT_IO_ETH_INT_SUPPORT_REQUIRED
222        compile       lwip/eth_drv.c
223    }   
224
225    cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
226        display       "Interrupt support required"
227        flavor        booldata
228        description   "This interface is used to indicate to the low
229                       level device drivers that interrupt driven operation
230                       is required by higher layers."
231    }
232
233    cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
234        display "Common ethernet support build options"
235        flavor  none
236        no_define
237
238        cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
239            display "Additional compiler flags"
240            flavor  data
241            no_define
242            default_value { "-D_KERNEL -D__ECOS" }
243            description   "
244                This option modifies the set of compiler flags for
245                building the common ethernet support package. These flags are used in addition
246                to the set of global flags."
247        }
248    }
249}
250
251# EOF eth_drivers.cdl
Note: See TracBrowser for help on using the repository browser.