I faced a really strange thing I would like to understand. I'm trying to passthroug a PCI device and tusing arch linux (4.12.3-1-ARCH) for it. When I boot system with the native kernel in kernel.log I can see the following
[ 0.000000] DMAR: IOMMU enabled
[ 0.173434] DMAR: Disabling IOMMU for graphics on this chipset
Respectively, with the native kernel there are some iommu groups in
/sys/kernel/iommu_groups, but for xen this directory is empty. As I understand absence of the iommu groups means that I can not really pass throug my PCI. Am I right about it?
xl dmesg
(XEN) Xen version 4.9.0 (epitt@localdomain) (gcc (GCC) 7.1.1 20170630) debug=n Thu Aug 3 18:54:42 EEST 2017
(XEN) Latest ChangeSet:
(XEN) Bootloader: GRUB 2.02
(XEN) Command line: /boot/xen-4.9.0.gz xsave=1 intel_iommu=on
...
(XEN) Initing memory sharing.
(XEN) Intel VT-d iommu 1 supported page sizes: 4kB.
(XEN) Intel VT-d iommu 0 supported page sizes: 4kB.
(XEN) Intel VT-d iommu 2 supported page sizes: 4kB.
(XEN) Intel VT-d Snoop Control not enabled.
(XEN) Intel VT-d Dom0 DMA Passthrough not enabled.
(XEN) Intel VT-d Queued Invalidation not enabled.
(XEN) Intel VT-d Interrupt Remapping not enabled.
(XEN) Intel VT-d Posted Interrupt not enabled.
(XEN) Intel VT-d Shared EPT tables not enabled.
(XEN) I/O virtualisation enabled
(XEN) - Dom0 mode: Relaxed
(XEN) Interrupt remapping disabled
(XEN) ENABLING IO-APIC IRQs
(XEN) -> Using new ACK method
Kernel command line is the same for the both boots (/boot/vmlinuz-linux root=UUID=xxxxxx rw quiet intel_iommu=on console=tty0).
So why iommu groups dissapear in xen?