source: SVN/cambria/redboot/packages/devs/eth/intel/i82559/current/cdl/intel_i82559_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: 7.9 KB
Line 
1# ====================================================================
2#
3#       intel_i82559_eth_drivers.cdl
4#
5#       Intel 82559 ethernet driver
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) 2003 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):      hmt
45# Original data:  hmt
46# Contributors:   hmt, gthomas, jskov
47# Date:           2000-02-01
48#
49#####DESCRIPTIONEND####
50#
51# ====================================================================
52
53cdl_package CYGPKG_DEVS_ETH_INTEL_I82559 {
54    display       "Intel 82559 ethernet driver"
55    description   "Ethernet driver for Intel 82559 controller."
56
57    parent        CYGPKG_IO_ETH_DRIVERS
58    active_if     CYGPKG_IO_ETH_DRIVERS
59
60    active_if     CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED
61    implements    CYGINT_IO_ETH_MULTICAST
62
63    include_dir   cyg/devs/eth
64
65    # SNMP demands to know stuff; this sadly makes us break the neat
66    # abstraction of the device having nothing exported.
67    include_files include/i82559_info.h
68    # and tell them that it is available
69    define_proc {
70        puts $::cdl_system_header \
71       "#define CYGBLD_DEVS_ETH_DEVICE_H <pkgconf/devs_eth_intel_i82559.h>"
72
73        puts $::cdl_header "#include CYGDAT_DEVS_ETH_INTEL_I82559_CFG";
74    }
75
76    compile       -library=libextras.a if_i82559.c
77
78    cdl_option CYGDBG_DEVS_ETH_INTEL_I82559_CHATTER {
79        display "Prints ethernet device status info during startup"
80        flavor        booldata
81        default_value 0
82        description   "
83            Definining this will cause the ethernet device initialization code
84            to print lots of info
85            to confirm that it has found the devices on the PCI bus, read
86            the MAC address from EEPROM correctly, and so on, and also
87            displays the mode (10/100MHz, half/full duplex) of the
88            connection.  If the value is set higher than one then
89            additional information about each packet sent will be printed."
90    }
91
92    cdl_option CYGNUM_DEVS_ETH_INTEL_I82559_DEV_COUNT {
93        display "Number of supported interfaces."
94        calculated    { CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED }
95        flavor        data
96        description   "
97            This option selects the number of PCI ethernet interfaces to
98            be supported by the driver."
99    }
100
101    cdl_component CYGDBG_DEVS_ETH_INTEL_I82559_KEEP_STATISTICS {
102        display "Keep Ethernet statistics"
103        default_value 1
104        description   "
105            The ethernet device can maintain statistics about the network,
106            specifically a great variety of error rates which are useful
107            for network management.  SNMP for example uses this
108            information.  There is some performance cost in maintaining
109            this information; disable this option to recoup that."
110
111        cdl_option CYGDBG_DEVS_ETH_INTEL_I82559_KEEP_82559_STATISTICS {
112            display "Keep i82559 Internal statistics"
113            default_value 1
114            description   "
115                The i82559 keeps internal counters, and it is possible to
116                acquire these.  But the i82559 (reputedly) does not service
117                the network whilst uploading the data to RAM from its
118                internal registers.  If throughput is a problem, disable
119                this option to acquire only those statistics gathered by
120                software, so that the i82559 never sleeps."
121        }
122    }
123
124    cdl_component CYGPKG_DEVS_ETH_INTEL_I82559_WRITE_EEPROM {
125        display "SIOCSIFHWADDR records MAC address in EEPROM"
126        default_value 0
127        description   "
128            The ioctl() socket call with operand SIOCSIFHWADDR sets the
129            interface hardware address - the MAC address or ethernet
130            address.  This option causes the new MAC address to be written
131            into the EEPROM associated with the interface, so that the new
132            MAC address is permanently recorded.  Doing this should be a
133            carefully chosen decision, hence this option."
134    }
135
136    cdl_option CYGNUM_DEVS_ETH_INTEL_I82559_MAX_RX_DESCRIPTORS {
137        display       "Maximum number of RX descriptors"
138        flavor  data
139        default_value { CYGPKG_REDBOOT ? 4 : 128 }
140        define        MAX_RX_DESCRIPTORS
141        description   "
142                An RX descriptor is used for each ethernet frame required
143                to be passed to the upper networking layers. This option
144                sets the maximum number of these. Higher numbers use more
145                memory, lower numbers will reduce performance. The system
146                appears to work OK with as few as 8 descriptors but limps
147                painfully with only 4. Performance is better with more than
148                8, but assuming the size of non-cached (so useless for anything
149                else) memory window is 1Mb, we might as well use it all.
150                128 RX and TX descriptors uses the whole 1Mb, near enough."
151    }
152   
153    cdl_option CYGNUM_DEVS_ETH_INTEL_I82559_MAX_TX_DESCRIPTORS {
154        display       "Maximum number of TX descriptors"
155        flavor  data
156        default_value { CYGPKG_REDBOOT ? 4 : 128 }
157        define        MAX_TX_DESCRIPTORS
158        description   "
159                A TX descriptor is used for each ethernet frame passed down
160                from upper networking layers for transmission. This option
161                sets the maximum number of these. Higher numbers use more
162                memory, lower numbers will reduce performance. The system
163                appears to work OK with as few as 8 descriptors but limps
164                painfully with only 4. Performance is better with more than
165                8, but assuming the size of non-cached (so useless for anything
166                else) memory window is 1Mb, we might as well use it all.
167                128 RX and TX descriptors uses the whole 1Mb, near enough."
168    }
169
170    cdl_component CYGPKG_DEVS_ETH_INTEL_I82559_OPTIONS {
171        display "Intel 82559 ethernet driver build options"
172        flavor  none
173        no_define
174
175        cdl_option CYGPKG_DEVS_ETH_INTEL_I82559_CFLAGS_ADD {
176            display "Additional compiler flags"
177            flavor  data
178            no_define
179            default_value { "-D_KERNEL -D__ECOS" }
180            description   "
181                This option modifies the set of compiler flags for
182                building the Intel 82559 ethernet driver
183                package. These flags are used in addition to the set of
184                global flags."
185        }
186    }
187}
188# EOF intel_i82559_eth_drivers.cdl
Note: See TracBrowser for help on using the repository browser.