Message ID | 20211020172745.620101-8-jean-philippe@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | virtio-iommu: Add ACPI support | expand |
On Wed, 20 Oct 2021 18:27:41 +0100 Jean-Philippe Brucker <jean-philippe@linaro.org> wrote: > We do not support instantiating multiple IOMMUs. Before adding a > virtio-iommu, check that no other IOMMU is present. This will detect > both "iommu=smmuv3" machine parameter and another virtio-iommu instance. > > Fixes: 70e89132c9 ("hw/arm/virt: Add the virtio-iommu device tree mappings") > Reviewed-by: Eric Auger <eric.auger@redhat.com> > Reviewed-by: Igor Mammedov <imammedo@redhat.com> > Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org> Reviewed-by: Igor Mammedov <imammedo@redhat.com> > --- > hw/arm/virt.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c > index 3da7a86e37..25db8d4262 100644 > --- a/hw/arm/virt.c > +++ b/hw/arm/virt.c > @@ -2441,6 +2441,11 @@ static void virt_machine_device_pre_plug_cb(HotplugHandler *hotplug_dev, > hwaddr db_start = 0, db_end = 0; > char *resv_prop_str; > > + if (vms->iommu != VIRT_IOMMU_NONE) { > + error_setg(errp, "virt machine does not support multiple IOMMUs"); > + return; > + } > + > switch (vms->msi_controller) { > case VIRT_MSI_CTRL_NONE: > return;
diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 3da7a86e37..25db8d4262 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -2441,6 +2441,11 @@ static void virt_machine_device_pre_plug_cb(HotplugHandler *hotplug_dev, hwaddr db_start = 0, db_end = 0; char *resv_prop_str; + if (vms->iommu != VIRT_IOMMU_NONE) { + error_setg(errp, "virt machine does not support multiple IOMMUs"); + return; + } + switch (vms->msi_controller) { case VIRT_MSI_CTRL_NONE: return;