Re: [PATCH v4 4/4] vfio: pci: Using a device region to retrieve zPCI information

From: Cornelia Huck
Date: Fri Sep 20 2019 - 10:28:26 EST


On Thu, 19 Sep 2019 16:57:10 -0400
Matthew Rosato <mjrosato@xxxxxxxxxxxxx> wrote:

> On 9/19/19 11:25 AM, Cornelia Huck wrote:
> > On Fri, 6 Sep 2019 20:13:51 -0400
> > Matthew Rosato <mjrosato@xxxxxxxxxxxxx> wrote:
> >
> >> From: Pierre Morel <pmorel@xxxxxxxxxxxxx>
> >>
> >> We define a new configuration entry for VFIO/PCI, VFIO_PCI_ZDEV
> >>
> >> When the VFIO_PCI_ZDEV feature is configured we initialize
> >> a new device region, VFIO_REGION_SUBTYPE_ZDEV_CLP, to hold
> >> the information from the ZPCI device the use
> >>
> >> Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxx>
> >> Signed-off-by: Matthew Rosato <mjrosato@xxxxxxxxxxxxx>
> >> ---
> >> drivers/vfio/pci/Kconfig | 7 +++
> >> drivers/vfio/pci/Makefile | 1 +
> >> drivers/vfio/pci/vfio_pci.c | 9 ++++
> >> drivers/vfio/pci/vfio_pci_private.h | 10 +++++
> >> drivers/vfio/pci/vfio_pci_zdev.c | 85 +++++++++++++++++++++++++++++++++++++
> >> 5 files changed, 112 insertions(+)
> >> create mode 100644 drivers/vfio/pci/vfio_pci_zdev.c
> >>
> >> diff --git a/drivers/vfio/pci/Kconfig b/drivers/vfio/pci/Kconfig
> >> index ac3c1dd..d4562a8 100644
> >> --- a/drivers/vfio/pci/Kconfig
> >> +++ b/drivers/vfio/pci/Kconfig
> >> @@ -45,3 +45,10 @@ config VFIO_PCI_NVLINK2
> >> depends on VFIO_PCI && PPC_POWERNV
> >> help
> >> VFIO PCI support for P9 Witherspoon machine with NVIDIA V100 GPUs
> >> +
> >> +config VFIO_PCI_ZDEV
> >> + bool "VFIO PCI Generic for ZPCI devices"
> >> + depends on VFIO_PCI && S390
> >> + default y
> >> + help
> >> + VFIO PCI support for S390 Z-PCI devices
> >
> >>From that description, I'd have no idea whether I'd want that or not.
> > Is there any downside to enabling it?
> >
>
> :) Not really, you're just getting information from the hardware vs
> using hard-coded defaults. The only reason I could think of to turn it
> off would be if you wanted/needed to restore this hard-coded behavior.

I'm not really sure whether that's worth adding a Kconfig switch for.
Won't older versions simply ignore the new region anyway?

Also, I don't think we have any migration compatibility issues, as
vfio-pci devices are not (yet) migrateable anyway.

>
> bool "VFIO PCI support for generic ZPCI devices" ?

"Support zPCI-specific configuration for VFIO PCI" ?

>
> "Support for sharing ZPCI hardware device information between the host
> and guests." ?

"Enabling this options exposes a region containing hardware
configuration for zPCI devices. This enables userspace (e.g. QEMU) to
supply proper configuration values instead of hard-coded defaults for
zPCI devices passed through via VFIO on s390.

Say Y here."

?