mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 17:23:56 -06:00
spapr: convert TCE API to use an opaque type
The TCE table is currently returned as a DMAContext, and non-type-safe APIs are called later passing back the DMAContext. Since we want to move away from DMAContext, use an opaque type instead, and add an accessor to retrieve the DMAContext from it. Acked-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
06d985f5d8
commit
2b7dc949e2
6 changed files with 47 additions and 53 deletions
|
@ -511,7 +511,7 @@ static DMAContext *spapr_pci_dma_context_fn(PCIBus *bus, void *opaque,
|
|||
{
|
||||
sPAPRPHBState *phb = opaque;
|
||||
|
||||
return phb->dma;
|
||||
return spapr_tce_get_dma(phb->tcet);
|
||||
}
|
||||
|
||||
static int spapr_phb_init(SysBusDevice *s)
|
||||
|
@ -646,8 +646,8 @@ static int spapr_phb_init(SysBusDevice *s)
|
|||
|
||||
sphb->dma_window_start = 0;
|
||||
sphb->dma_window_size = 0x40000000;
|
||||
sphb->dma = spapr_tce_new_dma_context(sphb->dma_liobn, sphb->dma_window_size);
|
||||
if (!sphb->dma) {
|
||||
sphb->tcet = spapr_tce_new_table(sphb->dma_liobn, sphb->dma_window_size);
|
||||
if (!sphb->tcet) {
|
||||
fprintf(stderr, "Unable to create TCE table for %s\n", sphb->dtbusname);
|
||||
return -1;
|
||||
}
|
||||
|
@ -676,7 +676,7 @@ static void spapr_phb_reset(DeviceState *qdev)
|
|||
sPAPRPHBState *sphb = SPAPR_PCI_HOST_BRIDGE(s);
|
||||
|
||||
/* Reset the IOMMU state */
|
||||
spapr_tce_reset(sphb->dma);
|
||||
spapr_tce_reset(sphb->tcet);
|
||||
}
|
||||
|
||||
static Property spapr_phb_properties[] = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue