From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:51182) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TMV6l-0002fM-Gh for qemu-devel@nongnu.org; Thu, 11 Oct 2012 22:36:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TMV6j-00050i-V3 for qemu-devel@nongnu.org; Thu, 11 Oct 2012 22:36:15 -0400 Received: from gate.crashing.org ([63.228.1.57]:58073) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TMV6j-00050R-H7 for qemu-devel@nongnu.org; Thu, 11 Oct 2012 22:36:13 -0400 Message-ID: <1350009361.20486.131.camel@pasglop> From: Benjamin Herrenschmidt Date: Fri, 12 Oct 2012 13:36:01 +1100 In-Reply-To: <1349962023-560-1-git-send-email-avi@redhat.com> References: <1349962023-560-1-git-send-email-avi@redhat.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Mime-Version: 1.0 Subject: Re: [Qemu-devel] [RFC v1 0/7] IOMMU support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: "Michael S. Tsirkin" , liu ping fan , qemu-devel@nongnu.org, Blue Swirl , Alex Williamson , Anthony Liguori , Paolo Bonzini On Thu, 2012-10-11 at 15:26 +0200, Avi Kivity wrote: > These patches add IOMMU support to the memory core. IOMMUs can be added anywhere in > the memory hierarchy, and may be arranged in series. I haven't had a chance to review in details yet, but one thing I noticed is that you basically have a single read/write protection information for a translation. This is a loss of functionality to some extent (well, maybe not from the existing iommu layer but from what could be done by our HW) in that we have separate read and write permission bits. This is actually worth fixing I think. Catching incorrect reads from write-only regions is probably worth it in term of debugging drivers. Cheers, Ben. > Avi Kivity (7): > memory: fix address space initialization/destruction > memory: limit sections in the radix tree to the actual address space > size > memory: iommu support > pci: switch iommu to using the memory API > i440fx: add an iommu > vfio: abort if an emulated iommu is used > vhost: abort if an emulated iommu is used > > exec.c | 43 ++++++++++++++++++--- > hw/pci.c | 59 +++++++++++++++++----------- > hw/pci.h | 7 +++- > hw/pci_internals.h | 5 ++- > hw/piix_pci.c | 74 +++++++++++++++++++++++++++++++++++ > hw/spapr.h | 2 + > hw/spapr_iommu.c | 35 ++++++++--------- > hw/spapr_pci.c | 26 +++++++++++-- > hw/spapr_pci.h | 1 + > hw/vfio_pci.c | 2 + > hw/vhost.c | 2 + > memory.c | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++ > memory.h | 46 ++++++++++++++++++++++ > 13 files changed, 356 insertions(+), 56 deletions(-) >