1#ifndef __USB_AHCI__AHCI_HPP__
2#define __USB_AHCI__AHCI_HPP__
int submit(struct ioforge_block_device *dev, struct ioforge_block_request *req)
struct ioforge_pci_device * dev_
void port_reset(ahci_port_t *port)
int ata_flush(ahci_port_t *p, struct ahci_internal_vaddr *vaddr, struct ioforge_block_request *req)
void port_power_on(ahci_port_t *port)
void port_power_off(ahci_port_t *port)
void port_configure(ahci_port_t *port, struct ahci_internal_vaddr *vaddr)
int submit_impl(struct ioforge_block_device *dev, struct ioforge_block_request *req)
void build_prdt(ahci_cmd_t *cmd, ahci_cmd_tbl_t *cmdtbl, void *buffer, size_t size)
int atapi_packet(ahci_port_t *p, struct ahci_internal_vaddr *vaddr, struct ioforge_block_request *req)
int ata_identify(ahci_port_t *p, struct ahci_internal_vaddr *vaddr, struct ioforge_block_request *req, bool is_atapi)
static AHCIModule * getInstance()
bool ata_rw(ahci_port_t *p, struct ahci_internal_vaddr *vaddr, struct ioforge_block_request *req)
boolean_t issue_and_wait(ahci_port_t *p, int slot, uint32_t timeout)
IOforgePCI(const char *mod)
volatile uint32_t buffer[5]
struct xhci_slot_ctx slot