📄 changelog
字号:
2000-06-06 Hugo Tyson <hmt@cygnus.co.uk> * cdl/ebsa285_eth_drivers.cdl (define_proc): Add #define of CYGDAT_DEVS_ETH_DESCRIPTION in the config file for information.2000-05-12 Hugo Tyson <hmt@cygnus.co.uk> * tests/test_net_realtime.h (tnr_print_activity): New routine to check the system is working, tidied up the API. It works!2000-05-11 Hugo Tyson <hmt@cygnus.co.uk> * cdl/ebsa285_eth_drivers.cdl: Added export of the test header below, and config opts for controlling EEPROM writing and all the status chatter as the device starts up. * src/if_ebsa285.c: Reworked the code for reading and setting the EEPROM that holds the MAC address. This is very ugly, but now more reliable. Also tidied up printing cruft with neater configury, and made it an option (for safety) whether it's possible to write the EEPROM at all. * tests/test_net_realtime.h: New file - it is intended to be used by networking tests to verify that latency is not compromised by the stack and driver. It's very platform specific, hence the location in here. This is a preliminary version only.2000-04-27 Hugo Tyson <hmt@cygnus.co.uk> * src/if_ebsa285.c: A serious re-write. This cuts out a lot of code from the old version and improves the performance greatly. The cruft was mainly doing lots of explicit event communication between the ISR and DSR, when in fact all the state needed is present in the tx/rx rings. So both ISRs and DSRs regard their call as an opportunity to progress everything they can, rather than only dealing with one interrupt cause at a time; the connection between them is now rather looser. Interrups can now be re-enabled after the ISR (in other words they are not masked in the ISR), no need to wait for the DSR, but in consequence some DSR code must mask/unmask intrs as it works. The 82559 appears to be a little slow in reacting to commands and state changes, so some interrupts were being lost - or persisting beyond their desired life - so there's some kinda polling code to deal with that also. We also rely on the foreground to kind of poll in the same way, in the send/can_send calls - we know the stack will re-try if necessary, though this is rare. The driver now works (albeit at much reduced performance) with as few as 6 rx and tx buffers - in other words the "queue full/out of rx buffers" states have been tested and all is well. It works generally fine with 8 buffers of each kind. The mux ISR and DSR are now rather more polled than the old versions; we just try to do things with both devices (if active) by simply calling each unitary ISR/DSR respectively. I also re-ordered some of the code, moving utilities to the end of the file and grouping together Tx and Rx machines a bit better.2000-04-13 Hugo Tyson <hmt@cygnus.co.uk> * src/if_ebsa285.c: Attribution to Ron Spence, Pacific Softworks added as a contributor.2000-04-07 Hugo Tyson <hmt@cygnus.co.uk> * ecos.db: Re-organize device packages. This is a massive change involving deleting all the sources for serial and ethernet drivers from where they used to live in packages/io/serial/current/src/ARCH/PLATFORM.[ch] packages/net/drivers/eth/PLATFORM/current/src/... and reinstating them in packages/devs/serial/ARCH/PLATFORM/current/src/... packages/devs/eth/ARCH/PLATFORM/current/src/... All these new packages are properly defined in ecos.db, and are all of type "hardware" so that a "target" can grab them. This directory layout is descriptive of the devices we have right now, arch and platform are separate levels just to make it easier to navigate in the filesystem and similar to the HAL structure in the filesystem. It is *not* prescriptive of future work; for example, the mythical common highly-portable 16550 serial driver which works on many targets would be called "devs/serial/s16550/current", or a serial device for a particular board (cogent springs to mind) that can work with different CPUs fitted is "devs/serial/cogent/current". Changelogs have been preserved and replicated over all the new packages, so that no history is lost. The contents of individual source files are unchanged; they build in just the same emvironment except for a very few cases where the config file name changed in this movement. Targets in ecos.db have been redefined to bring in all relevant hardware packages including net and serial drivers (but the newly included packages are only active if their desired parent is available.) The names of CDL options (and their #defines of course) stay the same for the serial drivers, for backward compatibility. * templates/*/current.ect: these have had CYGPKG_IO_SERIAL added rather than it being in (almost) all target definitions. 2000-03-29 Hugo Tyson <hmt@cygnus.co.uk> * src/if_ebsa285.c (i82559_recv): Be happy with NULLs in the SGlist; it means the caller is out of memory so drop the packet on the floor. Also remove a completely redundant test.2000-03-06 Hugo Tyson <hmt@cygnus.co.uk> * src/if_ebsa285.c (i82559_can_send): Update net driver to new interface style. This is incomplete wrt promiscuous mode, but that's probably about all.2000-02-14 Gary Thomas <gthomas@cygnus.co.uk> * cdl/ebsa285_eth_drivers.cdl: Update CDL to indicate multiple interface support.2000-02-14 Hugo Tyson <hmt@cygnus.co.uk> * src/if_ebsa285.c (pci_init_find_82559s): Tidy comments somewhat and set debug and stats collecting defines to most friendly settings.2000-02-10 Hugo Tyson <hmt@cygnus.co.uk> * src/if_ebsa285.c (PacketRxReady): Fix bug; current descriptor was not being write back for the callback to use. Hence asserts on state of rfd were firing in busy times - that leading rfd had already been drained. Also rationalized meaning of DEBUG printy symbols a bit - it's now chatty during startup/foreground manipulations but not in any performance related activities ie. rx or tx.2000-02-09 John Dallaway <jld@cygnus.co.uk> * cdl/ebsa285_eth_drivers.cdl: Reparent under CYGPKG_NET_ETH_DRIVERS and tidy display strings.2000-02-08 Hugo Tyson <hmt@cygnus.co.uk> * src/if_ebsa285.c: New File. * cdl/ebsa285_eth_drivers.cdl: New File. Initial Checkin of EBSA285 Ethernet driver. It's one monolithic file at present, and should be split up into a more generic Intel 82559 driver plus platform-specific parts (PCI et al) plus eCos/Red-Hat-BSD-stack parts. //===========================================================================//####COPYRIGHTBEGIN####// // ------------------------------------------- // The contents of this file are subject to the Red Hat eCos Public License // Version 1.1 (the "License"); you may not use this file except in // compliance with the License. You may obtain a copy of the License at // http://www.redhat.com/ // // Software distributed under the License is distributed on an "AS IS" // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the // License for the specific language governing rights and limitations under // the License. // // The Original Code is eCos - Embedded Configurable Operating System, // released September 30, 1998. // // The Initial Developer of the Original Code is Red Hat. // Portions created by Red Hat are // Copyright (C) 1998, 1999, 2000 Red Hat, Inc. // All Rights Reserved. // ------------------------------------------- // //####COPYRIGHTEND####//===========================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -