[GIT PULL] VFIO updates for v6.7-rc1

From: Alex Williamson
Date: Tue Oct 31 2023 - 13:54:50 EST


Hi Linus,

The following changes since commit b6cd17050bc0817c79924f23716198b2e935556e:

Merge tag 'vfio-v6.6-rc4' of https://github.com/awilliam/linux-vfio (2023-09-27 09:33:55 -0700)

are available in the Git repository at:

https://github.com/awilliam/linux-vfio.git tags/vfio-v6.7-rc1

for you to fetch changes up to 2b88119e35b00d8cb418d86abbace3b90a993bd7:

vfio/mtty: Enable migration support (2023-10-24 15:03:10 -0600)

----------------------------------------------------------------
VFIO updates for v6.7

- Add support for "chunk mode" in the mlx5-vfio-pci variant driver,
which allows both larger device image sizes for migration, beyond
the previous 4GB limit, and also read-ahead support for improved
migration performance. (Yishai Hadas)

- A new bus master control interface for the CDX bus driver where
there is no in-band mechanism to toggle device DMA as there is
through config space on PCI devices. (Nipun Gupta)

- Add explicit alignment directives to vfio data structures to
reduce the chance of breaking 32-bit userspace. In most cases
this is transparent and the remaining cases where data structures
are padded work within the existing rules for extending data
structures within vfio. (Stefan Hajnoczi)

- Resolve a bug in the cdx bus driver noted when compiled with clang
where missing parenthesis result in the wrong operation.
(Nathan Chancellor)

- Resolve errors reported by smatch for a function when dealing
with invalid inputs. (Alex Williamson)

- Add migration support to the mtty vfio/mdev sample driver for
testing and integration purposes, allowing CI of migration without
specific hardware requirements. Also resolve many of the short-
comings of this driver relative to implementation of the vfio
interrupt ioctl along the way. (Alex Williamson)

----------------------------------------------------------------
Alex Williamson (4):
Merge branch 'mlx5-vfio' of https://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux into v6.7/vfio/next
vfio: Fix smatch errors in vfio_combine_iova_ranges()
vfio/mtty: Overhaul mtty interrupt handling
vfio/mtty: Enable migration support

Nathan Chancellor (1):
vfio/cdx: Add parentheses between bitwise AND expression and logical NOT

Nipun Gupta (3):
cdx: add support for bus mastering
vfio: add bus master feature to device feature ioctl
vfio-cdx: add bus mastering device feature support

Stefan Hajnoczi (3):
vfio: trivially use __aligned_u64 for ioctl structs
vfio: use __aligned_u64 in struct vfio_device_gfx_plane_info
vfio: use __aligned_u64 in struct vfio_device_ioeventfd

Yishai Hadas (9):
net/mlx5: Introduce ifc bits for migration in a chunk mode
vfio/mlx5: Wake up the reader post of disabling the SAVING migration file
vfio/mlx5: Refactor the SAVE callback to activate a work only upon an error
vfio/mlx5: Enable querying state size which is > 4GB
vfio/mlx5: Rename some stuff to match chunk mode
vfio/mlx5: Pre-allocate chunks for the STOP_COPY phase
vfio/mlx5: Add support for SAVING in chunk mode
vfio/mlx5: Add support for READING in chunk mode
vfio/mlx5: Activate the chunk mode functionality

drivers/cdx/cdx.c | 32 ++
drivers/cdx/controller/cdx_controller.c | 4 +
drivers/cdx/controller/mcdi_functions.c | 58 +++
drivers/cdx/controller/mcdi_functions.h | 13 +
drivers/gpu/drm/i915/gvt/kvmgt.c | 2 +-
drivers/vfio/cdx/main.c | 57 ++-
drivers/vfio/cdx/private.h | 2 +
drivers/vfio/pci/mlx5/cmd.c | 103 ++--
drivers/vfio/pci/mlx5/cmd.h | 28 +-
drivers/vfio/pci/mlx5/main.c | 283 ++++++++---
drivers/vfio/vfio_main.c | 10 +
include/linux/cdx/cdx_bus.h | 18 +
include/linux/mlx5/mlx5_ifc.h | 15 +-
include/uapi/linux/vfio.h | 47 +-
samples/vfio-mdev/mbochs.c | 2 +-
samples/vfio-mdev/mdpy.c | 2 +-
samples/vfio-mdev/mtty.c | 829 +++++++++++++++++++++++++++++---
17 files changed, 1309 insertions(+), 196 deletions(-)