summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/legacy.c
Commit message (Collapse)AuthorAgeFilesLines
* [legal] Relicense files under GPL2_OR_LATER_OR_UBDLMichael Brown2015-03-021-1/+1
| | | | | | | Relicense files for which I am the sole author (as identified by util/relicense.pl). Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [netdevice] Call netdev_link_[up|down|err]() only while registeredMichael Brown2010-09-051-3/+3
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [build] Rename gPXE to iPXEMichael Brown2010-04-201-4/+4
| | | | | | | | | | | Access to the gpxe.org and etherboot.org domains and associated resources has been revoked by the registrant of the domain. Work around this problem by renaming project from gPXE to iPXE, and updating URLs to match. Also update README, LOG and COPYRIGHTS to remove obsolete information. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [netdevice] Separate out the concept of hardware and link-layer addressesMichael Brown2009-08-121-1/+1
| | | | | | | | | | | The hardware address is an intrinsic property of the hardware, while the link-layer address can be changed at runtime. This separation is exposed via APIs such as PXE and EFI, but is currently elided by gPXE. Expose the hardware and link-layer addresses as separate properties within a net device. Drivers should now fill in hw_addr, which will be used to initialise ll_addr at the time of calling register_netdev().
* [netdevice] Make ll_broadcast per-netdevice rather than per-ll_protocolMichael Brown2009-07-181-1/+1
| | | | | | | | | IPoIB has a link-layer broadcast address that varies according to the partition key. We currently go through several contortions to pretend that the link-layer address is a fixed constant; by making the broadcast address a property of the network device rather than the link-layer protocol it will be possible to simplify IPoIB's broadcast handling.
* [legal] Add a selection of FILE_LICENCE declarationsMichael Brown2009-05-181-0/+2
| | | | | Add FILE_LICENCE declarations to almost all files that make up the various standard builds of gPXE.
* [NETDEV] Add notion of link stateMichael Brown2008-04-221-0/+3
| | | | | | | | | | | 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.
* 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.
* Various warnings fixups for OpenBSD with gcc-3.3.5.Michael Brown2007-12-071-1/+1
|
* Use net_device_operations structure and netdev_nullify() to allow forMichael Brown2007-07-071-21/+30
| | | | | | | | | | | safe dropping of the netdev ref by the driver while other refs still exist. Add netdev_irq() method. Net device open()/close() methods should no longer enable or disable IRQs. Remove rx_quota; it wasn't used anywhere and added too much complexity to implementing correct interrupt-masking behaviour in pxe_undi.c.
* Enable/disable interrupts in driver open/close.Michael Brown2007-07-031-3/+8
|
* How has the legacy wrapper been working for the past month or so...?Michael Brown2007-07-011-1/+2
|
* Kill off hotplug.h and just make net devices normal reference-countedMichael Brown2007-06-271-3/+3
| | | | | | structures. DHCP still broken and #if 0'd out.
* pkbuff->iobuf changeoverMichael Brown2007-05-191-15/+15
| | | | | | | | Achieved via Perl using: perl -pi -e 's/pk_buff/io_buffer/g; s/Packet buffer/I\/O buffer/ig; ' \ -e 's/pkbuff\.h/iobuf.h/g; s/pkb_/iob_/g; s/_pkb/_iob/g; ' \ -e 's/pkb/iobuf/g; s/PKB/IOB/g;'
* Updated ISAPnP, EISA, MCA and ISA buses to current device model.Michael Brown2007-03-101-20/+14Star
| | | | | | | ISA 3c509 is currently non-functional, although the EISA (3c509-eisa) and MCA (3c529) variants should build OK. None of this code is yet tested.
* Remove no-longer-used variableMichael Brown2007-02-191-1/+0Star
|
* Fix padding problem - from MichaelJames Harper2007-02-101-3/+1Star
|
* Use stdio.h instead of vsprintf.hMichael Brown2007-01-191-1/+1
|
* Add "name" field to struct device to allow human-readable hardware deviceMichael Brown2007-01-101-0/+1
| | | | | | | | | | | names. Add "dev" pointer in struct net_device to tie network interfaces back to a hardware device. Force natural alignment of data types in __table() macros. This seems to prevent gcc from taking the unilateral decision to occasionally increase their alignment (which screws up the table packing).
* Add RX quotas to the net device poll() method. This avoids the problemMichael Brown2007-01-091-1/+4
| | | | | | of alloc_pkb() exhaustion when e.g. an iSCSI-booted DOS session is left idle for a long time at the C:\ prompt and builds up a huge packet backlog.
* Added net device TX queue; this will be needed to support the PXE UNDI APIMichael Brown2007-01-091-1/+1
| | | | | | (which will need us to wait for TX completions). Added debug autocolourisation to netdevice.c
* Make open() and close() an official part of the netdevice API.Michael Brown2007-01-041-0/+10
| | | | Call netdevice's poll() and transmit() methods only when device is open.
* Improve debugging output for legacy wrapperMichael Brown2006-06-161-1/+5
|
* Legacy drivers cannot cope with multiple active devices.Michael Brown2006-06-081-0/+7
|
* Force pci.o to be included.Michael Brown2006-06-051-0/+5
| | | | Print warning message at probe time.
* Legacy drivers will not pad when necessaryMichael Brown2006-06-051-0/+4
|
* Added a very quick and dirty compatibility layer, to allowMichael Brown2006-06-051-0/+104
not-yet-updated drivers to at least function.