On Mon, Sep 18, 2017 at 04:37:47PM +0200, Mohammed Gamal wrote: > Starting qemu with > qemu-system-x86_64 -S -M isapc -device {amd|intel}-iommu > leads to a segfault. The code assume PCI bus is present and > tries to access the bus structure without checking. > > The patch series moves the error checks from vtd_realize() > and amdvi_realize() to the generic x86_iommu_realize() and > adds a check for PCI bus presence. > > v3 --> v4: > * Restore correct object_dynamic_cast() in x86_iommu_realize() > * Remove redundant casting in callee functions. Implemented in > a new patch > > Mohammed Gamal (3): > x86_iommu: Move machine check to x86_iommu_realize() > intel_iommu, amd_iommu: Remove redundant object_dynamic_cast calls > x86_iommu: check if machine has PCI bus
After patch 2 squashed to patch 1 (patch 2 itself is not valid; the problem only appears after patch 1): Reviewed-by: Peter Xu <pet...@redhat.com> > > hw/i386/amd_iommu.c | 13 ++----------- > hw/i386/intel_iommu.c | 13 ++----------- > hw/i386/x86-iommu.c | 13 +++++++++++++ > 3 files changed, 17 insertions(+), 22 deletions(-) > > -- > 1.8.3.1 > -- Peter Xu