📄 changelog
字号:
* src/stand_alone/eth_drv.c: Timeout when waiting for Ethernet
driver to finish sending packet.
* src/stand_alone/eth_drv.c: Don't delay if it's ready immediately.
2001-06-11 Gary Thomas <gthomas@redhat.com>
* cdl/eth_drivers.cdl: Make debug default for RedBoot.
2001-05-22 Jonathan Larmour <jlarmour@redhat.com>
* cdl/eth_drivers.cdl: New option: CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
which replaces the static define in...
* src/stand_alone_eth_drv.c: Rename ETH_DRV_PASS_PACKETS to
new CDL option above.
Also, ensure references to start_console/end_console are conditional
on CYGSEM_IO_ETH_DRIVERS_DEBUG.
2001-05-22 Hugo Tyson <hmt@redhat.com>
2001-05-22 Sanjay Bisen <Sanjay.Bisen@ascom.ch>
* src/net/eth_drv.c (eth_drv_recv): Patch from Sanjay at Ascom; it
leaked one mbuf if you run out of clusters. Fix is simply to
free m in addition to top.
* src/net/eth_drv.c (eth_drv_run_deliveries): Fixed a warning with
an int cast in HAL_CTRLC_CHECK().
2001-03-21 Gary Thomas <gthomas@redhat.com>
* cdl/eth_drivers.cdl: Fewer buffers needed in stand-alone mode.
2001-03-12 Hugo Tyson <hmt@redhat.com>
* cdl/eth_drivers.cdl: Permit defines for
CYGPKG_IO_ETH_DRIVERS_STAND_ALONE and CYGPKG_IO_ETH_DRIVERS_NET.
The generic i82559 driver needs to know, unfortunately; it calls
its own DSR directly to unblock after a lost interrupt. And you
mustn't call the DSR under RedBoot == ....STAND_ALONE.
2001-01-15 Jesper Skov <jskov@redhat.com>
* src/net/eth_drv.c (eth_drv_init): Do not use enaddr if NULL.
2001-01-07 Gary Thomas <gthomas@redhat.com>
* cdl/eth_drivers.cdl: Add interface 'CYGPKG_NET_DRIVER_FRAMEWORK'
to describe interdependencies between network stack and driver
framework packages.
2001-01-04 Gary Thomas <gthomas@redhat.com>
* src/net/eth_drv.c (eth_drv_tx_done): Update count of Tx packets.
2000-12-11 Gary Thomas <gthomas@redhat.com>
* src/net/eth_drv.c (eth_drv_run_deliveries): Support ^C when
using network based debug channel.
2000-12-02 Gary Thomas <gthomas@redhat.com>
* src/stand_alone/eth_drv.c (eth_drv_write): Debug: dump packet
before calling hardware routine for improved usability.
2000-10-30 Gary Thomas <gthomas@redhat.com>
* include/eth_drv.h: Fix compile error in stand-alone mode.
2000-10-17 Hugo Tyson <hmt@redhat.com>
2000-10-10 Andrew Lunn <Andrew.Lunn@ascom.ch>
* cdl/eth_drivers.cdl: Add configury to disable the warnings about
out of mbufs for receives.
* src/net/eth_drv.c: The changes required for the above.
2000-09-28 Hugo Tyson <hmt@redhat.com>
* src/net/eth_drv.c (eth_drv_run_deliveries): Remove race
condition; a chance to deliver could be delayed until "next time"
if the DSR snuck in just right.
2000-09-14 Hugo Tyson <hmt@redhat.com>
* cdl/eth_drivers.cdl: Add configury to control new features. All
is controlled globally by CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES
which is by default off, natch.
* src/net/eth_drv.c (simulate_fail): Implement simulated failures
in ethernet packet delivery - independent tx and rx dropping and
rx packet corruption. Also a "line break" drop-all feature.
2000-09-13 Gary Thomas <gthomas@redhat.com>
* src/stand_alone/eth_drv.c: Take out noisy dump when out of buffers.
2000-09-11 Hugo Tyson <hmt@cygnus.co.uk>
* src/stand_alone/eth_drv.c (eth_drv_write): If we timeout waiting
for the write to complete, do reset the vectors to point to the
application, rather just a bald "return".
2000-09-08 Hugo Tyson <hmt@cygnus.co.uk>
* include/netdev.h (NETDEVTAB_ENTRY): Work around feature of new
version of CYG_HAL_TABLE_ENTRY() whereby no spaces are allowed.
2000-09-07 Jonathan Larmour <jlarmour@redhat.com>
* include/netdev.h (cyg_netdevtab_entry_t): Correct syntax for
CYG_HAL_TABLE_TYPE
2000-09-04 Jonathan Larmour <jlarmour@redhat.com>
* include/netdev.h (cyg_netdevtab_entry_t): Apply CYG_HAL_TABLE_TYPE
2000-09-01 Hugo Tyson <hmt@cygnus.co.uk>
* src/stand_alone/eth_drv.c (eth_drv_dsr): New function, never
called but maybe referenced in stand_alone context, which lets
redboot work in the new world.
2000-09-01 Hugo Tyson <hmt@cygnus.co.uk>
* OVERVIEW: This is part of the change to the network stack to
greatly reduce latencies both of (other) DSRs and of thread
scheduling. All the work that the network stack *and* individual
ether drivers used to do in DSRs (including alarm callbacks and
data copies to/from the device memory) is moved into a "fast
network thread" instead. It calls a device's "deliver" function
to do the work that was previously in the DSR. This is a separate
thread so that it can be set higher priority than application
threads in order to minimize packet loss (depending on the
driver), if required (the application threads presumed to be
higher priority in turn than the network thread). A crucial
consequence of this is that we are no longer locking against DSRs,
so a plain mutex can be used rather than the global scheduler
lock, thus simplifying all the splfoo/splx() style functions.
These changes WILL BREAK individual device drivers until they are
updated AND the standalone logical ether driver in this component,
until it is updated also.
* include/eth_drv.h (ETH_DRV_SC): Add "deliver" entry to struct
eth_hwr_funs interface record; declare available DSR and flag for
"needs delivery" in SC status field.
* src/net/eth_drv.c (eth_drv_run_deliveries): New function,
performs callbacks to deliver funcs for all devs that want it.
(eth_drv_dsr): New function, sets flag in sc and calls up to net
stack to schedule the fast network thread.
(eth_drv_send): No need to lock scheduler here.
2000-08-29 Gary Thomas <gthomas@redhat.com>
* src/stand_alone/eth_drv.c: Use null buffer, (char *)0,
instead of wasting memory - low level drivers must be designed
to handle this case.
2000-08-28 Gary Thomas <gthomas@redhat.com>
* src/stand_alone/eth_drv.c: Use new configuration parameters.
* cdl/eth_drivers.cdl: Add new configury to control number of
internal buffers used by this layer. Also exposed some of the
debug flags here.
2000-08-25 Hugo Tyson <hmt@cygnus.co.uk>
* include/eth_drv_stats.h (ether_drv_stats): A little further
diddling; have a bool to say whether the dot3 info is filled in.
2000-08-24 Hugo Tyson <hmt@cygnus.co.uk>
* src/net/eth_drv.c (eth_drv_ioctl): Implement ioctl() calls.
sockio.h numbers SIOCGIFSTATS and SIOCGIFSTATSUD map to
ETH_DRV_GET_IF_STATS and ETH_DRV_GET_IF_STATS_UD respectively.
* include/eth_drv.h (ETH_DRV_GET_IF_STATS_UD): Add new device
interface ioctl() numbers, to get the struct below filled in.
Also pull in the definition include file (below).
* include/eth_drv_stats.h (ether_drv_stats): New file: Define
common structure for ether devices to return stats info to higher
up, via an ioctl() call. SNMP uses this.
2000-08-23 Gary Thomas <gthomas@redhat.com>
* src/stand_alone/eth_drv.c:
* include/eth_drv.h: Low level drivers now need to export a
function which returns the interrupt vector used by that interface.
This allows outside code to determine this in a portable fashion.
2000-08-16 Gary Thomas <gthomas@redhat.com>
* src/stand_alone/eth_drv.c:
* include/eth_drv.h: Clean up warnings (better protyping).
* src/stand_alone/eth_drv.c (eth_drv_write): Abandon sending
packet if device goes not ready for a long time (in some cases,
this is the only indication that the link is down).
2000-08-07 Gary Thomas <gthomas@redhat.com>
* src/net/eth_drv.c (eth_drv_recv): Add safety in case this gets
called [from stand-alone code] while interface is not up.
* src/stand_alone/eth_drv.c:
* include/eth_drv.h: Rework to more fully support mixed stand-alone
and system (eCos) stacks.
2000-08-03 Gary Thomas <gthomas@redhat.com>
* cdl/eth_drivers.cdl: Reparent within I/O, not NET. This allows
for stand-alone use as well as support for other stack implementations.
2000-07-28 Hugo Tyson <hmt@cygnus.co.uk>
* src/eth_drv.c (eth_drv_recv): Assert that the length we're asked
to deal with is at least an ether header, and also be defensive in
any case; discard small packets. [CASE 104206]
2000-07-26 Gary Thomas <gthomas@redhat.com>
* src/eth_drv.c:
* include/eth_drv.h: Change interfaces used by hardware layer to
be "soft" (pointers to functions). This will allow those drivers
to be shared by applications and the ROM/debug environment.
2000-07-15 Gary Thomas <gthomas@redhat.com>
* include/eth_drv.h: Add [initial] extensions to let this
layer work either in an eCos environment or stand-alone.
2000-07-11 Gary Thomas <gthomas@redhat.com>
* include/eth_drv.h: Add minimal PCMCIA support.
* src/eth_drv.c (eth_drv_netdev): New function - used to find the
ethernet device info for PCMCIA devices.
2000-06-23 Hugo Tyson <hmt@cygnus.co.uk>
* src/eth_drv.c (eth_drv_send): Do not consume an SG entry for
zero length data; tolerate overflow of the SG. Before this, pings
of 6000 bytes crashed the system!
You can now set net_debug to 2 to get quieter output; 1 gives the
whole packet dump as before.
* include/eth_drv.h (MAX_ETH_DRV_SG): Make this 16 so that an MTU
made of all mbufs will not overflow.
2000-03-28 Gary Thomas <gthomas@redhat.com>
* src/eth_drv.c (eth_drv_recv): Tolerate running out of MBUFs
instead of "panic"ing.
2000-03-08 Gary Thomas <gthomas@redhat.com>
* src/eth_drv.c: Add some function [block] comments.
(eth_drv_send): Use eCos scheduler lock instead of interrupt lock.
2000-03-08 Hugo Tyson <hmt@cygnus.co.uk>
* doc/driver_doc: Add some clarification about what's called when,
proofreading results, shorter lines so I can print it nicely.
2000-03-06 Gary Thomas <gthomas@redhat.com>
* src/eth_drv.c:
* include/eth_drv.h:
* doc/driver_doc: Remove generic "priv"ate references.
2000-02-29 Gary Thomas <gthomas@cygnus.co.uk>
* src/eth_drv.c:
* include/eth_drv.h: New expanded API for hardware drivers.
2000-02-18 Gary Thomas <gthomas@cygnus.co.uk>
* src/eth_drv.c (eth_drv_send): Disable interrupts while initiating
the buffer send - avoid a possible race.
2000-02-08 John Dallaway <jld@cygnus.co.uk>
* cdl/eth_drivers.cdl:
Reparent under CYGPKG_NET and tidy display strings.
//===========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//===========================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -