From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36908) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dXomu-0004SH-4S for qemu-devel@nongnu.org; Wed, 19 Jul 2017 09:13:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dXomq-0002Vl-4M for qemu-devel@nongnu.org; Wed, 19 Jul 2017 09:13:12 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44162) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dXomp-0002Ui-RE for qemu-devel@nongnu.org; Wed, 19 Jul 2017 09:13:08 -0400 Date: Wed, 19 Jul 2017 15:03:13 +0200 From: Cornelia Huck Message-ID: <20170719150313.6acdb087@gondolin> In-Reply-To: <20170718142455.32676-1-cohuck@redhat.com> References: <20170718142455.32676-1-cohuck@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH RFC v2 0/9] s390x: zPCI detangling List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: borntraeger@de.ibm.com, agraf@suse.de, thuth@redhat.com, pmorel@linux.vnet.ibm.com, zyimin@linux.vnet.ibm.com On Tue, 18 Jul 2017 16:24:46 +0200 Cornelia Huck wrote: > Next try of the zPCI detangling, taking cpu models into account. > > The goal of this is twofold: > - Being able to disable PCI support in a build completely, as for v1. > - Properly fencing off PCI if the relevant facility bit is not provided. > > The second one leads to an interesting usability problem: -device help > still shows the various pci devices, but you cannot add them if the > cpu model does not include zpci, due to the phb not being instantiated. > The user is presented with > > qemu-system-s390x: -device virtio-rng-pci: No 'PCI' bus found for device 'virtio-rng-pci' > > ...which is not very helpful, as it does not point to the root cause (no > zpci in the cpu model, and therefore no pci at all). Not sure how one can > communicate this root cause, ideas welcome. An idea on how to improve this would still be welcome :) > > A cross-check with the zpci documentation would also be good, as it is > not public. > > Changes v1->v2: > - add hw/s390x/s390-pci-stub.c to get rid of the ifdeffery > - use the cpumodel to decide whether the guest can use pci instructions or > not; also use this in the sclp and ioinst code > > Branch in git: > > git://github.com/cohuck/qemu no-zpci-cpumodel I've updated this with the various feedback I got, but probably will not have time to do more until next week. > > Cornelia Huck (9): > kvm: remove hard dependency on pci > s390x/pci: add stubs > s390x: chsc nt2 events are pci-only > s390x/pci: do not advertise pci on non-pci builds > s390x/ccw: create s390 phb conditionally > s390x/sclp: properly guard pci-specific functions > s390x/pci: fence off instructions for non-pci > s390x/kvm: msi route fixup for non-pci > s390x: refine pci dependencies > > default-configs/s390x-softmmu.mak | 2 +- > hw/pci/pci-stub.c | 12 ++++++ > hw/s390x/Makefile.objs | 3 +- > hw/s390x/s390-pci-bus.c | 4 +- > hw/s390x/s390-pci-bus.h | 4 +- > hw/s390x/s390-pci-stub.c | 74 ++++++++++++++++++++++++++++++++ > hw/s390x/s390-virtio-ccw.c | 12 +++--- > hw/s390x/sclp.c | 19 +++++++-- > target/s390x/ioinst.c | 16 +++++++ > target/s390x/kvm.c | 89 +++++++++++++++++++++++++++------------ > 10 files changed, 193 insertions(+), 42 deletions(-) > create mode 100644 hw/s390x/s390-pci-stub.c >