Commit 7403e6d8 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'vfio-v5.18-rc1' of https://github.com/awilliam/linux-vfio

Pull VFIO updates from Alex Williamson:

 - Introduce new device migration uAPI and implement device specific
   mlx5 vfio-pci variant driver supporting new protocol (Jason
   Gunthorpe, Yishai Hadas, Leon Romanovsky)

 - New HiSilicon acc vfio-pci variant driver, also supporting migration
   interface (Shameer Kolothum, Longfang Liu)

 - D3hot fixes for vfio-pci-core (Abhishek Sahu)

 - Document new vfio-pci variant driver acceptance criteria
   (Alex Williamson)

 - Fix UML build unresolved ioport_{un}map() functions
   (Alex Williamson)

 - Fix MAINTAINERS due to header movement (Lukas Bulwahn)

* tag 'vfio-v5.18-rc1' of https://github.com/awilliam/linux-vfio: (31 commits)
  vfio-pci: Provide reviewers and acceptance criteria for variant drivers
  MAINTAINERS: adjust entry for header movement in hisilicon qm driver
  hisi_acc_vfio_pci: Use its own PCI reset_done error handler
  hisi_acc_vfio_pci: Add support for VFIO live migration
  crypto: hisilicon/qm: Set the VF QM state register
  hisi_acc_vfio_pci: Add helper to retrieve the struct pci_driver
  hisi_acc_vfio_pci: Restrict access to VF dev BAR2 migration region
  hisi_acc_vfio_pci: add new vfio_pci driver for HiSilicon ACC devices
  hisi_acc_qm: Move VF PCI device IDs to common header
  crypto: hisilicon/qm: Move few definitions to common header
  crypto: hisilicon/qm: Move the QM header to include/linux
  vfio/mlx5: Fix to not use 0 as NULL pointer
  PCI/IOV: Fix wrong kernel-doc identifier
  vfio/mlx5: Use its own PCI reset_done error handler
  vfio/pci: Expose vfio_pci_core_aer_err_detected()
  vfio/mlx5: Implement vfio_pci driver for mlx5 devices
  vfio/mlx5: Expose migration commands over mlx5 device
  vfio: Remove migration protocol v1 documentation
  vfio: Extend the device migration protocol with RUNNING_P2P
  vfio: Define device migration protocol v2
  ...
parents 66711cfe f621eb13
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -103,6 +103,7 @@ available subsections can be seen below.
   sync_file
   vfio-mediated-device
   vfio
   vfio-pci-device-specific-driver-acceptance
   xilinx/index
   xillybus
   zorro
+35 −0
Original line number Diff line number Diff line
.. SPDX-License-Identifier: GPL-2.0

Acceptance criteria for vfio-pci device specific driver variants
================================================================

Overview
--------
The vfio-pci driver exists as a device agnostic driver using the
system IOMMU and relying on the robustness of platform fault
handling to provide isolated device access to userspace.  While the
vfio-pci driver does include some device specific support, further
extensions for yet more advanced device specific features are not
sustainable.  The vfio-pci driver has therefore split out
vfio-pci-core as a library that may be reused to implement features
requiring device specific knowledge, ex. saving and loading device
state for the purposes of supporting migration.

In support of such features, it's expected that some device specific
variants may interact with parent devices (ex. SR-IOV PF in support of
a user assigned VF) or other extensions that may not be otherwise
accessible via the vfio-pci base driver.  Authors of such drivers
should be diligent not to create exploitable interfaces via these
interactions or allow unchecked userspace data to have an effect
beyond the scope of the assigned device.

New driver submissions are therefore requested to have approval via
sign-off/ack/review/etc for any interactions with parent drivers.
Additionally, drivers should make an attempt to provide sufficient
documentation for reviewers to understand the device specific
extensions, for example in the case of migration data, how is the
device state composed and consumed, which portions are not otherwise
available to the user via vfio-pci, what safeguards exist to validate
the data, etc.  To that extent, authors should additionally expect to
require reviews from at least one of the listed reviewers, in addition
to the overall vfio maintainer.
+1 −0
Original line number Diff line number Diff line
@@ -103,3 +103,4 @@ to do something different in the near future.
   ../nvdimm/maintainer-entry-profile
   ../riscv/patch-acceptance
   ../driver-api/media/maintainer-entry-profile
   ../driver-api/vfio-pci-device-specific-driver-acceptance
+24 −1
Original line number Diff line number Diff line
@@ -8722,9 +8722,9 @@ L: linux-crypto@vger.kernel.org
S:	Maintained
F:	Documentation/ABI/testing/debugfs-hisi-zip
F:	drivers/crypto/hisilicon/qm.c
F:	drivers/crypto/hisilicon/qm.h
F:	drivers/crypto/hisilicon/sgl.c
F:	drivers/crypto/hisilicon/zip/
F:	include/linux/hisi_acc_qm.h
HISILICON ROCE DRIVER
M:	Wenpeng Liang <liangwenpeng@huawei.com>
@@ -20399,6 +20399,13 @@ L: kvm@vger.kernel.org
S:	Maintained
F:	drivers/vfio/fsl-mc/
VFIO HISILICON PCI DRIVER
M:	Longfang Liu <liulongfang@huawei.com>
M:	Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
L:	kvm@vger.kernel.org
S:	Maintained
F:	drivers/vfio/pci/hisilicon/
VFIO MEDIATED DEVICE DRIVERS
M:	Kirti Wankhede <kwankhede@nvidia.com>
L:	kvm@vger.kernel.org
@@ -20408,12 +20415,28 @@ F: drivers/vfio/mdev/
F:	include/linux/mdev.h
F:	samples/vfio-mdev/
VFIO PCI DEVICE SPECIFIC DRIVERS
R:	Jason Gunthorpe <jgg@nvidia.com>
R:	Yishai Hadas <yishaih@nvidia.com>
R:	Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
R:	Kevin Tian <kevin.tian@intel.com>
L:	kvm@vger.kernel.org
S:	Maintained
P:	Documentation/driver-api/vfio-pci-device-specific-driver-acceptance.rst
F:	drivers/vfio/pci/*/
VFIO PLATFORM DRIVER
M:	Eric Auger <eric.auger@redhat.com>
L:	kvm@vger.kernel.org
S:	Maintained
F:	drivers/vfio/platform/
VFIO MLX5 PCI DRIVER
M:	Yishai Hadas <yishaih@nvidia.com>
L:	kvm@vger.kernel.org
S:	Maintained
F:	drivers/vfio/pci/mlx5/
VGA_SWITCHEROO
R:	Lukas Wunner <lukas@wunner.de>
S:	Maintained
+1 −1
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@
#define __HISI_HPRE_H

#include <linux/list.h>
#include "../qm.h"
#include <linux/hisi_acc_qm.h>

#define HPRE_SQE_SIZE			sizeof(struct hpre_sqe)
#define HPRE_PF_DEF_Q_NUM		64
Loading