> > /* DMA access functions */
> > +static inline DMAContext *pci_dma_context(PCIDevice *dev)
> > +{
> > + /* Stub for when we have no PCI iommu support */
> > + return NULL;
> > +}
>
> Why is all of this stuff static inline?
Why not ? Not doing so is gratuitous bloat & overhead....
> > static inline void pci_dma_sglist_init(QEMUSGList *qsg, PCIDevice *dev,
> > diff --git a/qemu-common.h b/qemu-common.h
> > index 8f87e41..80026af 100644
> > --- a/qemu-common.h
> > +++ b/qemu-common.h
> > @@ -264,6 +264,7 @@ typedef struct EventNotifier EventNotifier;
> > typedef struct VirtIODevice VirtIODevice;
> > typedef struct QEMUSGList QEMUSGList;
> > typedef struct SHPCDevice SHPCDevice;
> > +typedef struct DMAContext DMAContext;
>
> Please don't put this in qemu-common.h. Stick it in a dma-specific header.
Hrm, the followup ISA DMA patches from Jason Baron seem to have some
cleanups based on the fact that this is in qemu-common.h :-)
The other typedef's in there don't seem to have any more reason to be
there either to be honest. I can try to move it, I don't care much :-)
dma.h sounds like the right place ?
Cheers,
Ben.