[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