lkml.org 
[lkml]   [2011]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 0/4] iommu: iommu_ops group interface
From
Date
On Fri, 2011-10-21 at 13:55 -0600, Alex Williamson wrote:
> IOMMUs can't always distiguish transactions from each individual
> device in a system. Sometimes this is by design (such as powerpc
> partitionable endpoints), other times by topology (PCIe-to-PCI
> bridges masking downstream devices). We call these sets of
> indistinguishable devices "groups".
>
> In order to support secure userspace drivers, like vfio, we need
> an interface to expose the device-to-group relationship. This
> allows us to create policies ensuring that userspace controls all
> of the devices in the group before allowing individual device
> access.
>
> This series implements the iommu_ops API interface and sysfs
> interface for exposing groups to userspace. This also includes
> the intel-iommu and amd-iommu backend implementations. It's
> intended that the vfio driver will make use of these interfaces
> to support generic device assignment for virtual machines. See
> git://github.com/awilliam/linux-vfio.git (vfio-ng) for a working
> example using this interface.
>
> Patches based on Joerg's next branch to support per-bus iommu_ops.
>
> Note the amd-iommu is untested, I'm still working on setting up
> an AMD-Vi capable system. Thanks,

Now tested, even seems to work :)

Alex

> ---
>
> Alex Williamson (4):
> iommu: Add option to group multi-function devices
> amd-iommu: Implement iommu_device_group
> intel-iommu: Implement iommu_device_group
> iommu: Add iommu_device_group callback and iommu_group sysfs entry
>
>
> Documentation/kernel-parameters.txt | 4 ++
> arch/ia64/include/asm/iommu.h | 2 +
> arch/ia64/kernel/pci-dma.c | 1 +
> arch/x86/include/asm/iommu.h | 1 +
> arch/x86/kernel/pci-dma.c | 11 ++++++
> drivers/iommu/amd_iommu.c | 21 ++++++++++++
> drivers/iommu/intel-iommu.c | 47 +++++++++++++++++++++++++++
> drivers/iommu/iommu.c | 61 +++++++++++++++++++++++++++++++++++
> include/linux/iommu.h | 7 ++++
> 9 files changed, 154 insertions(+), 1 deletions(-)





\
 
 \ /
  Last update: 2011-10-27 18:35    [from the cache]
©2003-2014 Jasper Spaans. hosted at Digital Ocean