From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34700) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZCiB4-0001L5-0f for qemu-devel@nongnu.org; Wed, 08 Jul 2015 01:45:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZCiAy-0002bk-TG for qemu-devel@nongnu.org; Wed, 08 Jul 2015 01:45:49 -0400 Received: from e28smtp02.in.ibm.com ([122.248.162.2]:52532) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZCiAy-0002XL-2I for qemu-devel@nongnu.org; Wed, 08 Jul 2015 01:45:44 -0400 Received: from /spool/local by e28smtp02.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 8 Jul 2015 11:15:38 +0530 Received: from d28relay03.in.ibm.com (d28relay03.in.ibm.com [9.184.220.60]) by d28dlp02.in.ibm.com (Postfix) with ESMTP id E90B43940053 for ; Wed, 8 Jul 2015 11:15:33 +0530 (IST) Received: from d28av01.in.ibm.com (d28av01.in.ibm.com [9.184.220.63]) by d28relay03.in.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t685jXeB4325708 for ; Wed, 8 Jul 2015 11:15:33 +0530 Received: from d28av01.in.ibm.com (localhost [127.0.0.1]) by d28av01.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t685jWnQ018860 for ; Wed, 8 Jul 2015 11:15:32 +0530 From: Yi Min Zhao Date: Wed, 8 Jul 2015 13:44:54 +0800 Message-Id: <1436334295-6012-1-git-send-email-zyimin@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH v4 0/1] s390 pci infrastruture modelling List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: cornelia.huck@de.ibm.com, borntraeger@de.ibm.com, Yi Min Zhao , agraf@suse.de, mst@redhat.com From: Yi Min Zhao This patch extends the current s390 pci implementation to provide more flexibility in configuration of s390 specific device handling. For each vfio pci device, I create a zpci device to store s390 specific informations. And attach all of these special zpci devices to the s390 facility bus. A zpci device references the corresponding PCI device via device id. The new design allows to define multiple host bridges, each host bridge could hold 32 zpci devices at most. The topology for this implementation could be: dev: s390-pcihost, id "" bus: pci.0 type PCI dev: vfio-pci, id "vpci1" host = "0000:00:00.0" ...... dev: vfio-pci, id "vpci2" host = "0001:00:00.0" ...... dev: s390-pci-facility, id "" bus: s390-pci-fac-bus.0 type s390-pci-fac-bus dev: zpci, id "zpci1" fid = 1 (0x1) uid = 2 (0x2) pci_id = "vpci1" dev: zpci, id "zpci2" fid = 6 (0x6) uid = 7 (0x7) pci_id = "vpci2" To make the review easier, I keep all of the old names, such as S390PCIBusDevice to name a zpci device. I will make a cleanup patch later to change these names to a more suitable name. Comparing to v3, this patch does the following change: 1.Exchange vfio-pci and zpci definitions. Define zpci device firstly then define vfio-pci device. 2.Unplug either vfio-pci device or zpci device can remove both of them. Yi Min Zhao (1): s390 pci infrastructure modelling hw/s390x/s390-pci-bus.c | 323 ++++++++++++++++++++++++++++++++++---------- hw/s390x/s390-pci-bus.h | 41 +++++- hw/s390x/s390-pci-inst.c | 12 ++- hw/s390x/s390-virtio-ccw.c | 5 +- 4 files changed, 302 insertions(+), 79 deletions(-) -- 1.7.9