summaryrefslogtreecommitdiffstats
path: root/src/drivers
Commit message (Collapse)AuthorAgeFilesLines
* [phantom] Omit an initialisation step now performed by the firmwareMichael Brown2008-09-241-2/+0Star
| | | | | | The firmware will now determine the right port mode on all cards, so the PXE driver doesn't have to set it. (Setting the port mode apparently breaks some newer cards.)
* [phantom] Fix P3 B1 silicon bug workaroundMichael Brown2008-08-271-1/+3
| | | | | | Commit f58cc3f introduced a temporary workaround for a bug in current prototype silicon, but failed to apply it to all eight PCI functions within the device.
* [phantom] Remove comment that no longer matches realityMichael Brown2008-08-261-3/+0Star
|
* [phantom] Temporary workaround for bug in prototype (P3 B1) siliconMichael Brown2008-08-262-1/+14
|
* [undi] Fill in ProtType correctly in PXENV_UNDI_ISRMichael Brown2008-08-201-21/+22
| | | | | | | | | Determine the network-layer packet type and fill it in for UNDI clients. This is required by some NBPs such as emBoot's winBoot/i. This change requires refactoring the link-layer portions of the gPXE netdevice API, so that it becomes possible to strip the link-layer header without passing the packet up the network stack.
* [virtio] Add legacy driver for KVM virtio-netStefan Hajnoczi2008-08-014-0/+723
| | | | | | | | This patch adds support for the virtio-net adapter provided by KVM. Written by Laurent Vivier <Laurent.Vivier@bull.net> for Etherboot. Wrapped as legacy driver for gPXE by Stefan Hajnoczi <stefanha@gmail.com>.
* [tg3] Added support for tg3-5754.Andrew Schran2008-07-242-25/+66
| | | | | | | In tg3_chip_reset(), the PCI_EXPRESS change is taken from the Linux tg3 driver. I am not sure what exactly it does (it is not documented in the Linux driver), but it is necessary for the NIC to work correctly.
* [phantom] Add new board typeMichael Brown2008-07-242-0/+2
|
* [phantom] Guard against partially-written status descriptorsMichael Brown2008-07-171-15/+28
| | | | | | | | | | | Conjecture: The hardware issues 64-bit DMA writes of status descriptors, which some PCI bridges seem to split into two 32-bit writes in reverse order (i.e. dword 1 first). This means that we sometimes observe a partial status descriptor. Add an explicit check to ensure that the descriptor is complete before processing it. Also ensure that the RDS consumer counter is incremented only when we know that we have actually consumed an RX descriptor.
* [forcedeth] Add support for PCI ID 10de:0373Andrew Schran2008-07-101-0/+4
|
* [hermon] Add support for MT26418 deviceMichael Brown2008-07-091-0/+1
| | | | | PCI ID supplied (and tested) by Frederic Temporelli <frederic.temporelli@bull.net>
* [phantom] Remove warning relating to now-fixed firmware bugMichael Brown2008-07-081-11/+0Star
|
* [phantom] Add NetXen dual copyrightMichael Brown2008-07-083-0/+21
|
* [phantom] Initialise RCVPEG before reading MAC addressesMichael Brown2008-07-081-4/+4
|
* [phantom] Add support for NetXen Phantom NICsMichael Brown2008-07-055-0/+3065
|
* [ns8390] Use stub files instead of src/ConfigH. Peter Anvin2008-06-304-0/+23
| | | | | | | | | | | ns8390.c can produce four different drivers (one PCI, three ISA.) The ISA driver requires setting a few macros; do that by setting defines in stub files instead of using src/Config. Currently, all the ISA drivers are broken (they were not enabled by default), so #if 0 them out. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* [tg3] Recognize the BCM5789Steven Walter2008-06-271-0/+1
| | | | | | Add an entry to tg3_nics for the BCM5789 Signed-off-by: Steven Walter <stevenrwalter@gmail.com>
* [via-rhine] Fix erroneous uses of memory I/O instead of port I/OStefan Hajnoczi2008-06-121-3/+3
|
* [libc] Fix isdigit(), islower() and isupper().Michael Brown2008-05-192-12/+6Star
| | | | From: Stefan Hajnoczi <stefanha@gmail.com>
* [tg3] Add support for tg3-5721Michael Brown2008-05-192-1/+4
| | | | | | | | | | From: Daniel Mealha Cabrita <dancab@utfpr.edu.br> I've added tg3-5721 support for gPXE, the patch (against gpxe-0.9.3) is attached to this message. This chipset is present in HP ML150 G2 servers (possibly other HP machines as well).
* [MTNIC] Minor cleanups of vendor-provided driver for Mellanox 10GigE cardsMichael Brown2008-04-222-88/+77Star
| | | | | | | | | Drivers are not allowed to call printf(). Converted eprintf() to DBG(), and removed spurious startup banner. Fixed hardcoded inclusion of little_bswap.h Use EIO rather than 1 as an error number.
* [NETDEV] Add notion of link stateMichael Brown2008-04-227-1/+37
| | | | | | | | | | | Add ability for network devices to flag link up/down state to the networking core. Autobooting code will now wait for link-up before attempting DHCP. IPoIB reflects the Infiniband link state as the network device link state (which is not strictly correct; we also need a succesful IPoIB IPv4 broadcast group join), but is probably more informative.
* [Infiniband] Fix event queue doorbell ringing on ArbelMichael Brown2008-04-222-2/+14
|
* [Infiniband] Add multiport support for Arbel cardsMichael Brown2008-04-223-18/+304
|
* [Infiniband] Move event-queue process from driver to Infiniband coreMichael Brown2008-04-213-228/+253
|
* [Hermon] Fix event queue doorbells.Michael Brown2008-04-182-24/+60
| | | | | | Event queue doorbells must use UAR pages 0-127 depending on event queue number; other doorbells must use pages 128+ (and we choose to use page 128).
* [Infiniband] Add preliminary multiple port support for Hermon cardsMichael Brown2008-04-183-100/+504
| | | | | | | | | | | | Infiniband devices no longer block waiting for link-up in register_ibdev(). Hermon driver needs to create an event queue and poll for link-up events. Infiniband core needs to reread MAD parameters when link state changes. IPoIB needs to cope with Infiniband link parameters being only partially available at probe and open time.
* [Drivers-r8169] Add support for newer rtl8169 variants from Hilko BengenMarty Connor2008-03-311-221/+360
| | | | | 03-19-2008, Hilko Bengen, Cleanups and fixes for newer cards (successfully tested with 8110SC-d onboard NIC)
* Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxeMichael Brown2008-03-223-0/+56
|\
| * ]Drivers] Update licensing for cs89x0.[ch] and cs89x0.txtMarty Connor2008-03-193-0/+56
| | | | | | | | | | Russ Nelson sent an email requesting the license change to GPL Version 2.
* | [Settings] Migrate DHCP and NVO code to the new settings API (untested)Michael Brown2008-03-212-17/+21
|/
* Merge branch 'xl0-timer'Michael Brown2008-03-1042-67/+48Star
|\
| * Modify gPXE core and drivers to work with the new timer subsystemAlexey Zaytsev2008-03-0242-67/+48Star
| | | | | | | | Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com>
* | [tg3] Added device ID for rebranded HP card.Michael Brown2008-03-061-0/+1
|/
* [Infiniband] Add preliminary support for multi-port devices.Michael Brown2008-02-275-101/+153
| | | | | | | | | | Arbel and Hermon cards both have multiple ports. Add the infrastructure required to register each port as a separate IB device. Don't yet register more than one port, since registration will currently fail unless a valid link is detected. Use ib_*_{set,get}_{drv,owner}data wrappers to access driver- and owner-private data on Infiniband structures.
* [Infiniband] Centralise MAD operationsMichael Brown2008-02-262-543/+207Star
| | | | | | | | | Pull out common code for handling management datagrams from arbel.c and hermon.c into infiniband.c. Add port number to struct ib_device. Add open(), close() and mad() methods to struct ib_device_operations.
* [Hermon] Donate joint copyright on Hermon driver to Mellanox.Michael Brown2008-02-231-4/+2Star
|
* [Hermon] Add driver for Mellanox Hermon (ConnectX) cards.Michael Brown2008-02-233-0/+5940
|
* Added mtnic driver provided by Mellanox.Michael Brown2008-02-132-0/+2474
| | | | Stripped out trailing whitespace to keep git happy.
* 3c90x driver fix (legacy) from Geert StaapersMarty Connor2007-12-201-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | From: Geert Stappers <stappers@stappers.nl> To: etherboot-developers@lists.sourceforge.net Subject: [Etherboot-developers] 3c90x polling again [patch] Date: Thu, 29 Nov 2007 09:22:36 +0100 User-Agent: Mutt/1.5.16 (2007-06-11) Hello, gPXE didn't work on 3COM 905C Tornado cards for me. It did transmit the DHCP request, but it didn't see the DHCP offer. Adding debug print statements allready solved the problem. Attached is a patch that has a cleaner delay then print statements. The core of it is - for(i=0;i<40000;i++); + mdelay(1); There was no research if the change is about a longer delay or about code NOT being optimized away. It works for me :-) Cheers Geert Stappers
* Fix e1000 receive tail pointer (RDT) handlingMarty Connor2007-12-172-7/+7
| | | | e1000 should now work in VMware.
* Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxeMichael Brown2007-12-1530-51/+238
|\
| * Correct e1000 interrupt routine to enable on 1 disable on 0. duh.Marty Connor2007-12-131-2/+2
| | | | | | | | | | | | The e1000_irq() routine should (per mcb30) do enable on non-zero, disable on zero. This is not consistent in all drivers, so I'll wait to update it when doing a global sweep.
| * Remove *_fill_nic() calls, and directly set nic->ioaddr and nic->irqno .Marty Connor2007-12-1329-49/+236
| | | | | | | | | | | | | | | | | | | | This needs to be done manually because if the irq() routine is implemented then we want something like "nic->irqno = pci->irqno;", else we do "nic->irqno = 0;" nic->ioaddr may also need to be set carefully. Also added local variables to end of many files, for emacs indentation to match kernel style (tab does 8 space indent).
* | Overwrite the device descriptor's IRQ number with whatever the legacyMichael Brown2007-12-151-0/+8
|/ | | | | | | | driver's probe() routine fills in in nic->irqno. This is so that non-interrupt-capable legacy drivers which set nic->irqno=0 will end up reporting IRQ#0 via PXENV_UNDI_GET_INFORMATION; this in turn means that the calling PXE NBP will (should) hook the timer interrupt, and everything will sort of work.
* Fix compiler warnings that appear only on OpenBSD.Michael Brown2007-12-062-4/+4
|
* Various warnings fixups for OpenBSD with gcc-3.3.5.Michael Brown2007-12-075-5/+5
|
* Fix prototype mismatch.Michael Brown2007-12-071-2/+2
|
* Add copyright, clean up comments a bit, remove unnecessary code.Marty Connor2007-12-031-178/+102Star
| | | | Cleanups for e1000.c.
* Added netdev_nullify to natsemi_remove()Marty Connor2007-11-211-0/+1
|