From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48866) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bDNsE-0005j3-9M for qemu-devel@nongnu.org; Wed, 15 Jun 2016 23:21:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bDNsB-00084l-1I for qemu-devel@nongnu.org; Wed, 15 Jun 2016 23:21:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42675) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bDNsA-00084g-S9 for qemu-devel@nongnu.org; Wed, 15 Jun 2016 23:21:38 -0400 Date: Thu, 16 Jun 2016 11:21:29 +0800 From: Peter Xu Message-ID: <20160616032129.GC27635@pxdev.xzpeter.org> References: <20160615154203.32658.82724.stgit@gimli.home> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20160615154203.32658.82724.stgit@gimli.home> Subject: Re: [Qemu-devel] [PATCH 0/2] memory/intel_iommu: Generate error for incompatible usage List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alex Williamson Cc: qemu-devel@nongnu.org, mst@redhat.com, aik@ozlabs.ru, bd.aviv@gmail.com, marcel@redhat.com, pbonzini@redhat.com, david@gibson.dropbear.id.au On Wed, Jun 15, 2016 at 09:56:03AM -0600, Alex Williamson wrote: > VT-d emulation is currently incompatible with device assignment due > to intel_iommu's lack of support for memory_region_notify_iommu(). > Alexey has proposed a nice addition to the MemoryRegionIOMMUOps > structure that adds callbacks when the first iommu notifier is > registered and the last is removed. For POWER this will allow them > to switch the view of the iommu depending on whether anyone in > userspace is watching. For VT-d I expect that eventually we'll use > these callbacks to enable and disable code paths so that we avoid > notifier overhead when there are no registered notifiy-ees. For now, > we don't support calling memory_region_notify_iommu(), so this > signals an incompatible hardware configuration. If we choose to make > CM=0 a user selectable option, something like this might continue to > be useful if we only support notifies via invalidations rather than > full VT-d data structure shadowing. > > Even though we're currently working on enabling users like vfio-pci > with VT-d, I believe this is correct for the current state of things. > We might even want to consider this stable for v2.6.x so that > downstreams pick it up to avoid incompatible configurations. Reviewed-by: Peter Xu Tested-by: Peter Xu (This is much more friendly than a dead loop.) > > Alexey, I hope I'm not stepping on your toes by extracting this > from your latest patch series. Please let us know whether you > approve. Thanks, > > Alex > > --- > > Alex Williamson (1): > intel_iommu: Throw hw_error on notify_started > > Alexey Kardashevskiy (1): > memory: Add MemoryRegionIOMMUOps.notify_started/stopped callbacks > > > hw/i386/intel_iommu.c | 12 ++++++++++++ > hw/vfio/common.c | 5 +++-- > include/exec/memory.h | 8 +++++++- > memory.c | 10 +++++++++- > 4 files changed, 31 insertions(+), 4 deletions(-)