vfio/ism: Implement vfio_pci driver for ISM devicesAdd a vfio_pci variant driver for the s390-specific Internal SharedMemory (ISM) devices used for inter-VM communication.This enables the develo
vfio/ism: Implement vfio_pci driver for ISM devicesAdd a vfio_pci variant driver for the s390-specific Internal SharedMemory (ISM) devices used for inter-VM communication.This enables the development of vfio-pci-based user space drivers forISM devices.On s390, kernel primitives such as ioread() and iowrite() are switchedover from function-handle-based PCI load/stores instructions to PCImemory-I/O (MIO) loads/stores when these are available and notexplicitly disabled. Since these instructions cannot be used with ISMdevices, ensure that classic function-handle-based PCI instructions areused instead.The driver is still required even when MIO instructions are disabled, asthe ISM device relies on the PCI store block (PCISTB) instruction toperform write operations.Stores are not fragmented, therefore one ioctl corresponds to exactlyone PCISTB instruction. User space must ensure to not write more than4096 bytes at once to an ISM BAR which is the maximum payload of thePCISTB instruction.Reviewed-by: Alexandra Winter <wintera@linux.ibm.com>Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>Signed-off-by: Julian Ruess <julianr@linux.ibm.com>Reviewed-by: Farhan Ali <alifm@linux.ibm.com>Link: https://lore.kernel.org/r/20260325-vfio_pci_ism-v8-2-ddc504cde914@linux.ibm.comSigned-off-by: Alex Williamson <alex@shazbot.org>
show more ...