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