diff mbox

[PULL,00/28] Misc patches for 2016-09-26

Message ID 1575153570.3027165.1474966437735.JavaMail.zimbra@redhat.com
State New
Headers show

Commit Message

Paolo Bonzini Sept. 27, 2016, 8:53 a.m. UTC
----- Original Message -----
> From: "Peter Xu" <peterx@redhat.com>
> To: "Peter Maydell" <peter.maydell@linaro.org>, "Paolo Bonzini" <pbonzini@redhat.com>
> Cc: "QEMU Developers" <qemu-devel@nongnu.org>
> Sent: Tuesday, September 27, 2016 4:12:51 AM
> Subject: Re: [Qemu-devel] [PULL 00/28] Misc patches for 2016-09-26
> 
> On Mon, Sep 26, 2016 at 02:19:08PM -0700, Peter Maydell wrote:
> 
> [...]
> 
> > I also see this compile failure:
> > 
> >   CC    i386-softmmu/hw/i386/amd_iommu.o
> > /home/petmay01/linaro/qemu-for-merges/hw/i386/amd_iommu.c: In function
> > ‘amdvi_init’:
> > /home/petmay01/linaro/qemu-for-merges/hw/i386/amd_iommu.c:1083:17:
> > error: ‘MemoryRegionIOMMUOps {aka struct MemoryRegionIOMMUOps}’ has no
> > member named ‘notify_started’
> >      s->iommu_ops.notify_started = amdvi_iommu_notify_started;
> >                  ^
> > /home/petmay01/linaro/qemu-for-merges/rules.mak:60: recipe for target
> > 'hw/i386/amd_iommu.o' failed
> 
> Paolo,
> 
> Would you please help squash this into 02/28 of your PULL request to
> solve above error?

Shall I also redo patch 3/3 for AMD IOMMU, like this:


?

Paolo

Comments

Peter Xu Sept. 27, 2016, 9:25 a.m. UTC | #1
On Tue, Sep 27, 2016 at 04:53:57AM -0400, Paolo Bonzini wrote:
> 
> 
> ----- Original Message -----
> > From: "Peter Xu" <peterx@redhat.com>
> > To: "Peter Maydell" <peter.maydell@linaro.org>, "Paolo Bonzini" <pbonzini@redhat.com>
> > Cc: "QEMU Developers" <qemu-devel@nongnu.org>
> > Sent: Tuesday, September 27, 2016 4:12:51 AM
> > Subject: Re: [Qemu-devel] [PULL 00/28] Misc patches for 2016-09-26
> > 
> > On Mon, Sep 26, 2016 at 02:19:08PM -0700, Peter Maydell wrote:
> > 
> > [...]
> > 
> > > I also see this compile failure:
> > > 
> > >   CC    i386-softmmu/hw/i386/amd_iommu.o
> > > /home/petmay01/linaro/qemu-for-merges/hw/i386/amd_iommu.c: In function
> > > ‘amdvi_init’:
> > > /home/petmay01/linaro/qemu-for-merges/hw/i386/amd_iommu.c:1083:17:
> > > error: ‘MemoryRegionIOMMUOps {aka struct MemoryRegionIOMMUOps}’ has no
> > > member named ‘notify_started’
> > >      s->iommu_ops.notify_started = amdvi_iommu_notify_started;
> > >                  ^
> > > /home/petmay01/linaro/qemu-for-merges/rules.mak:60: recipe for target
> > > 'hw/i386/amd_iommu.o' failed
> > 
> > Paolo,
> > 
> > Would you please help squash this into 02/28 of your PULL request to
> > solve above error?
> 
> Shall I also redo patch 3/3 for AMD IOMMU, like this:
> 
> diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c
> index a868539..6365682 100644
> --- a/hw/i386/amd_iommu.c
> +++ b/hw/i386/amd_iommu.c
> @@ -1072,9 +1072,12 @@ static void amdvi_iommu_notify_flag_changed(MemoryRegion *iommu,
>  {
>      AMDVIAddressSpace *as = container_of(iommu, AMDVIAddressSpace, iommu);
>  
> -    hw_error("device %02x.%02x.%x requires iommu notifier which is not "
> -             "currently supported", as->bus_num, PCI_SLOT(as->devfn),
> -             PCI_FUNC(as->devfn));
> +    if (new & IOMMU_NOTIFIER_MAP) {
> +        error_report("device %02x.%02x.%x requires iommu notifier which is not "
> +                     "currently supported", as->bus_num, PCI_SLOT(as->devfn),
> +                     PCI_FUNC(as->devfn));
> +        exit(1);
> +    }
>  }
>  
>  static void amdvi_init(AMDVIState *s)
> 
> ?

I think we should keep it as it is, because Jason's patchset will only
support intel-iommu, not amd-iommu. For now, it won't have problem
(just like Intel IOMMU one). But after Jason's patch is merged, people
will be able to boot a guest with vhost and amd-iommu (which we
actually do not support yet), and that might be problematic.

Thanks,

-- peterx
Paolo Bonzini Sept. 27, 2016, 10:11 a.m. UTC | #2
> I think we should keep it as it is, because Jason's patchset will only
> support intel-iommu, not amd-iommu. For now, it won't have problem
> (just like Intel IOMMU one). But after Jason's patch is merged, people
> will be able to boot a guest with vhost and amd-iommu (which we
> actually do not support yet), and that might be problematic.

Let's fix Jason's patch instead. :)

Paolo
Peter Xu Sept. 28, 2016, 3:12 a.m. UTC | #3
On Tue, Sep 27, 2016 at 06:11:59AM -0400, Paolo Bonzini wrote:
> 
> > I think we should keep it as it is, because Jason's patchset will only
> > support intel-iommu, not amd-iommu. For now, it won't have problem
> > (just like Intel IOMMU one). But after Jason's patch is merged, people
> > will be able to boot a guest with vhost and amd-iommu (which we
> > actually do not support yet), and that might be problematic.
> 
> Let's fix Jason's patch instead. :)

Then I think Jason will need to add vhost DMAR support for AMD as
well, which I believe is not in his current plan. :)

Anyway, I think we can do it either way. I can hardly believe if
someone will like to run vhost with AMD IOMMU. So IMHO it's not a big
thing for all cases.

Thanks,

-- peterx
Jason Wang Sept. 28, 2016, 9:54 a.m. UTC | #4
On 2016年09月28日 11:12, Peter Xu wrote:
> On Tue, Sep 27, 2016 at 06:11:59AM -0400, Paolo Bonzini wrote:
>>> I think we should keep it as it is, because Jason's patchset will only
>>> support intel-iommu, not amd-iommu. For now, it won't have problem
>>> (just like Intel IOMMU one). But after Jason's patch is merged, people
>>> will be able to boot a guest with vhost and amd-iommu (which we
>>> actually do not support yet), and that might be problematic.
>> Let's fix Jason's patch instead. :)
> Then I think Jason will need to add vhost DMAR support for AMD as
> well, which I believe is not in his current plan. :)

Will try to add AMD IOMMU support in next version.

Thanks

>
> Anyway, I think we can do it either way. I can hardly believe if
> someone will like to run vhost with AMD IOMMU. So IMHO it's not a big
> thing for all cases.
>
> Thanks,
>
> -- peterx
>
diff mbox

Patch

diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c
index a868539..6365682 100644
--- a/hw/i386/amd_iommu.c
+++ b/hw/i386/amd_iommu.c
@@ -1072,9 +1072,12 @@  static void amdvi_iommu_notify_flag_changed(MemoryRegion *iommu,
 {
     AMDVIAddressSpace *as = container_of(iommu, AMDVIAddressSpace, iommu);
 
-    hw_error("device %02x.%02x.%x requires iommu notifier which is not "
-             "currently supported", as->bus_num, PCI_SLOT(as->devfn),
-             PCI_FUNC(as->devfn));
+    if (new & IOMMU_NOTIFIER_MAP) {
+        error_report("device %02x.%02x.%x requires iommu notifier which is not "
+                     "currently supported", as->bus_num, PCI_SLOT(as->devfn),
+                     PCI_FUNC(as->devfn));
+        exit(1);
+    }
 }
 
 static void amdvi_init(AMDVIState *s)