summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/legacy.c
Commit message (Collapse)AuthorAgeFilesLines
* [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.