summaryrefslogtreecommitdiffstats
path: root/src/arch/x86/drivers/net
Commit message (Collapse)AuthorAgeFilesLines
* [init] Show startup and shutdown function names in debug messagesMichael Brown2019-01-251-0/+1
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [undi] Include subsystem IDs in broken interrupt device checkMichael Brown2018-04-181-6/+27
| | | | | | | | Allow the subsystem IDs to be used when checking for PXE stacks with broken interrupt support. Suggested-by: Levi Hsieh <Levi.Hsieh@dell.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [undi] Treat invalid IRQ numbers as non-fatal errorsMichael Brown2018-03-211-4/+2Star
| | | | | | | | If the underlying PXE stack reports an invalid IRQ number (above IRQ_MAX), treat this as equivalent to an empty IRQ number and fall back to using polling mode. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [undi] Move PXE API caller back into UNDI driverMichael Brown2017-03-192-68/+300
| | | | | | | | | | | | | | As of commit 10d19bd ("[pxe] Always retrieve cached DHCPACK and apply to relevant network device"), the UNDI driver has been the only user of pxeparent_call(). Remove the unnecessary layer of abstraction by refactoring this code back into undinet.c, and fix the ability of undiisr.S to fall back to chaining to the original handler if we were unable to unhook our own ISR. This effectively reverts commit 337e1ed ("[pxe] Separate parent PXE API caller from UNDINET driver"). Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [undi] Try matching UNDI ROMs in BIOS enumeration orderMichael Brown2016-12-071-1/+1
| | | | | | | | | | | | | | | When searching for an UNDI ROM to match against a PCI device, search in order of increasing ROM address (within the 128kB BIOS option ROM area). This is likely (though not guaranteed) to match the order of the original enumeration performed by the BIOS, which is in turn likely to match the order of enumeration on the PCI bus. Since we load at most one UNDI ROM, the net result is that we increase our chances of loading the ROM corresponding to the selected PCI device (rather than loading a ROM corresponding to a higher-numbered PCI device with the same vendor and device IDs.) Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [undi] Clean up driver and device name informationMichael Brown2016-12-053-36/+30Star
| | | | | | | | | | | | | | | | | | | | Fix the <NULL> driver name reported by "ifstat" when using the undipci driver (due to the unnecessary extra device node inserted as a child of the PCI device). Remove the "UNDI-" prefix from device names since the driver name is also now visible via "ifstat", and tidy up the device name to match the format used by standard PCI devices. The output from "ifstat" now resembles: iPXE> ifstat net0: 52:54:00:12:34:56 using undipci on 0000:00:03.0 iPXE> ifstat net0: 52:54:00:12:34:56 using undionly on 0000:00:03.0 Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [undi] Allocate base memory before calling UNDI loader entry pointMichael Brown2016-12-051-14/+16
| | | | | | | | Allocate base memory (by decreasing the free base memory counter) before calling the UNDI loader entry point, to minimise surprises for the UNDI loader code. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [undi] Work around broken HP EliteBook 745 G3 PXE ROMMichael Brown2016-05-131-0/+2
| | | | | | Reported-by: Arturino Mazzei <mazzeia@hotmail.com> Tested-by: Arturino Mazzei <mazzeia@hotmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [bios] Add bin-x86_64-pcbios build platformMichael Brown2016-02-167-0/+1656
Move most arch/i386 files to arch/x86, and adjust the contents of the Makefiles and the include/bits/*.h headers to reflect the new locations. This patch makes no substantive code changes, as can be seen using a rename-aware diff (e.g. "git show -M5"). This patch does not make the pcbios platform functional for x86_64; it merely allows it to compile without errors. Signed-off-by: Michael Brown <mcb30@ipxe.org>