summaryrefslogtreecommitdiffstats
path: root/src/drivers/block
Commit message (Collapse)AuthorAgeFilesLines
...
* Added generic asynchronous operations code.Michael Brown2006-05-311-5/+4Star
| | | | | | | | | 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()).
* Use separate data-in and data-out buffers.Michael Brown2006-05-291-40/+30Star
| | | | Increase code simplicity at the expense of around 64 bytes.
* 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.
* 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).
* Defined SCSI device interface, and added SCSI block deviceMichael Brown2006-05-131-0/+142
implementation.