qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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.

  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).