summaryrefslogtreecommitdiffstats
path: root/src/drivers
Commit message (Collapse)AuthorAgeFilesLines
...
* | Change read_bit() to return 0 or -1UL, rather than 0 or 1.Michael Brown2006-06-122-3/+5
| |
* | Updated debug message to reflect change in data structure.Michael Brown2006-06-121-2/+3
| |
* | Update to use the generic i2c bit-bashing code.Michael Brown2006-06-111-223/+68Star
| |
* | Added bit-bashing i2c interface codeMichael Brown2006-06-111-0/+313
| |
* | Added sketch of bit-bashing interface common codeMichael Brown2006-06-081-0/+55
| |
* | 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
| |
* | PNIC doesn't auto-pad.Michael Brown2006-06-051-0/+8
| |
* | Added a very quick and dirty compatibility layer, to allowMichael Brown2006-06-0515-13/+106
| | | | | | | | not-yet-updated drivers to at least function.
* | Added soon-to-be-requisite missing include.Michael Brown2006-06-054-0/+4
| |
* | Backing out last change; no immediate plans to make the whole block-deviceMichael Brown2006-06-012-6/+6
| | | | | | | | | | layer asynchronous, so keeping the sync/async boundary within aoedev.c seems cleanest for now.
* | ATA devices are now asynchronous. The ATA layer itself now performs theMichael Brown2006-05-312-6/+6
| | | | | | | | | | | | | | | | async_wait(), though we may wish to move this higher up the stack, and consider making the block device model asynchronous. (There is only a marginal cost for synchronous devices, since they can simply call async_done() before returning; async_wait() will work seamlessly in this situation).
* | Added generic asynchronous operations code.Michael Brown2006-05-312-6/+6
| | | | | | | | | | | | | | | | | | Removed data_in_len and data_out_len from ata_command structure; the lengths are implied by the sector count and the presence of the data_in or data_out pointers. Changed AoE code to use subcommands by default, and made aoe_issue() nonblocking (with completion via async_wait()).
* | Handle multi-sector reads by splitting them into subcommands.Michael Brown2006-05-291-1/+1
| |
* | Initial AoE implementation. Limitations are:Michael Brown2006-05-291-0/+52
| | | | | | | | | | | | | | | | | | | | | | Cannot yet handle reads of more than two sectors No retransmission No way to find out a target's MAC address (this proof of concept uses broadcasts) These limitations shall not last long! :)
* | Use separate data-in and data-out buffers.Michael Brown2006-05-291-40/+30Star
| | | | | | | | Increase code simplicity at the expense of around 64 bytes.
* | Rewrote to use the new net driver API, the updated PCI API, and theMichael Brown2006-05-271-316/+372
| | | | | | | | generic three-wire serial device support for EEPROM access.
* | Added abstraction layer for a three-wire serial device (e.g. the EEPROMMichael Brown2006-05-261-0/+68
| | | | | | | | used on RTL8139 cards).
* | Fixed debug codeMichael Brown2006-05-211-3/+3
| |
* | Added (untested) support for ATA devices. This code should be genericMichael Brown2006-05-211-0/+169
| | | | | | | | enough to support both real IDE chipsets and AoE.
* | Use insb/outsb; it's marginally faster.Michael Brown2006-05-201-9/+2Star
| |
* | READ CAPACITY (16) turns out to be an optional command (even thoughMichael Brown2006-05-191-2/+57
| | | | | | | | | | READ(16) is mandatory); we must use READ CAPACITY (10) first and then use READ CAPACITY (16) if the READ CAPACITY (10) returns "out of range".
* | Add the concept of a "user pointer" (similar to the void __user * inMichael Brown2006-05-191-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the kernel), which encapsulates the information needed to refer to an external buffer. Under normal operation, this can just be a void * equivalent, but under -DKEEP_IT_REAL it would be a segoff_t equivalent. Use this concept to avoid the need for bounce buffers in int13.c, which reduces memory usage and opens up the possibility of using multi-sector reads. Extend the block-device API and the SCSI block device implementation to support multi-sector reads. Update iscsi.c to use user buffers. Move the obsolete portions of realmode.h to old_realmode.h. MS-DOS now boots an order of magnitude faster over iSCSI (~10 seconds from power-up to C:> prompt in bochs).
* | Strip down i386 PCI configuration space I/O to the bare minimum. AMichael Brown2006-05-171-11/+4Star
| | | | | | | | | | | | | | | | | | | | typical build will now include 880 bytes of PCI support code, compared to 2327 bytes in Etherboot 5.4. (There is a slight cost of around 5 extra bytes per access to a non-constant config space address; this should be an overall win. Driver-specific accesses will usually be to constant addresses, for which there is no additional cost.)
* | Restructured PCI subsystem to fit the new device model.Michael Brown2006-05-1631-389/+430
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Generic PCI code now handles 64-bit BARs correctly when setting "membase"; drivers should need to call pci_bar_start() only if they want to use BARs other than the first memory or I/O BAR. Split rarely-used PCI functions out into pciextra.c. Core PCI code is now 662 bytes (down from 1308 bytes in Etherboot 5.4). 284 bytes of this saving comes from the pci/pciextra split. Cosmetic changes to lots of drivers (e.g. vendor_id->vendor in order to match the names used in Linux).
* | Split "iSCSI as a SCSI device" out from "iSCSI as a TCP protocol".Michael Brown2006-05-151-0/+52
| |
* | Defined SCSI device interface, and added SCSI block deviceMichael Brown2006-05-131-0/+142
| | | | | | | | implementation.
* | Transmit the buffer contents, not the buffer descriptor...Michael Brown2006-04-281-2/+4
| |
* | Add missing {register,free}_netdev().Michael Brown2006-04-241-1/+15
| | | | | | | | Tie into existing driver API; we'll fix that up soon.
* | gcc is rather over-aggressive about optimising out static data structuresMichael Brown2006-04-244-7/+7
| | | | | | | | even when __atribute__ (( unused )) is correctly set...
* | Header rearrangement.Michael Brown2006-04-2434-34/+34
| | | | | | | | | | | | | | | | | | I want to get to the point where any header in include/ reflects a standard user-level header (e.g. a POSIX header), while everything that's specific to gPXE lives in include/gpxe/. Headers that reflect a Linux header (e.g. if_ether.h) should also be in include/gpxe/, with the same name as the Linux header and, preferably, the same names used for the definitions.
* | Network API now allows for multiple network devices (although theMichael Brown2006-04-241-101/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | implementation allows for only one, and does so without compromising on the efficiency of static allocation). Link-layer protocols are cleanly separated from the device drivers. Network-layer protocols are cleanly separated from individual network devices. Link-layer and network-layer protocols are cleanly separated from each other.
* | More purgingMichael Brown2006-03-173-2101/+0Star
| |
* | Build in gpxeMichael Brown2006-03-161-23/+14Star
| |
* | Remove accidental duplicate arising from mergeMichael Brown2006-03-161-25/+1Star
| |
* | Build under gpxeMichael Brown2006-03-161-17/+15Star
| |
* | Back out duplication arising from the mergeMichael Brown2006-03-161-19/+0Star
| |
* | Fix to compile under gpxeMichael Brown2006-03-161-1/+1
| |
* | Merge from Etherboot 5.4Michael Brown2006-03-161-0/+19
|\|
* | Merge from Etherboot 5.4Michael Brown2006-03-162-64/+559
|\|
* | Merge from Etherboot 5.4Michael Brown2006-03-168-13/+7614
|\|
* | Merge from Etherboot 5.4Michael Brown2006-03-1627-0/+16415
|\|
* | Merge from Etherboot 5.4Michael Brown2006-03-161-4/+5
|\|
* | Reorder functions to match the linux driver.George Baum2005-07-111-522/+554
| | | | | | | | No code changes apart from commenting one unused function out.
* | Fix COMET TxUnderrun issueTimothy Legge2005-06-171-0/+2
| |
* | Jan Kiszka provided a patch for the smc9000 for missing phy-setupTimothy Legge2005-06-022-1/+562
| |
* | Some versions of doxygen seem to object to "@ret None" or similar.Michael Brown2005-05-241-19/+19
| |
* | the uncontroversal gcc 4.0 compilation fixesGeorge Baum2005-05-232-4/+4
| |
* | Use "#var" rather than "@c var" for doxygen.Michael Brown2005-05-201-7/+7
| |