[libvirt] [PATCHv3] pci: new iommu_group functions

Daniel P. Berrange berrange at redhat.com
Wed Jun 26 16:25:29 UTC 2013


On Tue, Jun 25, 2013 at 06:40:09PM -0400, Laine Stump wrote:
> Any device which belongs to an "IOMMU group" (used by vfio) will
> have links to all devices of its group listed in
> /sys/bus/pci/$device/iommu_group/devices;
> /sys/bus/pci/$device/iommu_group is actually a link to
> /sys/kernel/iommu_groups/$n, where $n is the group number (there
> will be a corresponding device node at /dev/vfio/$n once the
> devices are bound to the vfio-pci driver)
> 
> The following functions are added:
> 
> virPCIDeviceGetIOMMUGroupList
> 
>   Gets a virPCIDeviceList with one virPCIDeviceList for each device
>   in the same IOMMU group as the provided virPCIDevice (a copy of the
>   original device object is included in the list.
> 
> virPCIDeviceAddressIOMMUGroupIterate
> 
>   Calls the function @actor once for each device in the group that
>   contains the given virPCIDeviceAddress.
> 
> virPCIDeviceAddressGetIOMMUGroupAddresses
> 
>   Fills in a virPCIDeviceAddressPtr * with an array of
>   virPCIDeviceAddress, one for each device in the iommu group of the
>   provided virPCIDeviceAddress (including a copy of the original).
> 
> virPCIDeviceAddressGetIOMMUGroupNum
> 
>   Returns the group number as an int (a valid group number will always
>   be 0 or greater).  If there is no iommu_group link in the device's
>   directory (usually indicating that vfio isn't loaded), -2 will be
>   returned. On any real error, -1 will be returned.
> ---
> changes from v2:
> 
> 1) rename functions for consistency 
> 
> 2) set errno=0 prior to each call to readdir, and check for non-zero
>    errno at the end.
> 
> 3) remove some braces.
> 
> Everything else in the series of 12 was ACKed, and all but this and
> the patch that adds the <iommuGroup> element to the nodedev-dumpxml
> output have been pushed.
> 
>  src/libvirt_private.syms |   4 +
>  src/util/virpci.c        | 223 +++++++++++++++++++++++++++++++++++++++++++++++
>  src/util/virpci.h        |  15 +++-
>  3 files changed, 239 insertions(+), 3 deletions(-)

ACK


Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list