On Thu, Feb 23, 2017 at 10:10:57AM +0200, Marcel Apfelbaum wrote:
> On 02/23/2017 05:06 AM, Peter Xu wrote:
> >On Wed, Feb 22, 2017 at 10:30:47AM -0700, Alex Williamson wrote:
> >>On Wed, 22 Feb 2017 13:49:25 +0800
> >>Peter Xu <pet...@redhat.com> wrote:
> >>
> >>>Intel vIOMMU devices are created with "-device" parameter, while here
> >>>actually we need to make sure this device will be created before some
> >>>other PCI devices (like vfio-pci devices) so that we know iommu_fn will
> >>>be setup correctly before realizations of those PCI devices.
> >>>
> >>>Here we do explicit check to make sure intel-iommu device will be inited
> >>>before all the rest of the PCI devices. This is done by checking against
> >>>the devices dangled under current root PCIe bus and we should see
> >>>nothing there besides integrated ICH9 ones.
> 
> Hi,
> 
> Commit b86eacb8 (hw/pci: delay bus_master_enable_region initialization)
> creates the IOMMU memory region at machine_done time so the
> devices creation order wouldn't matter.
> 
> I don't think we use the iommu_fn before machine_done.
> What have I missed?
Hi, Marcel,

The problem is that vfio-pci will need to fetch the pci address space
during realization (pci_device_iommu_address_space() is called in
vfio_realize()).

Any thoughts? Thanks,

-- peterx

Reply via email to