Hi Jan, I use pci_setup_iommu() to setup a PCIIOMMUFunc for the q35 pci bus. In the iommu_fn, I print out the devfn parameter and find out that it sometimes will be -1. So what does it mean? The detail code is here:
In mch_init() function, I write like this: PCIBus *pci_bus = PCI_BUS(qdev_get_parent_bus(DEVICE(mch))); pci_setup_iommu(pci_bus, q35_host_dma_iommu, mch->iommu); And in q35_host_dma_iommu(PCIBus *bus, void *opaque, int devfn), I print out the devfn parameter, sometimes it will be -1. Thanks very much! Regards, Le