1 |
786 |
skrzyp |
2010-01-25 Simon Kallweit
|
2 |
|
|
|
3 |
|
|
* cdl/eth_drivers.cdl, include/eth_drv.h: Minor changes for
|
4 |
|
|
lwIP 1.3.x.
|
5 |
|
|
* src/lwip/eth_drv.c: Rework for lwIP 1.3.x based on standalone
|
6 |
|
|
driver for RedBoot.
|
7 |
|
|
* src/lwip/eth_conf.inl: Add static interface configuration.
|
8 |
|
|
|
9 |
|
|
2009-07-24 Edgar Grimberg
|
10 |
|
|
|
11 |
|
|
* cdl/eth_drivers.cdl: Added the suppress option for
|
12 |
|
|
the compiler flags.
|
13 |
|
|
|
14 |
|
|
2006-03-26 Uwe Kindler
|
15 |
|
|
|
16 |
|
|
* src/lwip/eth_drv.c Add call to lwip_dhcp_init() for
|
17 |
|
|
start of DHCP client. Fixed ecosif_output() for
|
18 |
|
|
lwip 1.1.1 support.
|
19 |
|
|
|
20 |
|
|
2006-01-18 Gary Thomas
|
21 |
|
|
|
22 |
|
|
* src/net/eth_drv.c (eth_drv_send): Better check for overflow
|
23 |
|
|
of SG list - pointed out by Ferenc Deak
|
24 |
|
|
|
25 |
|
|
2005-07-29 Andrew Lunn
|
26 |
|
|
|
27 |
|
|
* src/net/eth_drv.c (eth_drv_recv): Change of type to remove
|
28 |
|
|
compiler warning.
|
29 |
|
|
|
30 |
|
|
2005-06-29 Andrew Lunn
|
31 |
|
|
|
32 |
|
|
* doc/driver_doc: Removed, it has been superseded by the sgml
|
33 |
|
|
documentation.
|
34 |
|
|
|
35 |
|
|
2005-03-27 Andrew Lunn
|
36 |
|
|
|
37 |
|
|
* src/net/eth_drv.c (eth_drv_send): Fixed a compiler warning about
|
38 |
|
|
type of parameter passed to diag_printf.
|
39 |
|
|
|
40 |
|
|
2004-08-06 Jani Monoses
|
41 |
|
|
|
42 |
|
|
* src/stand_alone/eth_drv.c: Add parantheses to fix operator
|
43 |
|
|
precedence bugs even though they were harmless in practice.
|
44 |
|
|
|
45 |
|
|
2004-01-09 Jani Monoses
|
46 |
|
|
|
47 |
|
|
* include/eth_drv.h:
|
48 |
|
|
* src/lwip/eth_drv.c: Update to support more than one device and
|
49 |
|
|
be in sync with current lwip code.
|
50 |
|
|
|
51 |
|
|
2004-01-05 Gary Thomas
|
52 |
|
|
|
53 |
|
|
* src/net/eth_drv.c: Names of FLASH config types changed.
|
54 |
|
|
|
55 |
|
|
2003-10-09 Gary Thomas
|
56 |
|
|
|
57 |
|
|
* src/stand_alone/eth_drv.c: Obviate __local_enet_addr, since this
|
58 |
|
|
same information is already kept in the driver structure *__local_enet_sc
|
59 |
|
|
|
60 |
|
|
2003-08-19 Gary Thomas
|
61 |
|
|
|
62 |
|
|
* src/stand_alone/eth_drv.c:
|
63 |
|
|
* src/net/eth_drv.c: Improve network speeds by reducing some
|
64 |
|
|
overhead and also the delay when sending a packet.
|
65 |
|
|
|
66 |
|
|
2003-07-23 Nick Garnett
|
67 |
|
|
|
68 |
|
|
* include/eth_drv.h:
|
69 |
|
|
* src/net/eth_drv.c:
|
70 |
|
|
Added an ifndef to fix warnings about NBPFILTER not being
|
71 |
|
|
defined.
|
72 |
|
|
|
73 |
|
|
2003-03-20 Mark Salter
|
74 |
|
|
|
75 |
|
|
* cdl/eth_drivers.cdl (CYGHWR_NET_DRIVERS): Moved here from net/common.
|
76 |
|
|
|
77 |
|
|
2003-03-14 Nick Garnett
|
78 |
|
|
|
79 |
|
|
* src/net/eth_drv.c: Added calls to cyg_net_show_mbufs() whenever
|
80 |
|
|
we see an out-of-mbufs problem.
|
81 |
|
|
|
82 |
|
|
2003-03-11 Mark Salter
|
83 |
|
|
|
84 |
|
|
* src/stand_alone/eth_drv.c (eth_drv_stop): Uncomment, make non-static,
|
85 |
|
|
and use __local_enet_sc.
|
86 |
|
|
* include/eth_drv.h: Add extern decl for eth_drv_stop.
|
87 |
|
|
|
88 |
|
|
2003-02-24 Jonathan Larmour
|
89 |
|
|
|
90 |
|
|
* cdl/eth_drivers.cdl: Add doc link.
|
91 |
|
|
|
92 |
|
|
2003-02-07 Jonathan Larmour
|
93 |
|
|
|
94 |
|
|
* src/net/eth_drv.c: If driver can't set multi-cast, indicate it's
|
95 |
|
|
only a warning.
|
96 |
|
|
|
97 |
|
|
2002-08-14 Gary Thomas
|
98 |
|
|
|
99 |
|
|
* cdl/eth_drivers.cdl: CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE
|
100 |
|
|
needs to be global (used by all drivers, not just NET).
|
101 |
|
|
|
102 |
|
|
2002-08-13 Gary Thomas
|
103 |
|
|
|
104 |
|
|
* src/net/eth_drv.c (eth_drv_send): Print a better message
|
105 |
|
|
if the scatter-gather list overflows.
|
106 |
|
|
|
107 |
|
|
* include/eth_drv.h (MAX_ETH_DRV_SG):
|
108 |
|
|
* cdl/eth_drivers.cdl: Add control over size of scatter-gather
|
109 |
|
|
data lists used to pass requests to physical layer. Previous
|
110 |
|
|
value was sometimes too small.
|
111 |
|
|
|
112 |
|
|
2002-07-31 Gary Thomas
|
113 |
|
|
|
114 |
|
|
* src/net/eth_drv.c (eth_drv_start): Fix compile error when
|
115 |
|
|
built with old stack (no multicast) - introduced below.
|
116 |
|
|
|
117 |
|
|
2002-07-26 Gary Thomas
|
118 |
|
|
2002-07-26 Ken Cox
|
119 |
|
|
|
120 |
|
|
* src/net/eth_drv.c (eth_drv_start): Force multicast address
|
121 |
|
|
setup any time chip is reset/reconfigured.
|
122 |
|
|
|
123 |
|
|
2002-05-30 Jonathan Larmour
|
124 |
|
|
|
125 |
|
|
* cdl/eth_drivers.cdl: Provide CYGINT_IO_ETH_INT_SUPPORT_REQUIRED
|
126 |
|
|
interface to indicate if interrupt support is required.
|
127 |
|
|
|
128 |
|
|
2002-05-28 Jonathan Larmour
|
129 |
|
|
|
130 |
|
|
* src/lwip/lw.diff: Remove. Obsolete.
|
131 |
|
|
|
132 |
|
|
2002-05-13 Jesper Skov
|
133 |
|
|
|
134 |
|
|
* cdl/eth_drivers.cdl: Moved the package's header files to
|
135 |
|
|
cyg/io/eth to clean up the include root directory.
|
136 |
|
|
|
137 |
|
|
2002-04-30 Jonathan Larmour
|
138 |
|
|
|
139 |
|
|
* src/lwip/eth_drv.c: Update from Jani Monoses.
|
140 |
|
|
|
141 |
|
|
* cdl/eth_drivers.cdl: Move CYGINT_ISO_STRING_STRFUNCS requirement
|
142 |
|
|
into CYGPKG_IO_ETH_DRIVERS_NET where it belongs.
|
143 |
|
|
Move CYGINT_ISO_STRING_MEMFUNCS requirement into
|
144 |
|
|
CYGPKG_IO_ETH_DRIVERS_STAND_ALONE where it belongs.
|
145 |
|
|
|
146 |
|
|
2002-04-10 Gary Thomas
|
147 |
|
|
|
148 |
|
|
* src/net/eth_drv.c: Only pass mutlicast addresses down to drivers.
|
149 |
|
|
|
150 |
|
|
2002-04-05 Jani Monoses
|
151 |
|
|
|
152 |
|
|
* src/lwip/eth_drv.c: New file. Add eth driver support for lwip.
|
153 |
|
|
* src/lwip/lw.diff: New file. diff against lwip sources.
|
154 |
|
|
* src/lwip/README: New file.
|
155 |
|
|
* cdl/eth_drivers.cdl: Add lwip driver support.
|
156 |
|
|
|
157 |
|
|
2002-03-09 Gary Thomas
|
158 |
|
|
|
159 |
|
|
* src/net/eth_drv.c: Select 'multicast_all' if too many addresses
|
160 |
|
|
are required. Also, ignore any non-multicast addresses.
|
161 |
|
|
|
162 |
|
|
2002-02-22 Hugo Tyson
|
163 |
|
|
|
164 |
|
|
* doc/ethdrv.sgml: New file. SGML-ized the existing driver-doc
|
165 |
|
|
file and brought the information up to date with deliver functions
|
166 |
|
|
and all that.
|
167 |
|
|
|
168 |
|
|
2002-02-18 Gary Thomas
|
169 |
|
|
|
170 |
|
|
* cdl/eth_drivers.cdl:
|
171 |
|
|
Add new interface CYGINT_IO_ETH_MULTICAST which is used to
|
172 |
|
|
insure that drivers support multicast addresses if IPv6 is used.
|
173 |
|
|
|
174 |
|
|
2002-02-15 Gary Thomas
|
175 |
|
|
|
176 |
|
|
* src/net/eth_drv.c:
|
177 |
|
|
* include/eth_drv.h: Add framework for multicast address support.
|
178 |
|
|
|
179 |
|
|
2002-01-30 Hugo Tyson
|
180 |
|
|
|
181 |
|
|
* cdl/eth_drivers.cdl (CYGPKG_IO_ETH_DRIVERS_WARN_FORCE_CONSOLE):
|
182 |
|
|
CDL options removed; control is now from RedBoot.
|
183 |
|
|
|
184 |
|
|
* src/net/eth_drv.c (START_CONSOLE): Changed to use RedBoot
|
185 |
|
|
fconfig items for deciding what console to use for special debug
|
186 |
|
|
messages such as "out of MBUFs" and the like.
|
187 |
|
|
|
188 |
|
|
* src/stand_alone/eth_drv.c (LOCK_APPLICATION_SCHEDULER): New
|
189 |
|
|
macro to do what it says, before passing packets to the app.
|
190 |
|
|
Used in two places: when passing a received packet, and when
|
191 |
|
|
passing a tx completion status back.
|
192 |
|
|
|
193 |
|
|
2002-01-28 Gary Thomas
|
194 |
|
|
|
195 |
|
|
* src/net/eth_drv.c (eth_drv_init): Changes for supporting new
|
196 |
|
|
FreeBSD based stack (minor API changes internal to that stack).
|
197 |
|
|
|
198 |
|
|
2001-12-12 Hugo Tyson
|
199 |
|
|
|
200 |
|
|
* src/net/eth_drv.c (START_CONSOLE,END_CONSOLE): New macros akin
|
201 |
|
|
to those within RedBoot's internal net_io.c, for directing warning
|
202 |
|
|
messages to a serial line if required. All printf's wrapped in
|
203 |
|
|
them for safety.
|
204 |
|
|
|
205 |
|
|
* cdl/eth_drivers.cdl (CYGPKG_IO_ETH_DRIVERS_WARN_FORCE_CONSOLE):
|
206 |
|
|
and ..._NUMBER, new options to direct application warning output
|
207 |
|
|
somewhere useful (less harmful) for when you are debugging over
|
208 |
|
|
the net. Trying to print within a call which occurred from within
|
209 |
|
|
RedBoot itself is such a recursive situation as to be fatal.
|
210 |
|
|
Defaults are disabled, you must choose to set these up if
|
211 |
|
|
you want to debug your app safely over the network.
|
212 |
|
|
|
213 |
|
|
2001-12-12 Hugo Tyson
|
214 |
|
|
|
215 |
|
|
* src/stand_alone/eth_drv.c (DIAG_DUMP_BUF_HDR,DIAG_DUMP_BUF_BDY):
|
216 |
|
|
Separate macros for debug dumps of ethernet header and body.
|
217 |
|
|
(eth_drv_write): Use them.
|
218 |
|
|
(eth_drv_copy_recv): Do not corrupt the static data pointer, so
|
219 |
|
|
that if we are erroneously called twice, at least what we pass is
|
220 |
|
|
a packet, rather than random memory; do not escape to SEGV. Guard
|
221 |
|
|
against NULL sg_list[].buf pointers, in case caller out of MBUFs.
|
222 |
|
|
(eth_drv_recv): Only dump packet if we actually have a buffer.
|
223 |
|
|
Only forward the packet if actually have a buffer.
|
224 |
|
|
|
225 |
|
|
2001-12-04 Richard Sandiford
|
226 |
|
|
|
227 |
|
|
* src/stand_alone/eth_drv.c (eth_drv_read): Check that the return
|
228 |
|
|
buffer is big enough to hold the packet.
|
229 |
|
|
|
230 |
|
|
2001-11-28 Jonathan Larmour
|
231 |
|
|
|
232 |
|
|
* doc/driver_doc: Mention preferences on how the ESA should be set.
|
233 |
|
|
|
234 |
|
|
2001-10-30 Jonathan Larmour
|
235 |
|
|
|
236 |
|
|
* doc/driver_doc: Add description of poll, deliver and int_vector
|
237 |
|
|
driver functions.
|
238 |
|
|
|
239 |
|
|
2001-10-29 Hugo Tyson
|
240 |
|
|
|
241 |
|
|
* src/net/eth_drv.c (eth_drv_tickle_devices): [CASE 106613] Rather
|
242 |
|
|
than calling can_send() in the device driver directly, call our
|
243 |
|
|
own eth_drv_send() function which will also dequeue a waiting
|
244 |
|
|
packet if we find we indeed can_send(). This helps to recover
|
245 |
|
|
from queue full situations within the if_ethersubr layer above.
|
246 |
|
|
This change is belt & braces with a similar call in the code which
|
247 |
|
|
drops a packet if the queue is full, in the main network code in
|
248 |
|
|
net/tcpip/.../src/sys/net/if_ethersubr.c (ether_output); this
|
249 |
|
|
change will recover the situation shortly even if the application
|
250 |
|
|
gives up trying to send because of ENOBUFS.
|
251 |
|
|
|
252 |
|
|
2001-10-18 Jonathan Larmour
|
253 |
|
|
|
254 |
|
|
* cdl/eth_drivers.cdl: Rename CYGSEM_IO_ETH_DRIVERS_DEBUG to
|
255 |
|
|
CYGDBG_IO_ETH_DRIVERS_DEBUG and make it a common option.
|
256 |
|
|
Add separate CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY config.
|
257 |
|
|
|
258 |
|
|
* include/eth_drv.h: Don't claim BSD if it isn't.
|
259 |
|
|
* include/eth_drv_stats.h: Ditto.
|
260 |
|
|
* include/netdev.h: Ditto.
|
261 |
|
|
* src/net/eth_drv.c: Ditto.
|
262 |
|
|
Also use above CDL options to conditionalize debugging (and the
|
263 |
|
|
verbosity level).
|
264 |
|
|
* src/stand_alone/eth_drv.c: Use above renamed CDL options.
|
265 |
|
|
|
266 |
|
|
2001-10-11 Gary Thomas
|
267 |
|
|
|
268 |
|
|
* src/stand_alone/eth_drv.c (eth_drv_recv):
|
269 |
|
|
Defensive programming - insure valid packet size.
|
270 |
|
|
|
271 |
|
|
2001-10-05 Jonathan Larmour
|
272 |
|
|
|
273 |
|
|
* src/net/eth_drv.c: Add default implementation of min().
|
274 |
|
|
|
275 |
|
|
2001-09-26 Jesper Skov
|
276 |
|
|
|
277 |
|
|
* cdl/eth_drivers.cdl: Require the string functions.
|
278 |
|
|
|
279 |
|
|
* src/stand_alone/eth_drv.c: Fix warnings.
|
280 |
|
|
|
281 |
|
|
2001-09-25 Hugo Tyson
|
282 |
|
|
|
283 |
|
|
* src/net/eth_drv.c (eth_drv_dsr): Assert that the "sc" given to
|
284 |
|
|
eth_drv_dsr() really is a sc from the valid list. This can save a
|
285 |
|
|
few hours debug time of a typo.
|
286 |
|
|
|
287 |
|
|
2001-09-13 Hugo Tyson
|
288 |
|
|
|
289 |
|
|
* src/net/eth_drv.c (eth_drv_tickle_devices): New function to call
|
290 |
|
|
can_send() on all devices to allow them to unstick from a lost
|
291 |
|
|
interrupt or other wedge - it's up to the device to detect this,
|
292 |
|
|
of course, can_send() does not explicitly do this, it's just used
|
293 |
|
|
as an opportunity harmlessly to get control into the device so it
|
294 |
|
|
can examine its world.
|
295 |
|
|
|
296 |
|
|
2001-09-05 Gary Thomas
|
297 |
|
|
|
298 |
|
|
* src/stand_alone/eth_drv.c (eth_drv_init): Don't initialize
|
299 |
|
|
structures if ESA is zero. This is used by low level drivers
|
300 |
|
|
to indicate that a device is present, but can't currently be
|
301 |
|
|
used. The eCos driver handles this case as well.
|
302 |
|
|
|
303 |
|
|
2001-08-31 Hugo Tyson
|
304 |
|
|
2001-08-31 Andrew Lunn
|
305 |
|
|
|
306 |
|
|
* src/net/eth_drv.c (eth_drv_tx_done): Guard against a NULL key
|
307 |
|
|
return - which can be caused by race conditions in the driver,
|
308 |
|
|
this is the neatest fixup. It's good defensive programming
|
309 |
|
|
anyway and ASCOM's tests indicate a benefit for CASE 106059.
|
310 |
|
|
|
311 |
|
|
2001-08-22 Gary Thomas
|
312 |
|
|
|
313 |
|
|
* src/stand_alone/eth_drv.c:
|
314 |
|
|
printf() is no longer a part of RedBoot. Thus all programs
|
315 |
|
|
must use diag_printf() and related functions instead.
|
316 |
|
|
|
317 |
|
|
* cdl/eth_drivers.cdl: Only enable warning/debug modes if RedBoot
|
318 |
|
|
is present as the debug environment (since there are implicit
|
319 |
|
|
dependencies on RedBoot functions).
|
320 |
|
|
|
321 |
|
|
2001-08-20 Jonathan Larmour
|
322 |
|
|
|
323 |
|
|
* src/net/eth_drv.c (eth_drv_send): Move endif location to fix build
|
324 |
|
|
error.
|
325 |
|
|
|
326 |
|
|
2001-08-17 Jonathan Larmour
|
327 |
|
|
|
328 |
|
|
* cdl/eth_drivers.cdl (CYGSEM_IO_ETH_DRIVERS_DEBUG): Now booldata.
|
329 |
|
|
* src/stand_along/eth_drv.c (eth_drv_tx_done): Use different
|
330 |
|
|
value of CYGSEM_IO_ETH_DRIVERS_DEBUG for verbosity.
|
331 |
|
|
|
332 |
|
|
2001-08-14 Gary Thomas
|
333 |
|
|
|
334 |
|
|
* src/stand_alone/eth_drv.c (eth_drv_write):
|
335 |
|
|
(eth_drv_tx_done):
|
336 |
|
|
(eth_drv_read): Better handling of stacking (layering) of drivers.
|
337 |
|
|
RedBoot (stand alone code) is designed to call into the eCos
|
338 |
|
|
stack and these changes make sure that this is done properly
|
339 |
|
|
nested/stacked. These changes also affect the behaviour positively
|
340 |
|
|
for CR 902745-CR.
|
341 |
|
|
|
342 |
|
|
* src/net/eth_drv.c (eth_drv_send): Add locking of driver while
|
343 |
|
|
actual hardware routines are involved. Since the same driver
|
344 |
|
|
can be shared by both eCos and RedBoot, it is imperative that
|
345 |
|
|
additional locking (in the form of locking the scheduler) be
|
346 |
|
|
employed during this window to make sure that the hardware is
|
347 |
|
|
handled in complete, consistent steps. This helps with known
|
348 |
|
|
bug CR 902745-CR.
|
349 |
|
|
|
350 |
|
|
2001-08-09 Hugo Tyson
|
351 |
|
|
|
352 |
|
|
* src/net/eth_drv.c (eth_drv_recv): Add a pair of
|
353 |
|
|
CYGARC_HAL_SAVE_GP()/CYGARC_HAL_RESTORE_GP() on entry and exit;
|
354 |
|
|
this function is intercalled between RedBoot and the application.
|
355 |
|
|
A minor re-org at the ending to accommodate these macros' nesting.
|
356 |
|
|
(eth_drv_tx_done): CYGARC_HAL_SAVE_GP()/CYGARC_HAL_RESTORE_GP().
|
357 |
|
|
|
358 |
|
|
* src/stand_alone/eth_drv.c (eth_drv_tx_done): Add a pair of
|
359 |
|
|
CYGARC_HAL_SAVE_GP()/CYGARC_HAL_RESTORE_GP() on entry and exit;
|
360 |
|
|
this function is intercalled between RedBoot and the application.
|
361 |
|
|
Also make printing message about "tx_done for other key" also
|
362 |
|
|
conditional on net_debug variable - it's commonplace.
|
363 |
|
|
(eth_drv_recv): CYGARC_HAL_SAVE_GP()/CYGARC_HAL_RESTORE_GP().
|
364 |
|
|
(eth_drv_copy_recv): CYGARC_HAL_SAVE_GP()/CYGARC_HAL_RESTORE_GP().
|
365 |
|
|
|
366 |
|
|
2001-07-03 Gary Thomas
|
367 |
|
|
|
368 |
|
|
* src/net/eth_drv.c (eth_drv_recv): Better cleanup when running
|
369 |
|
|
out of mbufs - could have lost mbufs before.
|
370 |
|
|
|
371 |
|
|
2001-06-21 David Woodhouse
|
372 |
|
|
|
373 |
|
|
* src/stand_alone/eth_drv.c: Timeout when waiting for Ethernet
|
374 |
|
|
driver to finish sending packet.
|
375 |
|
|
* src/stand_alone/eth_drv.c: Don't delay if it's ready immediately.
|
376 |
|
|
|
377 |
|
|
2001-06-11 Gary Thomas
|
378 |
|
|
|
379 |
|
|
* cdl/eth_drivers.cdl: Make debug default for RedBoot.
|
380 |
|
|
|
381 |
|
|
2001-05-22 Jonathan Larmour
|
382 |
|
|
|
383 |
|
|
* cdl/eth_drivers.cdl: New option: CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
|
384 |
|
|
which replaces the static define in...
|
385 |
|
|
* src/stand_alone_eth_drv.c: Rename ETH_DRV_PASS_PACKETS to
|
386 |
|
|
new CDL option above.
|
387 |
|
|
Also, ensure references to start_console/end_console are conditional
|
388 |
|
|
on CYGSEM_IO_ETH_DRIVERS_DEBUG.
|
389 |
|
|
|
390 |
|
|
2001-05-22 Hugo Tyson
|
391 |
|
|
2001-05-22 Sanjay Bisen
|
392 |
|
|
|
393 |
|
|
* src/net/eth_drv.c (eth_drv_recv): Patch from Sanjay at Ascom; it
|
394 |
|
|
leaked one mbuf if you run out of clusters. Fix is simply to
|
395 |
|
|
free m in addition to top.
|
396 |
|
|
|
397 |
|
|
* src/net/eth_drv.c (eth_drv_run_deliveries): Fixed a warning with
|
398 |
|
|
an int cast in HAL_CTRLC_CHECK().
|
399 |
|
|
|
400 |
|
|
2001-03-21 Gary Thomas
|
401 |
|
|
|
402 |
|
|
* cdl/eth_drivers.cdl: Fewer buffers needed in stand-alone mode.
|
403 |
|
|
|
404 |
|
|
2001-03-12 Hugo Tyson
|
405 |
|
|
|
406 |
|
|
* cdl/eth_drivers.cdl: Permit defines for
|
407 |
|
|
CYGPKG_IO_ETH_DRIVERS_STAND_ALONE and CYGPKG_IO_ETH_DRIVERS_NET.
|
408 |
|
|
The generic i82559 driver needs to know, unfortunately; it calls
|
409 |
|
|
its own DSR directly to unblock after a lost interrupt. And you
|
410 |
|
|
mustn't call the DSR under RedBoot == ....STAND_ALONE.
|
411 |
|
|
|
412 |
|
|
2001-01-15 Jesper Skov
|
413 |
|
|
|
414 |
|
|
* src/net/eth_drv.c (eth_drv_init): Do not use enaddr if NULL.
|
415 |
|
|
|
416 |
|
|
2001-01-07 Gary Thomas
|
417 |
|
|
|
418 |
|
|
* cdl/eth_drivers.cdl: Add interface 'CYGPKG_NET_DRIVER_FRAMEWORK'
|
419 |
|
|
to describe interdependencies between network stack and driver
|
420 |
|
|
framework packages.
|
421 |
|
|
|
422 |
|
|
2001-01-04 Gary Thomas
|
423 |
|
|
|
424 |
|
|
* src/net/eth_drv.c (eth_drv_tx_done): Update count of Tx packets.
|
425 |
|
|
|
426 |
|
|
2000-12-11 Gary Thomas
|
427 |
|
|
|
428 |
|
|
* src/net/eth_drv.c (eth_drv_run_deliveries): Support ^C when
|
429 |
|
|
using network based debug channel.
|
430 |
|
|
|
431 |
|
|
2000-12-02 Gary Thomas
|
432 |
|
|
|
433 |
|
|
* src/stand_alone/eth_drv.c (eth_drv_write): Debug: dump packet
|
434 |
|
|
before calling hardware routine for improved usability.
|
435 |
|
|
|
436 |
|
|
2000-10-30 Gary Thomas
|
437 |
|
|
|
438 |
|
|
* include/eth_drv.h: Fix compile error in stand-alone mode.
|
439 |
|
|
|
440 |
|
|
2000-10-17 Hugo Tyson
|
441 |
|
|
2000-10-10 Andrew Lunn
|
442 |
|
|
* cdl/eth_drivers.cdl: Add configury to disable the warnings about
|
443 |
|
|
out of mbufs for receives.
|
444 |
|
|
|
445 |
|
|
* src/net/eth_drv.c: The changes required for the above.
|
446 |
|
|
|
447 |
|
|
2000-09-28 Hugo Tyson
|
448 |
|
|
|
449 |
|
|
* src/net/eth_drv.c (eth_drv_run_deliveries): Remove race
|
450 |
|
|
condition; a chance to deliver could be delayed until "next time"
|
451 |
|
|
if the DSR snuck in just right.
|
452 |
|
|
|
453 |
|
|
2000-09-14 Hugo Tyson
|
454 |
|
|
|
455 |
|
|
* cdl/eth_drivers.cdl: Add configury to control new features. All
|
456 |
|
|
is controlled globally by CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES
|
457 |
|
|
which is by default off, natch.
|
458 |
|
|
|
459 |
|
|
* src/net/eth_drv.c (simulate_fail): Implement simulated failures
|
460 |
|
|
in ethernet packet delivery - independent tx and rx dropping and
|
461 |
|
|
rx packet corruption. Also a "line break" drop-all feature.
|
462 |
|
|
|
463 |
|
|
2000-09-13 Gary Thomas
|
464 |
|
|
|
465 |
|
|
* src/stand_alone/eth_drv.c: Take out noisy dump when out of buffers.
|
466 |
|
|
|
467 |
|
|
2000-09-11 Hugo Tyson
|
468 |
|
|
|
469 |
|
|
* src/stand_alone/eth_drv.c (eth_drv_write): If we timeout waiting
|
470 |
|
|
for the write to complete, do reset the vectors to point to the
|
471 |
|
|
application, rather just a bald "return".
|
472 |
|
|
|
473 |
|
|
2000-09-08 Hugo Tyson
|
474 |
|
|
|
475 |
|
|
* include/netdev.h (NETDEVTAB_ENTRY): Work around feature of new
|
476 |
|
|
version of CYG_HAL_TABLE_ENTRY() whereby no spaces are allowed.
|
477 |
|
|
|
478 |
|
|
2000-09-07 Jonathan Larmour
|
479 |
|
|
|
480 |
|
|
* include/netdev.h (cyg_netdevtab_entry_t): Correct syntax for
|
481 |
|
|
CYG_HAL_TABLE_TYPE
|
482 |
|
|
|
483 |
|
|
2000-09-04 Jonathan Larmour
|
484 |
|
|
|
485 |
|
|
* include/netdev.h (cyg_netdevtab_entry_t): Apply CYG_HAL_TABLE_TYPE
|
486 |
|
|
|
487 |
|
|
2000-09-01 Hugo Tyson
|
488 |
|
|
|
489 |
|
|
* src/stand_alone/eth_drv.c (eth_drv_dsr): New function, never
|
490 |
|
|
called but maybe referenced in stand_alone context, which lets
|
491 |
|
|
redboot work in the new world.
|
492 |
|
|
|
493 |
|
|
2000-09-01 Hugo Tyson
|
494 |
|
|
|
495 |
|
|
* OVERVIEW: This is part of the change to the network stack to
|
496 |
|
|
greatly reduce latencies both of (other) DSRs and of thread
|
497 |
|
|
scheduling. All the work that the network stack *and* individual
|
498 |
|
|
ether drivers used to do in DSRs (including alarm callbacks and
|
499 |
|
|
data copies to/from the device memory) is moved into a "fast
|
500 |
|
|
network thread" instead. It calls a device's "deliver" function
|
501 |
|
|
to do the work that was previously in the DSR. This is a separate
|
502 |
|
|
thread so that it can be set higher priority than application
|
503 |
|
|
threads in order to minimize packet loss (depending on the
|
504 |
|
|
driver), if required (the application threads presumed to be
|
505 |
|
|
higher priority in turn than the network thread). A crucial
|
506 |
|
|
consequence of this is that we are no longer locking against DSRs,
|
507 |
|
|
so a plain mutex can be used rather than the global scheduler
|
508 |
|
|
lock, thus simplifying all the splfoo/splx() style functions.
|
509 |
|
|
|
510 |
|
|
These changes WILL BREAK individual device drivers until they are
|
511 |
|
|
updated AND the standalone logical ether driver in this component,
|
512 |
|
|
until it is updated also.
|
513 |
|
|
|
514 |
|
|
* include/eth_drv.h (ETH_DRV_SC): Add "deliver" entry to struct
|
515 |
|
|
eth_hwr_funs interface record; declare available DSR and flag for
|
516 |
|
|
"needs delivery" in SC status field.
|
517 |
|
|
|
518 |
|
|
* src/net/eth_drv.c (eth_drv_run_deliveries): New function,
|
519 |
|
|
performs callbacks to deliver funcs for all devs that want it.
|
520 |
|
|
(eth_drv_dsr): New function, sets flag in sc and calls up to net
|
521 |
|
|
stack to schedule the fast network thread.
|
522 |
|
|
(eth_drv_send): No need to lock scheduler here.
|
523 |
|
|
|
524 |
|
|
2000-08-29 Gary Thomas
|
525 |
|
|
|
526 |
|
|
* src/stand_alone/eth_drv.c: Use null buffer, (char *)0,
|
527 |
|
|
instead of wasting memory - low level drivers must be designed
|
528 |
|
|
to handle this case.
|
529 |
|
|
|
530 |
|
|
2000-08-28 Gary Thomas
|
531 |
|
|
|
532 |
|
|
* src/stand_alone/eth_drv.c: Use new configuration parameters.
|
533 |
|
|
|
534 |
|
|
* cdl/eth_drivers.cdl: Add new configury to control number of
|
535 |
|
|
internal buffers used by this layer. Also exposed some of the
|
536 |
|
|
debug flags here.
|
537 |
|
|
|
538 |
|
|
2000-08-25 Hugo Tyson
|
539 |
|
|
|
540 |
|
|
* include/eth_drv_stats.h (ether_drv_stats): A little further
|
541 |
|
|
diddling; have a bool to say whether the dot3 info is filled in.
|
542 |
|
|
|
543 |
|
|
2000-08-24 Hugo Tyson
|
544 |
|
|
|
545 |
|
|
* src/net/eth_drv.c (eth_drv_ioctl): Implement ioctl() calls.
|
546 |
|
|
sockio.h numbers SIOCGIFSTATS and SIOCGIFSTATSUD map to
|
547 |
|
|
ETH_DRV_GET_IF_STATS and ETH_DRV_GET_IF_STATS_UD respectively.
|
548 |
|
|
|
549 |
|
|
* include/eth_drv.h (ETH_DRV_GET_IF_STATS_UD): Add new device
|
550 |
|
|
interface ioctl() numbers, to get the struct below filled in.
|
551 |
|
|
Also pull in the definition include file (below).
|
552 |
|
|
|
553 |
|
|
* include/eth_drv_stats.h (ether_drv_stats): New file: Define
|
554 |
|
|
common structure for ether devices to return stats info to higher
|
555 |
|
|
up, via an ioctl() call. SNMP uses this.
|
556 |
|
|
|
557 |
|
|
2000-08-23 Gary Thomas
|
558 |
|
|
|
559 |
|
|
* src/stand_alone/eth_drv.c:
|
560 |
|
|
* include/eth_drv.h: Low level drivers now need to export a
|
561 |
|
|
function which returns the interrupt vector used by that interface.
|
562 |
|
|
This allows outside code to determine this in a portable fashion.
|
563 |
|
|
|
564 |
|
|
2000-08-16 Gary Thomas
|
565 |
|
|
|
566 |
|
|
* src/stand_alone/eth_drv.c:
|
567 |
|
|
* include/eth_drv.h: Clean up warnings (better protyping).
|
568 |
|
|
|
569 |
|
|
* src/stand_alone/eth_drv.c (eth_drv_write): Abandon sending
|
570 |
|
|
packet if device goes not ready for a long time (in some cases,
|
571 |
|
|
this is the only indication that the link is down).
|
572 |
|
|
|
573 |
|
|
2000-08-07 Gary Thomas
|
574 |
|
|
|
575 |
|
|
* src/net/eth_drv.c (eth_drv_recv): Add safety in case this gets
|
576 |
|
|
called [from stand-alone code] while interface is not up.
|
577 |
|
|
|
578 |
|
|
* src/stand_alone/eth_drv.c:
|
579 |
|
|
* include/eth_drv.h: Rework to more fully support mixed stand-alone
|
580 |
|
|
and system (eCos) stacks.
|
581 |
|
|
|
582 |
|
|
2000-08-03 Gary Thomas
|
583 |
|
|
|
584 |
|
|
* cdl/eth_drivers.cdl: Reparent within I/O, not NET. This allows
|
585 |
|
|
for stand-alone use as well as support for other stack implementations.
|
586 |
|
|
|
587 |
|
|
2000-07-28 Hugo Tyson
|
588 |
|
|
|
589 |
|
|
* src/eth_drv.c (eth_drv_recv): Assert that the length we're asked
|
590 |
|
|
to deal with is at least an ether header, and also be defensive in
|
591 |
|
|
any case; discard small packets. [CASE 104206]
|
592 |
|
|
|
593 |
|
|
2000-07-26 Gary Thomas
|
594 |
|
|
|
595 |
|
|
* src/eth_drv.c:
|
596 |
|
|
* include/eth_drv.h: Change interfaces used by hardware layer to
|
597 |
|
|
be "soft" (pointers to functions). This will allow those drivers
|
598 |
|
|
to be shared by applications and the ROM/debug environment.
|
599 |
|
|
|
600 |
|
|
2000-07-15 Gary Thomas
|
601 |
|
|
|
602 |
|
|
* include/eth_drv.h: Add [initial] extensions to let this
|
603 |
|
|
layer work either in an eCos environment or stand-alone.
|
604 |
|
|
|
605 |
|
|
2000-07-11 Gary Thomas
|
606 |
|
|
|
607 |
|
|
* include/eth_drv.h: Add minimal PCMCIA support.
|
608 |
|
|
|
609 |
|
|
* src/eth_drv.c (eth_drv_netdev): New function - used to find the
|
610 |
|
|
ethernet device info for PCMCIA devices.
|
611 |
|
|
|
612 |
|
|
2000-06-23 Hugo Tyson
|
613 |
|
|
|
614 |
|
|
* src/eth_drv.c (eth_drv_send): Do not consume an SG entry for
|
615 |
|
|
zero length data; tolerate overflow of the SG. Before this, pings
|
616 |
|
|
of 6000 bytes crashed the system!
|
617 |
|
|
|
618 |
|
|
You can now set net_debug to 2 to get quieter output; 1 gives the
|
619 |
|
|
whole packet dump as before.
|
620 |
|
|
|
621 |
|
|
* include/eth_drv.h (MAX_ETH_DRV_SG): Make this 16 so that an MTU
|
622 |
|
|
made of all mbufs will not overflow.
|
623 |
|
|
|
624 |
|
|
2000-03-28 Gary Thomas
|
625 |
|
|
|
626 |
|
|
* src/eth_drv.c (eth_drv_recv): Tolerate running out of MBUFs
|
627 |
|
|
instead of "panic"ing.
|
628 |
|
|
|
629 |
|
|
2000-03-08 Gary Thomas
|
630 |
|
|
|
631 |
|
|
* src/eth_drv.c: Add some function [block] comments.
|
632 |
|
|
(eth_drv_send): Use eCos scheduler lock instead of interrupt lock.
|
633 |
|
|
|
634 |
|
|
2000-03-08 Hugo Tyson
|
635 |
|
|
|
636 |
|
|
* doc/driver_doc: Add some clarification about what's called when,
|
637 |
|
|
proofreading results, shorter lines so I can print it nicely.
|
638 |
|
|
|
639 |
|
|
2000-03-06 Gary Thomas
|
640 |
|
|
|
641 |
|
|
* src/eth_drv.c:
|
642 |
|
|
* include/eth_drv.h:
|
643 |
|
|
* doc/driver_doc: Remove generic "priv"ate references.
|
644 |
|
|
|
645 |
|
|
2000-02-29 Gary Thomas
|
646 |
|
|
|
647 |
|
|
* src/eth_drv.c:
|
648 |
|
|
* include/eth_drv.h: New expanded API for hardware drivers.
|
649 |
|
|
|
650 |
|
|
2000-02-18 Gary Thomas
|
651 |
|
|
|
652 |
|
|
* src/eth_drv.c (eth_drv_send): Disable interrupts while initiating
|
653 |
|
|
the buffer send - avoid a possible race.
|
654 |
|
|
|
655 |
|
|
2000-02-08 John Dallaway
|
656 |
|
|
|
657 |
|
|
* cdl/eth_drivers.cdl:
|
658 |
|
|
Reparent under CYGPKG_NET and tidy display strings.
|
659 |
|
|
|
660 |
|
|
//===========================================================================
|
661 |
|
|
// ####GPLCOPYRIGHTBEGIN####
|
662 |
|
|
// -------------------------------------------
|
663 |
|
|
// This file is part of eCos, the Embedded Configurable Operating System.
|
664 |
|
|
// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2009 Free Software Foundation, Inc.
|
665 |
|
|
//
|
666 |
|
|
// This program is free software; you can redistribute it and/or modify
|
667 |
|
|
// it under the terms of the GNU General Public License as published by
|
668 |
|
|
// the Free Software Foundation; either version 2 or (at your option) any
|
669 |
|
|
// later version.
|
670 |
|
|
//
|
671 |
|
|
// This program is distributed in the hope that it will be useful, but
|
672 |
|
|
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
673 |
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
674 |
|
|
// General Public License for more details.
|
675 |
|
|
//
|
676 |
|
|
// You should have received a copy of the GNU General Public License
|
677 |
|
|
// along with this program; if not, write to the
|
678 |
|
|
// Free Software Foundation, Inc., 51 Franklin Street,
|
679 |
|
|
// Fifth Floor, Boston, MA 02110-1301, USA.
|
680 |
|
|
// -------------------------------------------
|
681 |
|
|
// ####GPLCOPYRIGHTEND####
|
682 |
|
|
//===========================================================================
|
683 |
|
|
|
684 |
|
|
|
685 |
|
|
|