From: Matthew Rosato <mjrosato@linux.ibm.com> To: qemu-s390x@nongnu.org Cc: alex.williamson@redhat.com, schnelle@linux.ibm.com, cohuck@redhat.com, thuth@redhat.com, farman@linux.ibm.com, pmorel@linux.ibm.com, richard.henderson@linaro.org, david@redhat.com, pasic@linux.ibm.com, borntraeger@linux.ibm.com, mst@redhat.com, pbonzini@redhat.com, qemu-devel@nongnu.org, kvm@vger.kernel.org Subject: [PATCH v2 0/9] s390x/pci: zPCI interpretation support Date: Fri, 14 Jan 2022 15:38:40 -0500 [thread overview] Message-ID: <20220114203849.243657-1-mjrosato@linux.ibm.com> (raw) For QEMU, the majority of the work in enabling instruction interpretation is handled via new VFIO ioctls to SET the appropriate interpretation and interrupt forwarding modes, and to GET the function handle to use for interpretive execution. This series implements these new ioctls, as well as adding a new, optional 'intercept' parameter to zpci to request interpretation support not be used as well as an 'intassist' parameter to determine whether or not the firmware assist will be used for interrupt delivery or whether the host will be responsible for delivering all interrupts. The ZPCI_INTERP CPU feature is added beginning with the z14 model to enable this support. As a consequence of implementing zPCI interpretation, ISM devices now become eligible for passthrough (but only when zPCI interpretation is available). From the perspective of guest configuration, you passthrough zPCI devices in the same manner as before, with intepretation support being used by default if available in kernel+qemu. Associated kernel series: https://lore.kernel.org/kvm/20220114203145.242984-1-mjrosato@linux.ibm.com/ Changes v1->v2: - Update kernel headers sync - Drop some pre-req patches that are now merged - Add some R-bs (Thanks!) - fence FEAT_ZPCI_INTERP for QEMU 6.2 and older (Christian) - switch from container_of to VFIO_PCI and drop asserts (Thomas) - re-arrange g_autofree so we malloc at time of declaration (Thomas) Matthew Rosato (9): Update linux headers target/s390x: add zpci-interp to cpu models fixup: force interp off for QEMU machine 6.2 and older s390x/pci: enable for load/store intepretation s390x/pci: don't fence interpreted devices without MSI-X s390x/pci: enable adapter event notification for interpreted devices s390x/pci: use I/O Address Translation assist when interpreting s390x/pci: use dtsm provided from vfio capabilities for interpreted devices s390x/pci: let intercept devices have separate PCI groups hw/s390x/s390-pci-bus.c | 121 ++++++++++- hw/s390x/s390-pci-inst.c | 168 ++++++++++++++- hw/s390x/s390-pci-vfio.c | 204 +++++++++++++++++- hw/s390x/s390-virtio-ccw.c | 1 + include/hw/s390x/s390-pci-bus.h | 8 +- include/hw/s390x/s390-pci-inst.h | 2 +- include/hw/s390x/s390-pci-vfio.h | 45 ++++ include/standard-headers/asm-x86/kvm_para.h | 1 + include/standard-headers/drm/drm_fourcc.h | 11 + include/standard-headers/linux/ethtool.h | 1 + include/standard-headers/linux/fuse.h | 60 +++++- include/standard-headers/linux/pci_regs.h | 4 + include/standard-headers/linux/virtio_iommu.h | 8 +- linux-headers/asm-mips/unistd_n32.h | 1 + linux-headers/asm-mips/unistd_n64.h | 1 + linux-headers/asm-mips/unistd_o32.h | 1 + linux-headers/asm-powerpc/unistd_32.h | 1 + linux-headers/asm-powerpc/unistd_64.h | 1 + linux-headers/asm-s390/kvm.h | 1 + linux-headers/asm-s390/unistd_32.h | 1 + linux-headers/asm-s390/unistd_64.h | 1 + linux-headers/linux/kvm.h | 1 + linux-headers/linux/vfio.h | 22 ++ linux-headers/linux/vfio_zdev.h | 51 +++++ target/s390x/cpu_features_def.h.inc | 1 + target/s390x/gen-features.c | 2 + target/s390x/kvm/kvm.c | 1 + 27 files changed, 693 insertions(+), 27 deletions(-) -- 2.27.0
WARNING: multiple messages have this Message-ID (diff)
From: Matthew Rosato <mjrosato@linux.ibm.com> To: qemu-s390x@nongnu.org Cc: farman@linux.ibm.com, kvm@vger.kernel.org, pmorel@linux.ibm.com, schnelle@linux.ibm.com, cohuck@redhat.com, richard.henderson@linaro.org, thuth@redhat.com, qemu-devel@nongnu.org, pasic@linux.ibm.com, alex.williamson@redhat.com, mst@redhat.com, pbonzini@redhat.com, david@redhat.com, borntraeger@linux.ibm.com Subject: [PATCH v2 0/9] s390x/pci: zPCI interpretation support Date: Fri, 14 Jan 2022 15:38:40 -0500 [thread overview] Message-ID: <20220114203849.243657-1-mjrosato@linux.ibm.com> (raw) For QEMU, the majority of the work in enabling instruction interpretation is handled via new VFIO ioctls to SET the appropriate interpretation and interrupt forwarding modes, and to GET the function handle to use for interpretive execution. This series implements these new ioctls, as well as adding a new, optional 'intercept' parameter to zpci to request interpretation support not be used as well as an 'intassist' parameter to determine whether or not the firmware assist will be used for interrupt delivery or whether the host will be responsible for delivering all interrupts. The ZPCI_INTERP CPU feature is added beginning with the z14 model to enable this support. As a consequence of implementing zPCI interpretation, ISM devices now become eligible for passthrough (but only when zPCI interpretation is available). From the perspective of guest configuration, you passthrough zPCI devices in the same manner as before, with intepretation support being used by default if available in kernel+qemu. Associated kernel series: https://lore.kernel.org/kvm/20220114203145.242984-1-mjrosato@linux.ibm.com/ Changes v1->v2: - Update kernel headers sync - Drop some pre-req patches that are now merged - Add some R-bs (Thanks!) - fence FEAT_ZPCI_INTERP for QEMU 6.2 and older (Christian) - switch from container_of to VFIO_PCI and drop asserts (Thomas) - re-arrange g_autofree so we malloc at time of declaration (Thomas) Matthew Rosato (9): Update linux headers target/s390x: add zpci-interp to cpu models fixup: force interp off for QEMU machine 6.2 and older s390x/pci: enable for load/store intepretation s390x/pci: don't fence interpreted devices without MSI-X s390x/pci: enable adapter event notification for interpreted devices s390x/pci: use I/O Address Translation assist when interpreting s390x/pci: use dtsm provided from vfio capabilities for interpreted devices s390x/pci: let intercept devices have separate PCI groups hw/s390x/s390-pci-bus.c | 121 ++++++++++- hw/s390x/s390-pci-inst.c | 168 ++++++++++++++- hw/s390x/s390-pci-vfio.c | 204 +++++++++++++++++- hw/s390x/s390-virtio-ccw.c | 1 + include/hw/s390x/s390-pci-bus.h | 8 +- include/hw/s390x/s390-pci-inst.h | 2 +- include/hw/s390x/s390-pci-vfio.h | 45 ++++ include/standard-headers/asm-x86/kvm_para.h | 1 + include/standard-headers/drm/drm_fourcc.h | 11 + include/standard-headers/linux/ethtool.h | 1 + include/standard-headers/linux/fuse.h | 60 +++++- include/standard-headers/linux/pci_regs.h | 4 + include/standard-headers/linux/virtio_iommu.h | 8 +- linux-headers/asm-mips/unistd_n32.h | 1 + linux-headers/asm-mips/unistd_n64.h | 1 + linux-headers/asm-mips/unistd_o32.h | 1 + linux-headers/asm-powerpc/unistd_32.h | 1 + linux-headers/asm-powerpc/unistd_64.h | 1 + linux-headers/asm-s390/kvm.h | 1 + linux-headers/asm-s390/unistd_32.h | 1 + linux-headers/asm-s390/unistd_64.h | 1 + linux-headers/linux/kvm.h | 1 + linux-headers/linux/vfio.h | 22 ++ linux-headers/linux/vfio_zdev.h | 51 +++++ target/s390x/cpu_features_def.h.inc | 1 + target/s390x/gen-features.c | 2 + target/s390x/kvm/kvm.c | 1 + 27 files changed, 693 insertions(+), 27 deletions(-) -- 2.27.0
next reply other threads:[~2022-01-14 20:39 UTC|newest] Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-01-14 20:38 Matthew Rosato [this message] 2022-01-14 20:38 ` [PATCH v2 0/9] s390x/pci: zPCI interpretation support Matthew Rosato 2022-01-14 20:38 ` [PATCH v2 1/9] Update linux headers Matthew Rosato 2022-01-14 20:38 ` Matthew Rosato 2022-01-14 20:38 ` [PATCH v2 2/9] target/s390x: add zpci-interp to cpu models Matthew Rosato 2022-01-14 20:38 ` Matthew Rosato 2022-01-14 20:38 ` [PATCH v2 3/9] fixup: force interp off for QEMU machine 6.2 and older Matthew Rosato 2022-01-14 20:38 ` Matthew Rosato 2022-01-14 21:04 ` Matthew Rosato 2022-01-14 21:04 ` Matthew Rosato 2022-01-14 20:38 ` [PATCH v2 4/9] s390x/pci: enable for load/store intepretation Matthew Rosato 2022-01-14 20:38 ` Matthew Rosato 2022-01-17 14:51 ` Thomas Huth 2022-01-17 14:51 ` Thomas Huth 2022-01-18 18:08 ` Matthew Rosato 2022-01-18 18:08 ` Matthew Rosato 2022-01-17 15:38 ` Thomas Huth 2022-01-17 15:38 ` Thomas Huth 2022-01-18 18:14 ` Matthew Rosato 2022-01-18 18:14 ` Matthew Rosato 2022-01-31 9:37 ` Pierre Morel 2022-01-31 9:37 ` Pierre Morel 2022-01-31 14:46 ` Pierre Morel 2022-01-31 17:11 ` Matthew Rosato 2022-01-14 20:38 ` [PATCH v2 5/9] s390x/pci: don't fence interpreted devices without MSI-X Matthew Rosato 2022-01-14 20:38 ` Matthew Rosato 2022-01-14 20:38 ` [PATCH v2 6/9] s390x/pci: enable adapter event notification for interpreted devices Matthew Rosato 2022-01-14 20:38 ` Matthew Rosato 2022-01-31 15:10 ` Pierre Morel 2022-01-31 15:10 ` Pierre Morel 2022-01-31 17:08 ` Matthew Rosato 2022-01-31 17:08 ` Matthew Rosato 2022-01-14 20:38 ` [PATCH v2 7/9] s390x/pci: use I/O Address Translation assist when interpreting Matthew Rosato 2022-01-14 20:38 ` Matthew Rosato 2022-01-14 20:38 ` [PATCH v2 8/9] s390x/pci: use dtsm provided from vfio capabilities for interpreted devices Matthew Rosato 2022-01-14 20:38 ` Matthew Rosato 2022-01-14 20:38 ` [PATCH v2 9/9] s390x/pci: let intercept devices have separate PCI groups Matthew Rosato 2022-01-14 20:38 ` Matthew Rosato 2022-01-17 15:23 ` [PATCH v2 0/9] s390x/pci: zPCI interpretation support Thomas Huth 2022-01-17 15:23 ` Thomas Huth 2022-01-18 18:32 ` Matthew Rosato 2022-01-18 18:32 ` Matthew Rosato 2022-02-04 12:39 ` Michael S. Tsirkin 2022-02-04 12:39 ` Michael S. Tsirkin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20220114203849.243657-1-mjrosato@linux.ibm.com \ --to=mjrosato@linux.ibm.com \ --cc=alex.williamson@redhat.com \ --cc=borntraeger@linux.ibm.com \ --cc=cohuck@redhat.com \ --cc=david@redhat.com \ --cc=farman@linux.ibm.com \ --cc=kvm@vger.kernel.org \ --cc=mst@redhat.com \ --cc=pasic@linux.ibm.com \ --cc=pbonzini@redhat.com \ --cc=pmorel@linux.ibm.com \ --cc=qemu-devel@nongnu.org \ --cc=qemu-s390x@nongnu.org \ --cc=richard.henderson@linaro.org \ --cc=schnelle@linux.ibm.com \ --cc=thuth@redhat.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.