From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37716) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XWAWU-0000Wh-MG for qemu-devel@nongnu.org; Mon, 22 Sep 2014 16:47:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XWAWO-0002h4-8A for qemu-devel@nongnu.org; Mon, 22 Sep 2014 16:47:50 -0400 Received: from mx1.redhat.com ([209.132.183.28]:48082) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XWAWO-0002cM-18 for qemu-devel@nongnu.org; Mon, 22 Sep 2014 16:47:44 -0400 Message-ID: <1411418851.1199.137.camel@ul30vt.home> From: Alex Williamson Date: Mon, 22 Sep 2014 14:47:31 -0600 In-Reply-To: <20140919115429.557279920@de.ibm.com> References: <20140919115429.557279920@de.ibm.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC patch 0/6] vfio based pci pass-through for qemu/KVM on s390 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: frank.blaschka@de.ibm.com Cc: linux-s390@vger.kernel.org, agraf@suse.de, qemu-devel@nongnu.org, kvm@vger.kernel.org, pbonzini@redhat.com On Fri, 2014-09-19 at 13:54 +0200, frank.blaschka@de.ibm.com wrote: > This set of patches implements a vfio based solution for pci > pass-through on the s390 platform. The kernel stuff is pretty > much straight forward, but qemu needs more work. > > Most interesting patch is: > vfio: make vfio run on s390 platform > > I hope Alex & Alex can give me some guidance how to do the changes > in an appropriate way. After creating a separate iommmu address space > for each attached PCI device I can successfully run the vfio type1 > iommu. So If we could extend type1 not registering all guest memory > (see patch) I think we do not need a special vfio iommu for s390 > for the moment. > > The patches implement the base pass-through support. s390 specific > virtualization functions are currently not included. This would > be a second step after the base support is done. > > kernel patches apply to linux-kvm-next > > KVM: s390: Enable PCI instructions > iommu: add iommu for s390 platform > vfio: make vfio build on s390 > > qemu patches apply to qemu-master > > s390: Add PCI bus support > s390: implement pci instruction > vfio: make vfio run on s390 platform > > Thx for feedback and review comments Sending patches as attachments makes it difficult to comment inline. 2/6 - careful of the namespace as you're changing functions from static and exporting them - doesn't seem like functions need to be exported, just non-static to call from s390-iommu.c 6/6 - We shouldn't need to globally disable mmap, each VFIO region reports whether it supports mmap and vfio-pci on s390 should indicate mmap is not supported on the platform. - INTx should be done the same way, the interrupt index for INTx should report 0 count. The current code likely doesn't handle this, but it should be easy to fix. - s390_msix_notify() vs msix_notify() should be abstracted somewhere else. How would an emulated PCI device with MSI-X support work? - same for add_msi_route - We can probably come up with a better way to determine which address space to connect to the memory listener. Looks like a reasonable first pass, good re-use of vfio code. Thanks, Alex