Hi Baptiste, On Thu, 2015-02-26 at 18:02 +0100, Baptiste Reynal wrote: > Hi everyone, > > Are there any comments on this patch series? If not, Is there anything > keeping this series from getting merged upstream? > > Thanks, > Baptiste > > On Fri, Jan 30, 2015 at 2:46 PM, Baptiste Reynal < > b.reynal@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > > This patch series aims to implement VFIO support for platform devices that > > reside behind an IOMMU. Examples of such devices are devices behind an ARM > > SMMU, or behind a Samsung Exynos System MMU. > > > > The API used is based on the existing VFIO API that is also used with PCI > > devices. Only devices that include a basic set of IRQs and memory regions > > are > > targeted; devices with complex relationships with other devices on a device > > tree are not taken into account at this stage. > > > > This patch series may be applied on the following series/patches: > > - [PATCH v3 0/6] vfio: type1: support for ARM SMMUS with VFIO_IOMMU_TYPE1 Unfortunately, this patch set you depend on seems to have been abandoned: http://www.spinics.net/lists/kvm/msg112976.html We can't use an enum as a bitfield. This also highlights a bit of an issue with vfio-platform, who is to be the sub-maintainer? Is it you? Antonios? Me? I can't even test this code, so I'm hoping there's someone signed up to prevent this code from immediately bit rotting. Thanks, Alex > > A copy can be cloned from the branch vfio-platform-v13 at: > > git@xxxxxxxxxx:virtualopensystems/linux-kvm-arm.git > > > > Changes since v12: > > - Reorder chunks to be bisect-able > > Changes since v11: > > - Drop support for ARM AMBA devices > > - vfio_platform_private.h is now self-contained > > - Fix masked IRQ initialization > > Changes since v10: > > - Check if interrupt is already masked when setting a new trigger > > - Fixed kasprintf with unchecked return value in VFIO AMBA driver > > Changes since v9: > > - Reworked the splitting of the patches that decouple virqfd from PCI > > - Some styling issues and typos > > - Removed superfluous includes > > - AMBA devices are now named vfio-amba- suffixed by the AMBA device id > > - Several other cleanups and fixes > > Changes since v8: > > - Separate irq handler for edge and level triggered interrupts > > - Mutex based lock for VFIO fd open/release > > - Fixed bug where the first region of a platform device wasn't exposed > > - Read only regions can be MMAPed only read only > > - Code cleanups > > Changes since v7: > > - Some initial placeholder functionality for PIO resources > > - Cleaned up code for IRQ triggering, masking and unmasking > > - Some functionality has been removed from this series and posted > > separately: > > - VFIO_IOMMU_TYPE1 support for ARM SMMUs > > - IOMMU NOEXEC patches > > - driver_override functionality for AMBA devices > > - Several fixes > > Changes since v6: > > - Integrated support for AMBA devices > > - Numerous cleanups and fixes > > Changes since v5: > > - Full eventfd support for IRQ masking and unmasking. > > - Changed IOMMU_EXEC to IOMMU_NOEXEC, along with related flags in VFIO. > > - Other fixes based on reviewer comments. > > Changes since v4: > > - Use static offsets for each region in the VFIO device fd > > - Include patch in the series for the ARM SMMU to expose IOMMU_EXEC > > availability via IOMMU_CAP_DMA_EXEC > > - Rebased on VFIO multi domain support: > > - IOMMU_EXEC is now available if at least one IOMMU in the container > > supports it > > - Expose IOMMU_EXEC if available via the capability VFIO_IOMMU_PROT_EXEC > > - Some bug fixes > > Changes since v3: > > - Use Kim Phillips' driver_probe_device() > > Changes since v2: > > - Fixed Read/Write and MMAP on device regions > > - Removed dependency on Device Tree > > - Interrupts support > > - Interrupt masking/unmasking > > - Automask level sensitive interrupts > > - Introduced VFIO_DMA_MAP_FLAG_EXEC > > - Code clean ups > > > > Antonios Motakis (18): > > vfio/platform: initial skeleton of VFIO support for platform devices > > vfio: platform: probe to devices on the platform bus > > vfio: platform: add the VFIO PLATFORM module to Kconfig > > vfio/platform: return info for bound device > > vfio/platform: return info for device memory mapped IO regions > > vfio/platform: read and write support for the device fd > > vfio/platform: support MMAP of MMIO regions > > vfio/platform: return IRQ info > > vfio/platform: initial interrupts support code > > vfio/platform: trigger an interrupt via eventfd > > vfio/platform: support for level sensitive interrupts > > vfio: add a vfio_ prefix to virqfd_enable and virqfd_disable and > > export > > vfio: virqfd: rename vfio_pci_virqfd_init and vfio_pci_virqfd_exit > > vfio: add local lock for virqfd instead of depending on VFIO PCI > > vfio: pass an opaque pointer on virqfd initialization > > vfio: move eventfd support code for VFIO_PCI to a separate file > > vfio: initialize the virqfd workqueue in VFIO generic code > > vfio/platform: implement IRQ masking/unmasking via an eventfd > > > > drivers/vfio/Kconfig | 1 + > > drivers/vfio/Makefile | 5 +- > > drivers/vfio/pci/vfio_pci.c | 8 - > > drivers/vfio/pci/vfio_pci_intrs.c | 238 +----------- > > drivers/vfio/pci/vfio_pci_private.h | 3 - > > drivers/vfio/platform/Kconfig | 9 + > > drivers/vfio/platform/Makefile | 4 + > > drivers/vfio/platform/vfio_platform.c | 103 +++++ > > drivers/vfio/platform/vfio_platform_common.c | 521 > > ++++++++++++++++++++++++++ > > drivers/vfio/platform/vfio_platform_irq.c | 336 +++++++++++++++++ > > drivers/vfio/platform/vfio_platform_private.h | 85 +++++ > > drivers/vfio/vfio.c | 8 + > > drivers/vfio/virqfd.c | 213 +++++++++++ > > include/linux/vfio.h | 27 ++ > > include/uapi/linux/vfio.h | 1 + > > 15 files changed, 1326 insertions(+), 236 deletions(-) > > create mode 100644 drivers/vfio/platform/Kconfig > > create mode 100644 drivers/vfio/platform/Makefile > > create mode 100644 drivers/vfio/platform/vfio_platform.c > > create mode 100644 drivers/vfio/platform/vfio_platform_common.c > > create mode 100644 drivers/vfio/platform/vfio_platform_irq.c > > create mode 100644 drivers/vfio/platform/vfio_platform_private.h > > create mode 100644 drivers/vfio/virqfd.c > > > > -- > > 2.2.2 > > > > _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm