summaryrefslogtreecommitdiffstats
path: root/src/drivers/net
Commit message (Collapse)AuthorAgeFilesLines
...
* [realtek] Replace driver for Realtek Gigabit NICsMichael Brown2012-04-184-2718/+984Star
| | | | | | | Tested-by: Thomas Miletich <thomas.miletich@gmail.com> Debugged-by: Thomas Miletich <thomas.miletich@gmail.com> Tested-by: Robin Smidsrød <robin@smidsrod.no> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [mii] Add generic MII reset functionMichael Brown2012-04-181-0/+85
| | | | | | | | | iPXE provides no support for manually configuring the link speed. Provide a generic routine which should be able to reset any MII/GMII PHY and enable autonegotiation. Prototyped-by: Thomas Miletich <thomas.miletich@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [mii] Synchronise constants with current Linux include/linux/mii.hMichael Brown2012-04-181-1/+0Star
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [igbvf] Add i350 virtual function supportErik Jacobson2012-04-102-1/+3
| | | | | Modified-by: Michael Brown <mcb30@ipxe.org> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [e1000e] Basic 82579 supportDaniel Hokka Zakrisson2012-04-107-15/+67
| | | | | | | | | Add support for 82579-based chips such as those found on Sandy Bridge motherboards. Based on d3738bb8203acf8552c3ec8b3447133fc0938ddd in Linux. Signed-off-by: Daniel Hokka Zakrisson <daniel@hozac.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [console] Move putchar() and getchar() declarations to stdio.hMichael Brown2012-03-265-5/+1Star
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [myri10ge] Fix compilation error in myri10ge_command() with gcc 4.7Olaf Hering2012-03-162-4/+4
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [eepro100] Add PCI ID 8086:10fe1d 2k2012-03-141-0/+1
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [forcedeth] Use standard random() functionMichael Brown2012-03-131-2/+1Star
| | | | | | | It seems unlikely that a network card driver requires cryptographically secure random numbers. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [ath9k] Fix compilation on older gcc versionsMichael Brown2012-03-092-3/+2Star
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [snpnet] Give up entirely on the transmit queueJarrod Johnson2012-02-121-32/+13Star
| | | | | | | | Practically speaking, it seems the convention is to only have one packet pending and not rely upon any mechanism to associate returned txbuf with txqueue. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [tg3] Remove tg3_calc_dma_bndry()Thomas Miletich2012-02-103-29/+6Star
| | | | | | | | | | This function never did much in this driver anyway, and after commit b5ed30b2 ("[tg3] Fix compilation on newer gcc versions") it became apparent that its remaining functionality could be easily moved to tg3_test_dma(). Signed-off-by: Thomas Miletich <thomas.miletich@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [tg3] Fix compilation on newer gcc versionsChristian Hesse2012-02-093-13/+2Star
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [tg3] New tg3 driverThomas Miletich2012-01-315-3905/+7000
| | | | | | | | | Replace the old Etherboot tg3 driver with a more up-to-date driver using the iPXE API. Signed-off-by: Thomas Miletich <thomas.miletich@gmail.com> Modified-by: Michael Brown <mcb30@ipxe.org> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [vmxnet3] Add VMware vmxnet3 driverMichael Brown2012-01-072-0/+1166
| | | | | Reviewed-by: Pete Holland <pholland27@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [e1000e] Strip the Ethernet CRC from received packetsMichael Brown2011-12-081-1/+1
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [e1000] Request notification of TX completionsMichael Brown2011-12-061-1/+1
| | | | | | | | | | | | | | | | | | | The RS bit is used to instruct the NIC to update the TX descriptor status byte. The RPS bit is used to instruct the NIC to defer this update until after the packet has been transmitted on the wire (rather than merely read into the transmit FIFO). The driver currently sets RPS but not RS. Some e1000 models seem to interpret this as implying that the status byte should be updated; some don't. On the ones that don't, we never see any TX completions and so rapidly run out of TX buffers. Fix by setting the RS bit in the TX descriptor. (We don't care about when the packet reaches the wire, so don't bother setting the RPS bit.) Reported-by: Miroslav Halas <miroslav.halas@bankofamerica.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [ipoib] Report packets as broadcast when ambiguousMichael Brown2011-11-151-8/+13
| | | | | | | Avoid spurious matches for peer key 0 against empty peer cache entries, and set the LL_MULTICAST flag in addition to LL_BROADCAST. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [rtl8139] Perform only 8-bit ioport access on the ChipCmd registerJulian Pidancet2011-11-141-1/+1
| | | | | | | | | The ChipCmd register is only an 8-bit register. The 16-bit access used by iPXE was causing an issue when used with qemu emulated rtl8139 device which was improperly aligning IOs. Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [ath9k] Add ath9k driverScott K Logan2011-10-1472-0/+43176
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [netdevice] Allow link layer to report broadcast/multicast packets via pull()Michael Brown2011-07-151-1/+4
| | | | | | | | Allow the link layer to directly report whether or not a packet is multicast or broadcast at the time of calling pull(), rather than relying on heuristics to determine this at a later stage. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [igb] Remove __BIG_ENDIAN conditionalThomas Miletich2011-07-151-5/+0Star
| | | | | | Reported-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Thomas Miletich <thomas.miletich@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [forcedeth] Ensure that IRQ line is deasserted when disabling interruptsMichael Brown2011-05-041-3/+2Star
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [forcedeth] Never change the NVREG_TRANSMITPOLL_MAC_ADDR_REV flagMichael Brown2011-03-301-5/+0Star
| | | | | | | | | | | iPXE operates the forcedeth NIC in promiscuous mode, and never changes the unicast MAC address filter registers. We should not therefore set the flag indicating (to other drivers loaded later) that the MAC address order has already been corrected. Reported-by: Tal Aloni <tal.aloni.il@gmail.com> Tested-by: Tal Aloni <tal.aloni.il@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [forcedeth] Remove software unicast MAC address filterMichael Brown2011-03-291-9/+2Star
| | | | | | | | | | | | | | | | | | | The forcedeth driver currently implements unicast MAC address filtering in software. This is almost invariably the wrong thing to do (since the network stack must already be able to cope with unwanted packets) and it breaks FCoE (which requires the card to operate in promiscuous mode). Also, the implementation is buggy: is_local_ether_addr() is used to check for a locally-assigned Ethernet address (not to check for a unicast address), and the current link-layer address is in netdev->ll_addr, not netdev->hw_addr. Fix by removing this code. Reported-by: Tal Aloni <tal.aloni.il@gmail.com> Tested-by: Tal Aloni <tal.aloni.il@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [forcedeth] Avoid unused-but-set variable warning in gcc 4.6Thomas Miletich2011-03-281-3/+2Star
| | | | | | | | | Avoid unused-but-set variable warning in gcc 4.6 which was introduced by commit 9215b7f ("[forcedeth] Clear the MII link status register on link status changes"). Signed-off-by: Thomas Miletich <thomas.miletich@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [settings] Formalise notion of setting applicabilityMichael Brown2011-03-221-4/+21
| | | | | | | | | | | | | | | Expose a function setting_applies() to allow a caller to determine whether or not a particular setting is applicable to a particular settings block. Restrict DHCP-backed settings blocks to accepting only DHCP-based settings. Restrict network device settings blocks to accepting only DHCP-based settings and network device-specific settings such as "mac". Inspired-by: Glenn Brown <glenn@myri.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [forcedeth] Clear the MII link status register on link status changesYann Cézard2011-03-201-0/+6
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [vxge] Avoid unused variable warning in gcc 4.6Michael Brown2011-03-162-11/+1Star
| | | | | | Reported-by: Ralph Giles <giles@thaumas.net> Tested-by: Ralph Giles <giles@thaumas.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [ath5k] Avoid unused variable warning in gcc 4.6Michael Brown2011-03-163-12/+1Star
| | | | | | Reported-by: Ralph Giles <giles@thaumas.net> Tested-by: Ralph Giles <giles@thaumas.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [eepro] Avoid unused variable warning in gcc 4.6Michael Brown2011-03-161-0/+1
| | | | | | | | | | From a cursory examination, it appears as though the calculation of tx_available is redundant, since eepro_transmit() waits for transmit completion before returning anyway. Reported-by: Ralph Giles <giles@thaumas.net> Tested-by: Ralph Giles <giles@thaumas.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [w89c840] Avoid unused variable warning in gcc 4.6Michael Brown2011-03-161-2/+2
| | | | | | Reported-by: Ralph Giles <giles@thaumas.net> Tested-by: Ralph Giles <giles@thaumas.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [smc9000] Avoid unused variable warning in gcc 4.6Michael Brown2011-03-161-3/+0Star
| | | | | | Reported-by: Ralph Giles <giles@thaumas.net> Tested-by: Ralph Giles <giles@thaumas.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [etherfabric] Avoid unused variable warning in gcc 4.6Michael Brown2011-03-161-6/+1Star
| | | | | | Reported-by: Ralph Giles <giles@thaumas.net> Tested-by: Ralph Giles <giles@thaumas.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [sis190] Avoid unused variable warning in gcc 4.6Michael Brown2011-03-161-2/+0Star
| | | | | | Reported-by: Ralph Giles <giles@thaumas.net> Tested-by: Ralph Giles <giles@thaumas.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [epic100] Avoid unused variable warning in gcc 4.6Michael Brown2011-03-161-2/+0Star
| | | | | | Reported-by: Ralph Giles <giles@thaumas.net> Tested-by: Ralph Giles <giles@thaumas.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [sky2] Avoid unused variable warning in gcc 4.6Michael Brown2011-03-161-5/+0Star
| | | | | | Reported-by: Ralph Giles <giles@thaumas.net> Tested-by: Ralph Giles <giles@thaumas.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [forcedeth] Avoid unused variable warning in gcc 4.6Michael Brown2011-03-161-2/+2
| | | | | | Reported-by: Ralph Giles <giles@thaumas.net> Tested-by: Ralph Giles <giles@thaumas.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [ns83820] Update to standard debugging infrastructureMichael Brown2011-03-161-26/+19Star
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [atl1e] Avoid unused variable warning in gcc 4.6Michael Brown2011-03-161-5/+1Star
| | | | | | Reported-by: Ralph Giles <giles@thaumas.net> Tested-by: Ralph Giles <giles@thaumas.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [via-velocity] Avoid unused variable warning in gcc 4.6Michael Brown2011-03-161-16/+1Star
| | | | | | Reported-by: Ralph Giles <giles@thaumas.net> Tested-by: Ralph Giles <giles@thaumas.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [sis900] Avoid unused variable warning in gcc 4.6Michael Brown2011-03-161-2/+1Star
| | | | | | Reported-by: Ralph Giles <giles@thaumas.net> Tested-by: Ralph Giles <giles@thaumas.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [e1000] Remove unused variable when ICR register is simply clearedMichael Brown2011-03-1612-30/+24Star
| | | | | | | | | | | | | On reset and close, the ICR register is read to clear any pending interrupts, but the value is simply ignored. Avoid assigning the value to a variable, to inhibit a warning from gcc 4.6. Also fix a potential race condition in reset routines which clear interrupts before disabling them. Reported-by: Ralph Giles <giles@thaumas.net> Tested-by: Ralph Giles <giles@thaumas.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [igbvf] Remove some unused Linux-specific portions of igbvf.hMichael Brown2011-03-161-2/+4
| | | | | | | | | These unused portions trigger a compiler warning under gcc 4.6, due to the ambiguity over the "page" field in struct igbvf_buffer. Reported-by: Ralph Giles <giles@thaumas.net> Tested-by: Ralph Giles <giles@thaumas.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [phantom] Remove unused variable in phantom_dmesg()Michael Brown2011-03-161-2/+0Star
| | | | | | Reported-by: Ralph Giles <giles@thaumas.net> Tested-by: Ralph Giles <giles@thaumas.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [eepro100] Do not discard short packetsMichael Brown2011-03-121-1/+1
| | | | | | | | | | | In a virtual environment such as qemu, we can legitimately receive packets less than 64 bytes in length, such as ARP replies. These are currently discarded, causing most IPv4 communication to fail. Fix by ignoring the RFDShort bit when receiving packets. Reported-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [console] Move include/console.h to include/ipxe/console.hMichael Brown2011-03-095-5/+5
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pci] Make driver PCI ID a property of the PCI deviceMichael Brown2011-02-1737-85/+64Star
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pci] Use single "busdevfn" field in struct pci_deviceMichael Brown2011-02-173-11/+12
| | | | | | | Merge the "bus" and "devfn" fields into a single "busdevfn" field, to match the format used by the majority of external code. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [3c90x] Clean up reset codeThomas Miletich2011-02-082-15/+16
| | | | | | | | | | | | | Remove duplicate hardware resets, remove network interface logic reset. This also fixes a bug where some 3c905C variants would return bogus EEPROM values because of a too short delay after the network reset. Signed-off-by: Thomas Miletich <thomas.miletich@gmail.com> Reported-by: Peter Huewe <peterhuewe@gmx.de> Tested-by: Peter Huewe <peterhuewe@gmx.de> Signed-off-by: Michael Brown <mcb30@ipxe.org>