On Wed, 2025-04-02 at 11:51 -0400, Stefan Hajnoczi wrote:
> 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

Hi Stefan,

the kernel patch actually made it into Linus' tree for v6.15 already as
commit aa9f168d55dc ("s390/pci: Support mmap() of PCI resources except
for ISM devices") plus prerequisites. This went via the PCI tree
because they included a change to struct pci_dev and also enabled
mmap() on PCI resource files. Alex reviewed an earlier version and was
the one who suggested to also enable mmap() on PCI resources.

Thanks,
Niklas

> > 
> > [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
> > 


Reply via email to