From: Bandan Das <bsd@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org, mst@redhat.com
Subject: Re: [Qemu-devel] [PATCH v3 2/2] i440fx: print an error message if user tries to enable iommu
Date: Tue, 17 Nov 2015 18:39:55 -0500 [thread overview]
Message-ID: <jpgmvucgppw.fsf@linux.bootlegged.copy> (raw)
In-Reply-To: <87y4dwpu2a.fsf@blackfin.pond.sub.org> (Markus Armbruster's message of "Tue, 17 Nov 2015 15:41:17 +0100")
Markus Armbruster <armbru@redhat.com> writes:
> Bandan Das <bsd@redhat.com> writes:
>
>> There's no indication of any sort that i440fx doesn't support
>> "iommu=on"
>>
>> Reviewed-by: Eric Blake <eblake@redhat.com>
>> Signed-off-by: Bandan Das <bsd@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.
Yeah, I guess the only one that does is q35. Although, iommu should
be theoretically applicable to all machine types, a generic "iommu"
property common to all types makes little sense to me.
One way is to remove the common property and make "iommu" a property of
Q35 only (through a custom instance_init).
Other is to simply make the property common to pc by moving it to pc.c
But that still doesn't solve the problem since i440fx cannot emulate it yet.
> 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.
For now, maybe we can just skip this patch. I will post another generic solution.
It's just weird that qemu runs happily without complaining when iommu is
specified with an unsupported type.
next prev parent reply other threads:[~2015-11-17 23:40 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-13 6:55 [Qemu-devel] [PATCH v3 0/2] Minor cleanups when parsing the "iommu" option Bandan Das
2015-11-13 6:55 ` [Qemu-devel] [PATCH v3 1/2] q35: Check propery to determine if iommu is set Bandan Das
2015-11-17 14:32 ` Markus Armbruster
2015-11-13 6:55 ` [Qemu-devel] [PATCH v3 2/2] i440fx: print an error message if user tries to enable iommu Bandan Das
2015-11-17 14:41 ` Markus Armbruster
2015-11-17 23:39 ` Bandan Das [this message]
2015-11-18 8:26 ` Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jpgmvucgppw.fsf@linux.bootlegged.copy \
--to=bsd@redhat.com \
--cc=armbru@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).