summaryrefslogtreecommitdiffstats
path: root/src/drivers
Commit message (Collapse)AuthorAgeFilesLines
...
* [arbel] Make driver 64-bit safeMichael Brown2011-03-041-2/+37
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [hermon] Make driver 64-bit safeMichael Brown2011-03-042-0/+37
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [iscsi] Change default initiator IQNMichael Brown2011-03-031-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default initiator IQN is "iqn.2000-09.org.etherboot:UNKNOWN". This is problematic for two reasons: a) the etherboot.org domain (and hence the associated IQN namespace) is not under the control of the iPXE project, and b) some targets (correctly) refuse to allow concurrent connections from different initiators using the same initiator IQN. Solve both problems by changing the default initiator IQN to be iqn.2010-04.org.ipxe:<hostname> if a hostname is set, or iqn.2010-04.org.ipxe:<uuid> if no hostname is set. Explicit initiator IQNs set via DHCP option 203 are not affected by this change. Unfortunately, this change is likely to break some existing configurations, where ACL rules have been put in place referring to the old default initiator IQN. Users may need to update ACLs, or force the use of the old IQN using an iPXE script line such as set initiator-iqn iqn.2000-09.org.etherboot:UNKNOWN or a dhcpd.conf option such as option iscsi-initiator-iqn "iqn.2000-09.org.etherboot:UNKNOWN" Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [hermon] Add BOFM supportMichael Brown2011-03-033-58/+415
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [iscsi] Fix minor typo in ibft_set_ipaddr()Michael Brown2011-02-251-1/+1
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pci] Modularise PCI device supportMichael Brown2011-02-171-47/+79
| | | | | | | | Some operating environments require (or at least prefer) that we do not perform our own PCI bus scan, but deal only with specified devices. Modularise the PCI core to allow for this. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pci] Make driver PCI ID a property of the PCI deviceMichael Brown2011-02-1742-96/+71Star
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pci] Replace pci_max_bus() with pci_num_bus()Michael Brown2011-02-171-1/+1
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pci] Use single "busdevfn" field in struct pci_deviceMichael Brown2011-02-174-71/+69Star
| | | | | | | 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>
* [hermon] Add missing __attribute__ (( packed ))Michael Brown2011-02-171-2/+2
| | | | | | | | | | On 64-bit builds, MLX_DECLARE_STRUCT() produces a structure that is always a multiple of 64 bits long, causing the HCR structure to be over-length by one dword. This in turn causes hermon_cmd() to write beyond the end of the HCR, which causes commands to fail. Reported-by: Itay Gazit <itayg@mellanox.co.il> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [hermon] Force link speed to SDRItay Gazit2011-02-173-5/+62
| | | | | | | SDR link comes up much faster than other speeds. Signed-off-by: Itay Gazit <itaygazit@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [hermon] Use circular event queueItay Gazit2011-02-172-4/+10
| | | | | | | | | Avoid memory leak of untreated events by having circular event queue operation. Signed-off-by: Itay Gazit <itaygazit@gmail.com> Modified-by: Michael Brown <mcb30@ipxe.org> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [hermon] Update PRM file with latest changesItay Gazit2011-02-171-20/+18Star
| | | | | Signed-off-by: Itay Gazit <itaygazit@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [hermon] Fix hermon_cmd_sense_port() to use inline outputItay Gazit2011-02-171-3/+3
| | | | | Signed-off-by: Itay Gazit <itaygazit@gmail.com> 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>
* [3c90x] More fine-grained debugging levelsThomas Miletich2011-02-081-23/+23
| | | | | | | | | DBG is reserved for errors and important warnings only. DBG2 for additional information, e.g. "received packet". DBGP is used to print the name of every function as it is called. Signed-off-by: Thomas Miletich<thomas.miletich@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [init] Remove concept of "shutdown exit flags"Michael Brown2011-01-271-3/+3
| | | | | | | | Remove the concept of shutdown exit flags, and replace it with a counter used to keep track of exposed interfaces that require devices to remain active. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [vxge] Add support for new function mode "multi-function 8 Direct IO"Masroor Vettuparambil2011-01-274-25/+55
| | | | | | | | | | | Support a new function mode "multi-function 8 Direct IO" which is used in ESX Direct I/O configuration. Update driver version to 3.5.0.1 Signed-off-by: Masroor Vettuparambil <masroor.vettuparambil@exar.com> Signed-off-by: Sivakumar Subramani <sivakumar.subramani@exar.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [hermon] Indicate that device does not support interruptsMichael Brown2011-01-251-12/+0Star
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [infiniband] Indicate that device does not support interruptsMichael Brown2011-01-251-12/+0Star
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pci] Auto-resize VPD fields used for non-volatile storageMichael Brown2011-01-191-32/+142
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pci] Add ability to resize a VPD fieldMichael Brown2011-01-191-0/+161
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pci] Allow pci_vpd_init() return status to be ignoredMichael Brown2011-01-191-0/+8
| | | | | | | | Most xxx_init() functions are void functions with no failure cases. Allow pci_vpd_init() to be used in the same way. (Subsequent calls to pci_vpd_read() etc. will fail if pci_vpd_init() fails.) Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [nvo] Allow resizing of non-volatile stored option blocksMichael Brown2011-01-194-3/+4
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [nvo] Remove the non-volatile options fragment listMichael Brown2011-01-114-44/+21Star
| | | | | | | | | Since its implementation several years ago, no driver has used a fragment list containing more than a single fragment. Simplify the NVO core and the drivers that use it by removing the whole concept of the fragment list, and using a simple (address,length) pair instead. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [nvs] Allow for non-volatile storage devices without block boundariesMichael Brown2011-01-112-17/+32
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [hermon] Fix incorrectly-padded sense_port structureMichael Brown2010-12-241-1/+1
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [igbvf] Add igbvf driverAlex Williamson2010-12-169-0/+4475
| | | | | | | | | | | | Driver for Intel 82576 based virtual functions, based on Intel source code available at: http://sourceforge.net/projects/e1000 (igbvf-1.0.7) Based on initial port from Eric Keller <ekeller@princeton.edu>. Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [iscsi] Include both DNS addresses in iBFT, if availableMichael Brown2010-12-091-9/+17
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [r8169] Disabling IRQs should not also acknowledge the IRQsMichael Brown2010-12-091-1/+1
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [legal] Add FILE_LICENCE macro to some GPL-v2-or-later filesShao Miller2010-12-044-0/+8
| | | | | | | | | Changes were made to files where the licence text within the files themselves confirms that the files are GPL version 2 or later. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca> Modified-by: Michael Brown <mcb30@ipxe.org> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [hermon] Work around hardware stripping of VLAN tagsMichael Brown2010-12-011-3/+17
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [settings] Apply settings block name in register_settings()Michael Brown2010-12-011-2/+2
| | | | | | | | Pass the settings block name as a parameter to register_settings(), rather than defining it with settings_init() (and then possibly changing it by directly manipulating settings->name). Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [hermon] Fix inconsistent information in HERMON_SET_PORT_GENERAL_PARAMMichael Brown2010-11-291-6/+4Star
| | | | | | pptx and pfctx should not be set together, nor should pprx and pfcrx. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [hermon] Enable priority flow control on the FCoE priorityMichael Brown2010-11-271-2/+7
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pci] Add a mechanism for using a PCI VPD field as an NVS deviceMichael Brown2010-11-251-0/+124
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pci] Add support for reading and writing PCI Vital Product Data (VPD)Michael Brown2010-11-251-0/+386
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pci] Standardise debug message formatMichael Brown2010-11-241-19/+17Star
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [forcedeth] Exit poll() as early as possible if no work to doMichael Brown2010-11-121-4/+4
| | | | | Signed-off-by: Thomas Miletich <thomas.miletich@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [scsi] Wait for a successful TEST UNIT READY commandMichael Brown2010-10-191-3/+132
| | | | | | | | | | | | | Some SCSI targets (observed with an EMC CLARiiON Fibre Channel target) will not respond to commands correctly until a TEST UNIT READY has been issued. In particular, a READ CAPACITY (10) command will return with a success status, but no capacity data. Fix by issuing a TEST UNIT READY command automatically, and delaying further SCSI commands until the TEST UNIT READY has succeeded. Reported-by: Hadar Hen Zion <hadarh@mellanox.co.il> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [rtl8139] Operate in promiscuous modeMichael Brown2010-10-071-1/+1
| | | | | | | FCoE requires us to be able to receive unicast packets for multiple addresses. Support this by operating in promiscuous mode. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [infiniband] Include the SRP login rejection reason in the error numberMichael Brown2010-09-221-5/+50
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [ata] Add support for describing an ATA device using EDDMichael Brown2010-09-221-0/+19
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [infiniband] Add support for identifying the underlying hardware deviceMichael Brown2010-09-221-2/+3
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [hermon] Add support for dual-protocol devicesMichael Brown2010-09-214-2656/+712Star
| | | | | Originally-implemented-by: Itay Gazit <itaygazit@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [hermon] Add infrastructure for Ethernet devicesItay Gazit2010-09-212-8/+156
| | | | | | | | Add PRM structures to support Hermon Ethernet devices. Signed-off-by: Itay Gazit <itaygazit@gmail.com> Modified-by: Michael Brown <mcb30@ipxe.org> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [hermon] Use SET_PORT to set port parametersMichael Brown2010-09-212-23/+89
| | | | | | | Unlike Arbel, port parameters must be applied via a separate call to SET_PORT, rather than as parameters to INIT_PORT. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [infiniband] Add the notion of an Ethernet queue pair typeMichael Brown2010-09-211-0/+7
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [hermon] Tidy up ICM allocationsMichael Brown2010-09-192-91/+86Star
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [hermon] Minimise the number of VPM mapping operationsMichael Brown2010-09-191-7/+39
| | | | | | | | | Mapping a single page at a time causes a several-second delay at device initialisation time. Reduce this by mapping multiple pages at a time, using the largest block sizes possible given the alignment constraints. Signed-off-by: Michael Brown <mcb30@ipxe.org>