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