mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 16:53:55 -06:00
ide/ahci: Use universal DMA helper functions
The AHCI device can provide both PCI and SysBus AHCI device emulations. For this reason, it wasn't previously converted to use the pci_dma_*() helper functions. Now that we have universal DMA helper functions, this converts AHCI to use them. The DMAContext is obtained from pci_dma_context() in the PCI case and set to NULL in the SysBus case (i.e. we assume for now that a SysBus AHCI has no IOMMU translation). Cc: Kevin Wolf <kwolf@redhat.com> Cc: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
c65bcef306
commit
10ca2943aa
3 changed files with 23 additions and 16 deletions
|
@ -299,6 +299,7 @@ typedef struct AHCIState {
|
|||
uint32_t idp_index; /* Current IDP index */
|
||||
int ports;
|
||||
qemu_irq irq;
|
||||
DMAContext *dma;
|
||||
} AHCIState;
|
||||
|
||||
typedef struct AHCIPCIState {
|
||||
|
@ -329,7 +330,7 @@ typedef struct NCQFrame {
|
|||
uint8_t reserved10;
|
||||
} QEMU_PACKED NCQFrame;
|
||||
|
||||
void ahci_init(AHCIState *s, DeviceState *qdev, int ports);
|
||||
void ahci_init(AHCIState *s, DeviceState *qdev, DMAContext *dma, int ports);
|
||||
void ahci_uninit(AHCIState *s);
|
||||
|
||||
void ahci_reset(AHCIState *s);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue