Re: [PATCH v11 04/26] s390: vfio-ap: base implementation of VFIO AP device driver

From: Cornelia Huck
Date: Wed Sep 26 2018 - 09:10:32 EST


On Tue, 25 Sep 2018 19:16:19 -0400
Tony Krowiak <akrowiak@xxxxxxxxxxxxxxxxxx> wrote:

> From: Tony Krowiak <akrowiak@xxxxxxxxxxxxx>
>
> Introduces a new AP device driver. This device driver
> is built on the VFIO mediated device framework. The framework
> provides sysfs interfaces that facilitate passthrough
> access by guests to devices installed on the linux host.
>
> The VFIO AP device driver will serve two purposes:
>
> 1. Provide the interfaces to reserve AP devices for exclusive
> use by KVM guests. This is accomplished by unbinding the
> devices to be reserved for guest usage from the zcrypt
> device driver and binding them to the VFIO AP device driver.
>
> 2. Implements the functions, callbacks and sysfs attribute
> interfaces required to create one or more VFIO mediated
> devices each of which will be used to configure the AP
> matrix for a guest and serve as a file descriptor
> for facilitating communication between QEMU and the
> VFIO AP device driver.
>
> When the VFIO AP device driver is initialized:
>
> * It registers with the AP bus for control of type 10 (CEX4
> and newer) AP queue devices. This limitation was imposed
> due to:
>
> 1. A desire to keep the code as simple as possible;
>
> 2. Some older models are no longer supported by the kernel
> and others are getting close to end of service.
>
> 3. A lack of older systems on which to test older devices.
>
> The probe and remove callbacks will be provided to support
> the binding/unbinding of AP queue devices to/from the VFIO
> AP device driver.
>
> * Creates a matrix device, /sys/devices/vfio_ap/matrix,
> to serve as the parent of the mediated devices created, one
> for each guest, and to hold the APQNs of the AP devices bound to
> the VFIO AP device driver.
>
> Signed-off-by: Tony Krowiak <akrowiak@xxxxxxxxxxxxx>
> Reviewed-by: Halil Pasic <pasic@xxxxxxxxxxxxx>
> Tested-by: Michael Mueller <mimu@xxxxxxxxxxxxx>
> Tested-by: Farhan Ali <alifm@xxxxxxxxxxxxx>
> ---
> MAINTAINERS | 10 ++
> arch/s390/Kconfig | 11 ++
> drivers/iommu/Kconfig | 8 ++
> drivers/s390/crypto/Makefile | 4 +
> drivers/s390/crypto/vfio_ap_drv.c | 138 ++++++++++++++++++++++++++
> drivers/s390/crypto/vfio_ap_private.h | 34 +++++++
> 6 files changed, 205 insertions(+)
> create mode 100644 drivers/s390/crypto/vfio_ap_drv.c
> create mode 100644 drivers/s390/crypto/vfio_ap_private.h

This already got my R-b for v10... here it is again:

Reviewed-by: Cornelia Huck <cohuck@xxxxxxxxxx>