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