From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33129) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bKQld-0007mI-Ij for qemu-devel@nongnu.org; Tue, 05 Jul 2016 09:52:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bKQlZ-000487-BC for qemu-devel@nongnu.org; Tue, 05 Jul 2016 09:52:00 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:53556) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bKQlZ-000480-1K for qemu-devel@nongnu.org; Tue, 05 Jul 2016 09:51:57 -0400 Received: from pps.filterd (m0098393.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.11/8.16.0.11) with SMTP id u65DnP4Y014231 for ; Tue, 5 Jul 2016 09:51:56 -0400 Received: from e06smtp16.uk.ibm.com (e06smtp16.uk.ibm.com [195.75.94.112]) by mx0a-001b2d01.pphosted.com with ESMTP id 23x6gk6kef-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Tue, 05 Jul 2016 09:51:55 -0400 Received: from localhost by e06smtp16.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 5 Jul 2016 14:51:52 +0100 Received: from b06cxnps4075.portsmouth.uk.ibm.com (d06relay12.portsmouth.uk.ibm.com [9.149.109.197]) by d06dlp02.portsmouth.uk.ibm.com (Postfix) with ESMTP id D3008219005E for ; Tue, 5 Jul 2016 14:51:18 +0100 (BST) Received: from d06av10.portsmouth.uk.ibm.com (d06av10.portsmouth.uk.ibm.com [9.149.37.251]) by b06cxnps4075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u65DpnEP6095274 for ; Tue, 5 Jul 2016 13:51:49 GMT Received: from d06av10.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av10.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u65Cppuo013987 for ; Tue, 5 Jul 2016 06:51:51 -0600 Date: Tue, 5 Jul 2016 15:51:47 +0200 From: Cornelia Huck In-Reply-To: <20160624132906.14446-1-cornelia.huck@de.ibm.com> References: <20160624132906.14446-1-cornelia.huck@de.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Message-Id: <20160705155147.4184ac4f.cornelia.huck@de.ibm.com> Subject: Re: [Qemu-devel] [PATCH 00/17] s390x: the big pci update List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: mst@redhat.com, marcel@redhat.com, borntraeger@de.ibm.com, agraf@suse.de, jfrei@linux.vnet.ibm.com, zyimin@linux.vnet.ibm.com On Fri, 24 Jun 2016 15:28:49 +0200 Cornelia Huck wrote: > We had been looking at remodelling the pci representation for s390x > to handle our slightly odd architecture correctly some time ago > already, but now we have a patchset that we're happy with. > > There's a bunch of bugfixes, cleanups and architecture conformance > changes in there, but the most interesting part is the modelling > (which, in some respects, takes a cue from what sPAPR does). > > We introduce a 'zpci' device to hold s390x-specific properties like > the uid and fid. This 'zpci' device is connected to a run-of-the-mill > pci device via the 'target' property. > > Example command line portion: > > -device zpci,uid=1,fid=1,target=vpci0 \ > -device vfio-pci,host=0000:00:00.0,id=vpci0 \ > -device zpci,target=vpci1 \ > -device vfio-pci,host=0001:00:00.0,id=vpci1 \ > -device vfio-pci,host=0002:00:00.0,id=vpci2 > > For device vpci0, uid and fid are specified in the associated zpci > device. > For device vpci1, uid and fid are automatically generated. > For device vpci2, first an associated zpci device is generated and > then autogenerated values for uid and fid are placed in it. > > This should accomodate both specifying our special parameters and > re-using standard statements for pci devices. You can still specify > bus/slot/function for the pci device, but it will not be propagated > into the guest (as the s390 pci architecture does not allow for it; > the guest only sees uid/fid). > > The "introduce S390PCI" patches are probably the most interesting > for those looking at the modelling. > > I'd love to see some feedback from a PCI perspective, as I'm happy > from the s390x perspective (and I'd like to see this in 2.7). > > Branch available at git://github.com/cohuck/qemu s390x-pci-update Added to my s390-next branch (on top of the patches I sent today). > > Yi Min Zhao (17): > s390x/pci: fix failures of dma map/unmap > s390x/pci: acceleration for getting S390pciState > s390x/pci: write fid in CLP_QUERY_PCI_FN > s390x/pci: unify FH_ macros > s390x/pci: refactor s390_pci_find_dev_by_fh > s390x/pci: enforce zPCI state checking > s390x/pci: introduce S390PCIBus > s390x/pci: introduce S390PCIIOMMU > s390x/pci: introduce S390PCIBusDevice qdev > s390x/pci: enable uid-checking > s390x/pci: enable zpci hot-plug/hot-unplug > s390x/pci: add checkings in CLP_SET_PCI_FN > s390x/pci: refactor s390_pci_find_dev_by_idx > s390x/pci: refactor list_pci > s390x/pci: fix stpcifc_service_call > s390x/pci: replace fid with idx in msg data of msix > s390x/pci: make hot-unplug handler smoother > > hw/s390x/s390-pci-bus.c | 579 +++++++++++++++++++++++++++++++++++------------ > hw/s390x/s390-pci-bus.h | 77 ++++++- > hw/s390x/s390-pci-inst.c | 266 ++++++++++++++++------ > hw/s390x/s390-pci-inst.h | 7 +- > include/hw/s390x/sclp.h | 1 + > target-s390x/kvm.c | 4 +- > 6 files changed, 718 insertions(+), 216 deletions(-) >