qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH for 2.8 10/11] Revert "intel_iommu: Throw hw_err


From: Alex Williamson
Subject: Re: [Qemu-devel] [PATCH for 2.8 10/11] Revert "intel_iommu: Throw hw_error on notify_started"
Date: Mon, 29 Aug 2016 21:37:02 -0600

On Tue, 30 Aug 2016 11:06:58 +0800
Jason Wang <address@hidden> wrote:

> From: Peter Xu <address@hidden>
> 
> This reverts commit 3cb3b1549f5401dc3a5e1d073e34063dc274136f. Vhost
> device IOTLB API will get notified and send invalidation request to
> vhost through this notifier.

AFAICT this series does not address the original problem for which
commit 3cb3b1549f54 was added.  We've only addressed the very narrow
use case of a device iotlb firing the iommu notifier therefore this
change is a regression versus 2.7 since it allows invalid
configurations with a physical iommu which will never receive the
necessary notifies from intel-iommu emulation to work properly.  Thanks,

Alex

> Cc: Alex Williamson <address@hidden>
> Signed-off-by: Peter Xu <address@hidden>
> Signed-off-by: Jason Wang <address@hidden>
> ---
>  hw/i386/intel_iommu.c | 12 ------------
>  1 file changed, 12 deletions(-)
> 
> diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
> index 298faab..15d1216 100644
> --- a/hw/i386/intel_iommu.c
> +++ b/hw/i386/intel_iommu.c
> @@ -25,7 +25,6 @@
>  #include "exec/address-spaces.h"
>  #include "intel_iommu_internal.h"
>  #include "hw/pci/pci.h"
> -#include "hw/pci/pci_bus.h"
>  #include "hw/i386/pc.h"
>  #include "hw/boards.h"
>  #include "hw/i386/x86-iommu.h"
> @@ -2041,16 +2040,6 @@ static IOMMUTLBEntry vtd_iommu_translate(MemoryRegion 
> *iommu, hwaddr addr,
>      return ret;
>  }
>  
> -static void vtd_iommu_notify_started(MemoryRegion *iommu)
> -{
> -    VTDAddressSpace *vtd_as = container_of(iommu, VTDAddressSpace, iommu);
> -
> -    hw_error("Device at bus %s addr %02x.%d requires iommu notifier which "
> -             "is currently not supported by intel-iommu emulation",
> -             vtd_as->bus->qbus.name, PCI_SLOT(vtd_as->devfn),
> -             PCI_FUNC(vtd_as->devfn));
> -}
> -
>  static const VMStateDescription vtd_vmstate = {
>      .name = "iommu-intel",
>      .unmigratable = 1,
> @@ -2418,7 +2407,6 @@ static void vtd_init(IntelIOMMUState *s)
>      memset(s->womask, 0, DMAR_REG_SIZE);
>  
>      s->iommu_ops.translate = vtd_iommu_translate;
> -    s->iommu_ops.notify_started = vtd_iommu_notify_started;
>      s->root = 0;
>      s->root_extended = false;
>      s->dmar_enabled = false;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]