• A
    iommu: Add iommu_device_group callback and iommu_group sysfs entry · 1460432c
    Alex Williamson 提交于
    An IOMMU group is a set of devices for which the IOMMU cannot
    distinguish transactions.  For PCI devices, a group often occurs
    when a PCI bridge is involved.  Transactions from any device
    behind the bridge appear to be sourced from the bridge itself.
    We leave it to the IOMMU driver to define the grouping restraints
    for their platform.
    
    Using this new interface, the group for a device can be retrieved
    using the iommu_device_group() callback.  Users will compare the
    value returned against the value returned for other devices to
    determine whether they are part of the same group.  Devices with
    no group are not translated by the IOMMU.  There should be no
    expectations about the group numbers as they may be arbitrarily
    assigned by the IOMMU driver and may not be persistent across boots.
    
    We also provide a sysfs interface to the group numbers here so
    that userspace can understand IOMMU dependencies between devices
    for managing safe, userspace drivers.
    
    [Some code changes by Joerg Roedel <joerg.roedel@amd.com>]
    Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
    Signed-off-by: NJoerg Roedel <joerg.roedel@amd.com>
    1460432c
iommu.h 5.7 KB