> > /* 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.