[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Determining iommu groups in Xen?

On 28 August 2014 19:45, Peter Kay <syllopsium@xxxxxxxxxxxxxxxx> wrote:

On 28 August 2014 19:02:47 BST, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote:
>On 28/08/14 18:53, Peter Kay wrote:
>> On 28 August 2014 18:13:07 BST, Andrew Cooper
><andrew.cooper3@xxxxxxxxxx> wrote:

>> An iommu group, as far as I'm aware, is the group of devices that are
>not protected from each other. In KVM, you must pass through the entire
>group to a VM at once, unless a 'don't go crying to me if it stomps
>over your memory space or worse' patch is applied to the kennel
>claiming that everything is fine.
>I have googled the term in the meantime, and it is what I initially
>All PCI devices passed though to the same domain share the same single
>"iommu group" per Kernel/KVM terminology. There is not currently any
>support for multiple iommu contexts within a single VM.
See Âhttp://lxr.free-electrons.com/source/drivers/iommu/iommu.c Âand intel-iommu.c (or amd-iommu.c). It is based on the ACS capability of the upstream device. See in particularÂintel_iommu_add_device()

'Therefore, while for the most part an IOMMU may have device level
granularity, any system is susceptible to reduced granularity. ÂThe
IOMMU API therefore supports a notion of IOMMU groups. ÂA group is
a set of devices which is isolatable from all other devices in the
system. ÂGroups are therefore the unit of ownership used by VFIO'

So far as reliable quirks go for ACS protection, see drivers/pci/quirks.c static const u16 pci_quirk_intel_pch_acs_ids[] and Red Hat bugzilla 1037684

I'll have to do some more testing to see if lspci -t is a reasonable indication of iommu groups or if I can write some code to figure them out.

Obviously returning the information from the Linux source is ultimately not really a good idea(*), because the dom0 may not be Linux. It is in my case, because NetBSD is (unfortunately) not yet functional enough for my needs and I don't want to use Solaris derived OS, but that doesn't help everyone else.

(*) Assuming it's possible at all, as the Linux dom0 is running on top of Xen and therefore is restricted in some ways.

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.