Linux KVM/arm64 development list
 help / color / mirror / Atom feed
* Re: [PATCH v13 00/18] VFIO support for platform devices
       [not found] <1422625584-3741-1-git-send-email-b.reynal@virtualopensystems.com>
@ 2015-02-26 17:02 ` Baptiste Reynal
  2015-02-26 17:30   ` Alex Williamson
  2015-02-26 17:32   ` Marc Zyngier
  0 siblings, 2 replies; 4+ messages in thread
From: Baptiste Reynal @ 2015-02-26 17:02 UTC (permalink / raw)
  To: kvm-arm, Linux IOMMU, Alex Williamson
  Cc: Marc Zyngier, Will Deacon, VirtualOpenSystems Technical Team


[-- Attachment #1.1: Type: text/plain, Size: 5869 bytes --]

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@virtualopensystems.com> 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
>
> A copy can be cloned from the branch vfio-platform-v13 at:
> git@github.com: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
>
>

[-- Attachment #1.2: Type: text/html, Size: 6878 bytes --]

[-- Attachment #2: Type: text/plain, Size: 151 bytes --]

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v13 00/18] VFIO support for platform devices
  2015-02-26 17:02 ` [PATCH v13 00/18] VFIO support for platform devices Baptiste Reynal
@ 2015-02-26 17:30   ` Alex Williamson
  2015-02-26 17:32   ` Marc Zyngier
  1 sibling, 0 replies; 4+ messages in thread
From: Alex Williamson @ 2015-02-26 17:30 UTC (permalink / raw)
  To: Baptiste Reynal
  Cc: Marc Zyngier, Will Deacon, Linux IOMMU,
	VirtualOpenSystems Technical Team, kvm-arm

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@virtualopensystems.com> 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@github.com: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
> >
> >

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v13 00/18] VFIO support for platform devices
  2015-02-26 17:02 ` [PATCH v13 00/18] VFIO support for platform devices Baptiste Reynal
  2015-02-26 17:30   ` Alex Williamson
@ 2015-02-26 17:32   ` Marc Zyngier
  2015-02-27 11:05     ` Baptiste Reynal
  1 sibling, 1 reply; 4+ messages in thread
From: Marc Zyngier @ 2015-02-26 17:32 UTC (permalink / raw)
  To: Baptiste Reynal, kvm-arm, Linux IOMMU, Alex Williamson
  Cc: VirtualOpenSystems Technical Team, Will Deacon

Hi Baptiste,

On 26/02/15 17:02, 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?

For a start, it looks like the dependency mentioned below is still not
in, which is a bit of a problem.

Also, trying to merge your branch below (after fixing the URL), I get
some conflicts with the current mainline, so that's a bit of a show
stopper too.

Can you start by rebasing on top of 4.0-rc1 with all the dependencies,
reposting the series, and cc-ing the original author of the patches (as
I cannot see Antonios on the CC list)?

Thanks,

	M.

> Thanks,
> Baptiste
> 
> On Fri, Jan 30, 2015 at 2:46 PM, Baptiste Reynal <b.reynal@virtualopensystems.com<mailto:b.reynal@virtualopensystems.com>> 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
> 
> A copy can be cloned from the branch vfio-platform-v13 at:
> git@github.com: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
> 
> 


-- 
Jazz is not dead. It just smells funny...

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v13 00/18] VFIO support for platform devices
  2015-02-26 17:32   ` Marc Zyngier
@ 2015-02-27 11:05     ` Baptiste Reynal
  0 siblings, 0 replies; 4+ messages in thread
From: Baptiste Reynal @ 2015-02-27 11:05 UTC (permalink / raw)
  To: Marc Zyngier
  Cc: Will Deacon, Alex Williamson, Linux IOMMU,
	VirtualOpenSystems Technical Team, kvm-arm


[-- Attachment #1.1: Type: text/plain, Size: 7117 bytes --]

Thanks for your answers.

I am now the sub-maintainer of vfio-platform. I will handle the rebase of
these serie and fix "[PATCH v3 0/6] vfio: type1: support for ARM SMMUS with
VFIO_IOMMU_TYPE1". New versions are coming soon.

Regards,
Baptiste

On Thu, Feb 26, 2015 at 6:32 PM, Marc Zyngier <marc.zyngier@arm.com> wrote:

> Hi Baptiste,
>
> On 26/02/15 17:02, 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?
>
> For a start, it looks like the dependency mentioned below is still not
> in, which is a bit of a problem.
>
> Also, trying to merge your branch below (after fixing the URL), I get
> some conflicts with the current mainline, so that's a bit of a show
> stopper too.
>
> Can you start by rebasing on top of 4.0-rc1 with all the dependencies,
> reposting the series, and cc-ing the original author of the patches (as
> I cannot see Antonios on the CC list)?
>
> Thanks,
>
>         M.
>
> > Thanks,
> > Baptiste
> >
> > On Fri, Jan 30, 2015 at 2:46 PM, Baptiste Reynal <
> b.reynal@virtualopensystems.com<mailto:b.reynal@virtualopensystems.com>>
> 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
> >
> > A copy can be cloned from the branch vfio-platform-v13 at:
> > git@github.com: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
> >
> >
>
>
> --
> Jazz is not dead. It just smells funny...
>

[-- Attachment #1.2: Type: text/html, Size: 8780 bytes --]

[-- Attachment #2: Type: text/plain, Size: 151 bytes --]

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-02-27 10:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1422625584-3741-1-git-send-email-b.reynal@virtualopensystems.com>
2015-02-26 17:02 ` [PATCH v13 00/18] VFIO support for platform devices Baptiste Reynal
2015-02-26 17:30   ` Alex Williamson
2015-02-26 17:32   ` Marc Zyngier
2015-02-27 11:05     ` Baptiste Reynal

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox