Re: [PATCH v10 00/20] VFIO support for platform and ARM AMBA devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/01/2014 01:45 PM, Antonios Motakis wrote:
> Hello Eric,
> 
> On Fri, Nov 28, 2014 at 7:05 PM, Eric Auger <eric.auger@xxxxxxxxxx> wrote:
>> Hi Antonios,
>>
>> you can add Tested-by: Eric Auger <eric.auger@xxxxxxxxxx>
>>
> 
> Thanks!
> 
>> I added some patches related to IOMMU_CAP_NOEXEC cap to compile your 2
>> series with v3.18-rc5, maybe due to the fact I did not use some
>> iommu/vt-d stuff? See my 3.18-rc6-v10 on my kernel git branch.
>>
> 
> The IOMMU_NOEXEC stuff no lives in Joerg Roedel's iommu/next branch;
> see https://git.kernel.org/cgit/linux/kernel/git/joro/iommu.git/log/?h=next
> 
> As mentioned in the cover of the first patch series, you will have to
> apply the rest of the patches on that, until eventually they are
> pulled in mainline. There are also some other dependencies in there as
> well for the new type1 for ARM patch series.

ok thanks,

Eric
> 
> Best regards
> Antonios
> 
>> Best Regards
>>
>> Eric
>>
>> On 11/27/2014 06:32 PM, Antonios Motakis 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] driver core: amba: add device binding path 'driver_override'
>>>  - [PATCH v3 0/6] vfio: type1: support for ARM SMMUS with VFIO_IOMMU_TYPE1
>>>
>>> A copy can be cloned from the branch vfio-platform-v10 at:
>>> git@xxxxxxxxxx:virtualopensystems/linux-kvm-arm.git
>>>
>>> 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 (20):
>>>   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: amba: VFIO support for AMBA devices
>>>   vfio: amba: add the VFIO for AMBA devices 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                 |  19 +
>>>  drivers/vfio/platform/Makefile                |   8 +
>>>  drivers/vfio/platform/vfio_amba.c             | 110 ++++++
>>>  drivers/vfio/platform/vfio_platform.c         | 103 +++++
>>>  drivers/vfio/platform/vfio_platform_common.c  | 520 ++++++++++++++++++++++++++
>>>  drivers/vfio/platform/vfio_platform_irq.c     | 331 ++++++++++++++++
>>>  drivers/vfio/platform/vfio_platform_private.h |  82 ++++
>>>  drivers/vfio/vfio.c                           |   8 +
>>>  drivers/vfio/virqfd.c                         | 213 +++++++++++
>>>  include/linux/vfio.h                          |  27 ++
>>>  include/uapi/linux/vfio.h                     |   2 +
>>>  16 files changed, 1442 insertions(+), 236 deletions(-)
>>>  create mode 100644 drivers/vfio/platform/Kconfig
>>>  create mode 100644 drivers/vfio/platform/Makefile
>>>  create mode 100644 drivers/vfio/platform/vfio_amba.c
>>>  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
>>>
>>

_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm




[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux