Bandan Das <b...@redhat.com> writes: > There's no indication of any sort that i440fx doesn't support > "iommu=on" > > Reviewed-by: Eric Blake <ebl...@redhat.com> > Signed-off-by: Bandan Das <b...@redhat.com> > --- > hw/pci-host/piix.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c > index 7b2fbf9..715208b 100644 > --- a/hw/pci-host/piix.c > +++ b/hw/pci-host/piix.c > @@ -34,6 +34,7 @@ > #include "sysemu/sysemu.h" > #include "hw/i386/ioapic.h" > #include "qapi/visitor.h" > +#include "qemu/error-report.h" > > /* > * I440FX chipset data sheet. > @@ -301,6 +302,10 @@ static void i440fx_pcihost_realize(DeviceState *dev, > Error **errp) > static void i440fx_realize(PCIDevice *dev, Error **errp) > { > dev->config[I440FX_SMRAM] = 0x02; > + > + if (object_property_get_bool(qdev_get_machine(), "iommu", NULL)) { > + error_report("warning: i440fx doesn't support emulated iommu"); > + } > } > > PCIBus *i440fx_init(const char *host_type, const char *pci_type,
Hmm. If I understand things correctly, we add property "iommu" to *any* machine, whether it supports it or not (see machine_initfn() in hw/core/machine.c). Most machines don't support it. You add a warning to one of them. Why to that one and not the others? Shouldn't we add properties only to machines where they make sense? Adding them indiscrimiately defeats QOM introspection.