diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2007-03-06 12:25:01 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2007-03-06 12:25:01 +0000 |
commit | 403cf79981a208350a11823d2c81680c80d57bef (patch) | |
tree | 2f92ef6ef30d64b8eeae1ba7fa65cd07e0e36c68 /games/hack/def.flag.h | |
parent | 36877853486099bd6cb71c72ea0eefb271112f62 (diff) |
big changes to the completion path in ahci.c
- add a ccb_done member to the ahci_ccb, which points to a function that
is used to complete the current xfer
- ccbs no longer rely on an ata_xfer being provided for submission to work
- ahci is stupid and has no way to telling you the difference between an
empty command slot, and a completed command. we keep track of active
commands with ap_active in ahci_port, so we dont try and complete commands
we havent actually submitted
- ahci_start simple submits a command to the hardware now
- provide the start of an interrupt handler for each port (which is not yet
called by the controllers interrupt handler)
- provide an ahci_poll which is built on top of ahci_start and
ahci_port_intr
- remove the fake ata_xfers from the softreset path
- on completion of an ahci command, sync the relevant dma memory
- provide a completion path for ata_xfers which syncs the xfers buffer
and calls the xfers completion handler
in atascsi.c:
- start defining the contents of the response to an ATA IDENTIFY command
specific to SATA
- implement the faking of scsi inquiries, so now you'll actually see a disk
attach to ahci.
- start implementing a fake scsi read capacity. it presents a fake geometry
though, so dont get too excited when ahci magically makes your disk have a
terabyte in size.
lots of discussion, help, tweaks, and an ok from pascoe@
Diffstat (limited to 'games/hack/def.flag.h')
0 files changed, 0 insertions, 0 deletions