From: Stefan Hajnoczi <stefanha@redhat.com>
To: Niklas Schnelle <schnelle@linux.ibm.com>
Cc: Alex Williamson <alex.williamson@redhat.com>,
qemu-devel@nongnu.org, qemu-block@nongnu.org,
qemu-s390x@nongnu.org, fam@euphon.net, philmd@linaro.org,
kwolf@redhat.com, hreitz@redhat.com, thuth@redhat.com,
mjrosato@linux.ibm.com, Farhan Ali <alifm@linux.ibm.com>
Subject: Re: [PATCH v3 0/3] Enable QEMU NVMe userspace driver on s390x
Date: Thu, 3 Apr 2025 11:44:42 -0400 [thread overview]
Message-ID: <20250403154442.GA349582@fedora> (raw)
In-Reply-To: <2c11a602415f0780030d4e68a28eee7ffcdd8cb7.camel@linux.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 3654 bytes --]
On Thu, Apr 03, 2025 at 09:47:26AM +0200, Niklas Schnelle wrote:
> 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.
The introduction of a new QEMU API for accessing MMIO BARs in this
series is something Alex might be interested in as QEMU VFIO maintainer.
That wouldn't have been part of the kernel patch review.
If he's aware of the new API he can encourage other VFIO users to use it
in the future so that you won't need to convert them to work on s390x
again.
Stefan
>
> Thanks,
> Niklas
>
> > >
> > > [1] https://lore.kernel.org/linux-s390/20250226-vfio_pci_mmap-v7-0-c5c0f1d26efd@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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2025-04-03 15:46 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-01 17:22 [PATCH v3 0/3] Enable QEMU NVMe userspace driver on s390x Farhan Ali
2025-04-01 17:22 ` [PATCH v3 1/3] util: Add functions for s390x mmio read/write Farhan Ali
2025-04-01 17:22 ` [PATCH v3 2/3] include: Add a header to define host PCI MMIO functions Farhan Ali
2025-04-02 14:09 ` Stefan Hajnoczi
2025-04-01 17:22 ` [PATCH v3 3/3] block/nvme: Use host PCI MMIO API Farhan Ali
2025-04-02 15:51 ` [PATCH v3 0/3] Enable QEMU NVMe userspace driver on s390x Stefan Hajnoczi
2025-04-03 7:47 ` Niklas Schnelle
2025-04-03 15:44 ` Stefan Hajnoczi [this message]
2025-04-03 16:27 ` Alex Williamson
2025-04-03 17:33 ` Farhan Ali
2025-04-03 18:05 ` Alex Williamson
2025-04-03 20:33 ` Farhan Ali
2025-04-03 21:24 ` Alex Williamson
2025-04-10 16:07 ` Farhan Ali
2025-04-11 22:28 ` Alex Williamson
2025-04-11 23:28 ` Farhan Ali
2025-04-15 7:28 ` Niklas Schnelle
2025-04-04 7:05 ` Cédric Le Goater
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=20250403154442.GA349582@fedora \
--to=stefanha@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=alifm@linux.ibm.com \
--cc=fam@euphon.net \
--cc=hreitz@redhat.com \
--cc=kwolf@redhat.com \
--cc=mjrosato@linux.ibm.com \
--cc=philmd@linaro.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.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: link
Be 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.