summaryrefslogtreecommitdiffstats
path: root/src/drivers/ata
Commit message (Collapse)AuthorAgeFilesLines
* Quick hack to get AoE back in to the tree, on a par with the currentMichael Brown2007-07-291-55/+0Star
| | | | iSCSI hack.
* Create and use async_block() macro; it cuts down on the visual overheadMichael Brown2007-01-161-6/+3Star
| | | | | of blocking on asynchronous operations, when that isn't an important aspect of the code.
* Gave asynchronous operations approximate POSIX signal semantics. ThisMichael Brown2007-01-151-2/+7
| | | | | | | | | | | will enable us to cascade async operations, which is necessary in order to properly support DNS. (For example, an HTTP request may have to redirect to a new location and will have to perform a new DNS lookup, so we can't just rely on doing the name lookup at the time of parsing the initial URL). Anything other than HTTP is probably broken right now; I'll fix the others up asap.
* Backing out last change; no immediate plans to make the whole block-deviceMichael Brown2006-06-011-4/+5
| | | | | 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-311-5/+4Star
| | | | | | | | 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-311-1/+2
| | | | | | | | | 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! :)