On Tue, Apr 01, 2025 at 10:22:43AM -0700, Farhan Ali wrote:
> Hi,
> 
> Recently on s390x we have enabled mmap support for vfio-pci devices [1].

Hi Alex,
I wanted to bring this to your attention. Feel free to merge it through
the VFIO tree, otherwise I will merge it once you have taken a look.

Thanks,
Stefan

> This allows us to take advantage and use userspace drivers on s390x. However,
> on s390x we have special instructions for MMIO access. Starting with z15 
> (and newer platforms) we have new PCI Memory I/O (MIO) instructions which 
> operate on virtually mapped PCI memory spaces, and can be used from userspace.
> On older platforms we would fallback to using existing system calls for MMIO 
> access.
> 
> This patch series introduces support the PCI MIO instructions, and enables 
> s390x
> support for the userspace NVMe driver on s390x. I would appreciate any 
> review/feedback
> on the patches.
> 
> Thanks
> Farhan
> 
> [1] 
> https://lore.kernel.org/linux-s390/20250226-vfio_pci_mmap-v7-0-c5c0f1d26...@linux.ibm.com/
> 
> ChangeLog
> ---------
> v2 series https://mail.gnu.org/archive/html/qemu-devel/2025-03/msg06847.html
> v2 -> v3
>     - Update the PCI MMIO APIs to reflect that its PCI MMIO access on host 
> as suggested by Stefan(patch 2)
>     - Move s390x ifdef check to s390x_pci_mmio.h as suggested by Philippe 
> (patch 1)
>     - Add R-bs for the respective patches.
> 
> v1 series https://mail.gnu.org/archive/html/qemu-devel/2025-03/msg06596.html
> v1 -> v2
>     - Add 8 and 16 bit reads/writes for completeness (patch 1)
>     - Introduce new QEMU PCI MMIO read/write API as suggested by Stefan 
> (patch 2)
>     - Update NVMe userspace driver to use QEMU PCI MMIO functions (patch 3)
> 
> Farhan Ali (3):
>   util: Add functions for s390x mmio read/write
>   include: Add a header to define host PCI MMIO functions
>   block/nvme: Use host PCI MMIO API
> 
>  block/nvme.c                  |  37 +++++----
>  include/qemu/host-pci-mmio.h  | 116 ++++++++++++++++++++++++++
>  include/qemu/s390x_pci_mmio.h |  24 ++++++
>  util/meson.build              |   2 +
>  util/s390x_pci_mmio.c         | 148 ++++++++++++++++++++++++++++++++++
>  5 files changed, 311 insertions(+), 16 deletions(-)
>  create mode 100644 include/qemu/host-pci-mmio.h
>  create mode 100644 include/qemu/s390x_pci_mmio.h
>  create mode 100644 util/s390x_pci_mmio.c
> 
> -- 
> 2.43.0
> 

Attachment: signature.asc
Description: PGP signature

Reply via email to