1 2006-03-26 Uwe Kindler <uwe_kindler@web.de>
3 * src/lwip/eth_drv.c Add call to lwip_dhcp_init() for
4 start of DHCP client. Fixed ecosif_output() for
7 2006-01-18 Gary Thomas <gary@mlbassoc.com>
9 * src/net/eth_drv.c (eth_drv_send): Better check for overflow
10 of SG list - pointed out by Ferenc Deak
12 2005-07-29 Andrew Lunn <andrew.lunn@ascom.ch>
14 * src/net/eth_drv.c (eth_drv_recv): Change of type to remove
17 2005-06-29 Andrew Lunn <andrew.lunn@ascom.ch>
19 * doc/driver_doc: Removed, it has been superseded by the sgml
22 2005-03-27 Andrew Lunn <andrew.lunn@ascom.ch>
24 * src/net/eth_drv.c (eth_drv_send): Fixed a compiler warning about
25 type of parameter passed to diag_printf.
27 2004-08-06 Jani Monoses <jani@iv.ro>
29 * src/stand_alone/eth_drv.c: Add parantheses to fix operator
30 precedence bugs even though they were harmless in practice.
32 2004-01-09 Jani Monoses <jani@iv.ro>
35 * src/lwip/eth_drv.c: Update to support more than one device and
36 be in sync with current lwip code.
38 2004-01-05 Gary Thomas <gary@mlbassoc.com>
40 * src/net/eth_drv.c: Names of FLASH config types changed.
42 2003-10-09 Gary Thomas <gary@mlbassoc.com>
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
47 2003-08-19 Gary Thomas <gary@mlbassoc.com>
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.
53 2003-07-23 Nick Garnett <nickg@balti.calivar.com>
57 Added an ifndef to fix warnings about NBPFILTER not being
60 2003-03-20 Mark Salter <msalter@redhat.com>
62 * cdl/eth_drivers.cdl (CYGHWR_NET_DRIVERS): Moved here from net/common.
64 2003-03-14 Nick Garnett <nickg@calivar.com>
66 * src/net/eth_drv.c: Added calls to cyg_net_show_mbufs() whenever
67 we see an out-of-mbufs problem.
69 2003-03-11 Mark Salter <msalter@redhat.com>
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.
75 2003-02-24 Jonathan Larmour <jifl@eCosCentric.com>
77 * cdl/eth_drivers.cdl: Add doc link.
79 2003-02-07 Jonathan Larmour <jifl@eCosCentric.com>
81 * src/net/eth_drv.c: If driver can't set multi-cast, indicate it's
84 2002-08-14 Gary Thomas <gthomas@ecoscentric.com>
86 * cdl/eth_drivers.cdl: CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE
87 needs to be global (used by all drivers, not just NET).
89 2002-08-13 Gary Thomas <gthomas@ecoscentric.com>
91 * src/net/eth_drv.c (eth_drv_send): Print a better message
92 if the scatter-gather list overflows.
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.
99 2002-07-31 Gary Thomas <gary@chez-thomas.org>
101 * src/net/eth_drv.c (eth_drv_start): Fix compile error when
102 built with old stack (no multicast) - introduced below.
104 2002-07-26 Gary Thomas <gary@chez-thomas.org>
105 2002-07-26 Ken Cox <jkc@redhat.com>
107 * src/net/eth_drv.c (eth_drv_start): Force multicast address
108 setup any time chip is reset/reconfigured.
110 2002-05-30 Jonathan Larmour <jlarmour@redhat.com>
112 * cdl/eth_drivers.cdl: Provide CYGINT_IO_ETH_INT_SUPPORT_REQUIRED
113 interface to indicate if interrupt support is required.
115 2002-05-28 Jonathan Larmour <jlarmour@redhat.com>
117 * src/lwip/lw.diff: Remove. Obsolete.
119 2002-05-13 Jesper Skov <jskov@redhat.com>
121 * cdl/eth_drivers.cdl: Moved the package's header files to
122 cyg/io/eth to clean up the include root directory.
124 2002-04-30 Jonathan Larmour <jlarmour@redhat.com>
126 * src/lwip/eth_drv.c: Update from Jani Monoses.
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.
133 2002-04-10 Gary Thomas <gthomas@redhat.com>
135 * src/net/eth_drv.c: Only pass mutlicast addresses down to drivers.
137 2002-04-05 Jani Monoses <jani@iv.ro>
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.
144 2002-03-09 Gary Thomas <gthomas@redhat.com>
146 * src/net/eth_drv.c: Select 'multicast_all' if too many addresses
147 are required. Also, ignore any non-multicast addresses.
149 2002-02-22 Hugo Tyson <hmt@redhat.com>
151 * doc/ethdrv.sgml: New file. SGML-ized the existing driver-doc
152 file and brought the information up to date with deliver functions
155 2002-02-18 Gary Thomas <gthomas@redhat.com>
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.
161 2002-02-15 Gary Thomas <gthomas@redhat.com>
164 * include/eth_drv.h: Add framework for multicast address support.
166 2002-01-30 Hugo Tyson <hmt@redhat.com>
168 * cdl/eth_drivers.cdl (CYGPKG_IO_ETH_DRIVERS_WARN_FORCE_CONSOLE):
169 CDL options removed; control is now from RedBoot.
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.
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.
180 2002-01-28 Gary Thomas <gthomas@redhat.com>
182 * src/net/eth_drv.c (eth_drv_init): Changes for supporting new
183 FreeBSD based stack (minor API changes internal to that stack).
185 2001-12-12 Hugo Tyson <hmt@redhat.com>
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
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.
200 2001-12-12 Hugo Tyson <hmt@redhat.com>
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.
212 2001-12-04 Richard Sandiford <rsandifo@redhat.com>
214 * src/stand_alone/eth_drv.c (eth_drv_read): Check that the return
215 buffer is big enough to hold the packet.
217 2001-11-28 Jonathan Larmour <jlarmour@redhat.com>
219 * doc/driver_doc: Mention preferences on how the ESA should be set.
221 2001-10-30 Jonathan Larmour <jlarmour@redhat.com>
223 * doc/driver_doc: Add description of poll, deliver and int_vector
226 2001-10-29 Hugo Tyson <hmt@redhat.com>
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.
239 2001-10-18 Jonathan Larmour <jlarmour@redhat.com>
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.
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
251 * src/stand_alone/eth_drv.c: Use above renamed CDL options.
253 2001-10-11 Gary Thomas <gthomas@redhat.com>
255 * src/stand_alone/eth_drv.c (eth_drv_recv):
256 Defensive programming - insure valid packet size.
258 2001-10-05 Jonathan Larmour <jlarmour@redhat.com>
260 * src/net/eth_drv.c: Add default implementation of min().
262 2001-09-26 Jesper Skov <jskov@redhat.com>
264 * cdl/eth_drivers.cdl: Require the string functions.
266 * src/stand_alone/eth_drv.c: Fix warnings.
268 2001-09-25 Hugo Tyson <hmt@redhat.com>
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.
274 2001-09-13 Hugo Tyson <hmt@redhat.com>
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.
283 2001-09-05 Gary Thomas <gthomas@redhat.com>
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.
290 2001-08-31 Hugo Tyson <hmt@redhat.com>
291 2001-08-31 Andrew Lunn <Andrew.Lunn@ascom.ch>
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.
298 2001-08-22 Gary Thomas <gthomas@redhat.com>
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.
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).
308 2001-08-20 Jonathan Larmour <jlarmour@redhat.com>
310 * src/net/eth_drv.c (eth_drv_send): Move endif location to fix build
313 2001-08-17 Jonathan Larmour <jlarmour@redhat.com>
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.
319 2001-08-14 Gary Thomas <gthomas@redhat.com>
321 * src/stand_alone/eth_drv.c (eth_drv_write):
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
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
337 2001-08-09 Hugo Tyson <hmt@redhat.com>
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().
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().
353 2001-07-03 Gary Thomas <gthomas@redhat.com>
355 * src/net/eth_drv.c (eth_drv_recv): Better cleanup when running
356 out of mbufs - could have lost mbufs before.
358 2001-06-21 David Woodhouse <dwmw2@redhat.com>
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.
364 2001-06-11 Gary Thomas <gthomas@redhat.com>
366 * cdl/eth_drivers.cdl: Make debug default for RedBoot.
368 2001-05-22 Jonathan Larmour <jlarmour@redhat.com>
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.
377 2001-05-22 Hugo Tyson <hmt@redhat.com>
378 2001-05-22 Sanjay Bisen <Sanjay.Bisen@ascom.ch>
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.
384 * src/net/eth_drv.c (eth_drv_run_deliveries): Fixed a warning with
385 an int cast in HAL_CTRLC_CHECK().
387 2001-03-21 Gary Thomas <gthomas@redhat.com>
389 * cdl/eth_drivers.cdl: Fewer buffers needed in stand-alone mode.
391 2001-03-12 Hugo Tyson <hmt@redhat.com>
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.
399 2001-01-15 Jesper Skov <jskov@redhat.com>
401 * src/net/eth_drv.c (eth_drv_init): Do not use enaddr if NULL.
403 2001-01-07 Gary Thomas <gthomas@redhat.com>
405 * cdl/eth_drivers.cdl: Add interface 'CYGPKG_NET_DRIVER_FRAMEWORK'
406 to describe interdependencies between network stack and driver
409 2001-01-04 Gary Thomas <gthomas@redhat.com>
411 * src/net/eth_drv.c (eth_drv_tx_done): Update count of Tx packets.
413 2000-12-11 Gary Thomas <gthomas@redhat.com>
415 * src/net/eth_drv.c (eth_drv_run_deliveries): Support ^C when
416 using network based debug channel.
418 2000-12-02 Gary Thomas <gthomas@redhat.com>
420 * src/stand_alone/eth_drv.c (eth_drv_write): Debug: dump packet
421 before calling hardware routine for improved usability.
423 2000-10-30 Gary Thomas <gthomas@redhat.com>
425 * include/eth_drv.h: Fix compile error in stand-alone mode.
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.
432 * src/net/eth_drv.c: The changes required for the above.
434 2000-09-28 Hugo Tyson <hmt@redhat.com>
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.
440 2000-09-14 Hugo Tyson <hmt@redhat.com>
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.
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.
450 2000-09-13 Gary Thomas <gthomas@redhat.com>
452 * src/stand_alone/eth_drv.c: Take out noisy dump when out of buffers.
454 2000-09-11 Hugo Tyson <hmt@cygnus.co.uk>
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".
460 2000-09-08 Hugo Tyson <hmt@cygnus.co.uk>
462 * include/netdev.h (NETDEVTAB_ENTRY): Work around feature of new
463 version of CYG_HAL_TABLE_ENTRY() whereby no spaces are allowed.
465 2000-09-07 Jonathan Larmour <jlarmour@redhat.com>
467 * include/netdev.h (cyg_netdevtab_entry_t): Correct syntax for
470 2000-09-04 Jonathan Larmour <jlarmour@redhat.com>
472 * include/netdev.h (cyg_netdevtab_entry_t): Apply CYG_HAL_TABLE_TYPE
474 2000-09-01 Hugo Tyson <hmt@cygnus.co.uk>
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.
480 2000-09-01 Hugo Tyson <hmt@cygnus.co.uk>
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.
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.
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.
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.
511 2000-08-29 Gary Thomas <gthomas@redhat.com>
513 * src/stand_alone/eth_drv.c: Use null buffer, (char *)0,
514 instead of wasting memory - low level drivers must be designed
517 2000-08-28 Gary Thomas <gthomas@redhat.com>
519 * src/stand_alone/eth_drv.c: Use new configuration parameters.
521 * cdl/eth_drivers.cdl: Add new configury to control number of
522 internal buffers used by this layer. Also exposed some of the
525 2000-08-25 Hugo Tyson <hmt@cygnus.co.uk>
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.
530 2000-08-24 Hugo Tyson <hmt@cygnus.co.uk>
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.
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).
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.
544 2000-08-23 Gary Thomas <gthomas@redhat.com>
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.
551 2000-08-16 Gary Thomas <gthomas@redhat.com>
553 * src/stand_alone/eth_drv.c:
554 * include/eth_drv.h: Clean up warnings (better protyping).
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).
560 2000-08-07 Gary Thomas <gthomas@redhat.com>
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.
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.
569 2000-08-03 Gary Thomas <gthomas@redhat.com>
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.
574 2000-07-28 Hugo Tyson <hmt@cygnus.co.uk>
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]
580 2000-07-26 Gary Thomas <gthomas@redhat.com>
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.
587 2000-07-15 Gary Thomas <gthomas@redhat.com>
589 * include/eth_drv.h: Add [initial] extensions to let this
590 layer work either in an eCos environment or stand-alone.
592 2000-07-11 Gary Thomas <gthomas@redhat.com>
594 * include/eth_drv.h: Add minimal PCMCIA support.
596 * src/eth_drv.c (eth_drv_netdev): New function - used to find the
597 ethernet device info for PCMCIA devices.
599 2000-06-23 Hugo Tyson <hmt@cygnus.co.uk>
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!
605 You can now set net_debug to 2 to get quieter output; 1 gives the
606 whole packet dump as before.
608 * include/eth_drv.h (MAX_ETH_DRV_SG): Make this 16 so that an MTU
609 made of all mbufs will not overflow.
611 2000-03-28 Gary Thomas <gthomas@redhat.com>
613 * src/eth_drv.c (eth_drv_recv): Tolerate running out of MBUFs
614 instead of "panic"ing.
616 2000-03-08 Gary Thomas <gthomas@redhat.com>
618 * src/eth_drv.c: Add some function [block] comments.
619 (eth_drv_send): Use eCos scheduler lock instead of interrupt lock.
621 2000-03-08 Hugo Tyson <hmt@cygnus.co.uk>
623 * doc/driver_doc: Add some clarification about what's called when,
624 proofreading results, shorter lines so I can print it nicely.
626 2000-03-06 Gary Thomas <gthomas@redhat.com>
630 * doc/driver_doc: Remove generic "priv"ate references.
632 2000-02-29 Gary Thomas <gthomas@cygnus.co.uk>
635 * include/eth_drv.h: New expanded API for hardware drivers.
637 2000-02-18 Gary Thomas <gthomas@cygnus.co.uk>
639 * src/eth_drv.c (eth_drv_send): Disable interrupts while initiating
640 the buffer send - avoid a possible race.
642 2000-02-08 John Dallaway <jld@cygnus.co.uk>
644 * cdl/eth_drivers.cdl:
645 Reparent under CYGPKG_NET and tidy display strings.
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.
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.
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
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.
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.
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.
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 //===========================================================================