<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
To start I am now running Arch with the VFIO kernel, I did not
compile with the i915, my machine failed to boot with that last
time. Currently I can't seem to get VFIO to claim the devices I
want to pass-through. You can see kernel driver is still nvidia. I
added my configs below. I even tried a script. Every time I modify
mkinitcpio.conf I regenerate my intramfd with mkinitcpio -p
linux-vfio<br>
<br>
What am I missing?
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<br>
<br>
lspci -nnk -d 10de:1087<br>
<blockquote>02:00.0 VGA compatible controller [0300]: NVIDIA
Corporation GF110 [GeForce GTX 560 Ti 448 Cores] [10de:1087] (rev
a1)<br>
Subsystem: NVIDIA Corporation Device [10de:0000]<br>
Kernel driver in use: nvidia<br>
Kernel modules: nouveau, nvidia_drm, nvidia<br>
</blockquote>
<br>
<br>
/etc/mkinitcpio.conf<br>
<blockquote>MODULES="vfio vfio_iommu_type1 vfio_pci vfio_virqfd"<br>
</blockquote>
kernel boot options.<br>
<blockquote>intel_iommu=on pcie_acs_override=downstream
rd.driver.pre=vfio-pci<br>
</blockquote>
/etc/modprobe.d/VFIO.conf <br>
<blockquote>options vfio-pci ids=10de:1087,10de:0e09<br>
</blockquote>
modinfo vfio-pci<br>
<blockquote>filename:
/lib/modules/4.5.1-1-vfio/kernel/drivers/vfio/pci/vfio-pci.ko.gz<br>
description: VFIO PCI - User Level meta-driver<br>
author: Alex Williamson <a class="moz-txt-link-rfc2396E" href="mailto:alex.williamson@redhat.com"><alex.williamson@redhat.com></a><br>
license: GPL v2<br>
version: 0.2<br>
srcversion: C2A1332D492B2BE5378D1E1<br>
depends: vfio,irqbypass,vfio_virqfd<br>
intree: Y<br>
vermagic: 4.5.1-1-vfio SMP preempt mod_unload modversions <br>
parm: ids:Initial PCI IDs to add to the vfio driver,
format is
"vendor:device[:subvendor[:subdevice[:class[:class_mask]]]]" and
multiple comma separated entries can be specified (string)<br>
parm: nointxmask:Disable support for PCI 2.3 style INTx
masking. If this resolves problems for specific devices, report
lspci -vvvxxx to <a class="moz-txt-link-abbreviated" href="mailto:linux-pci@vger.kernel.org">linux-pci@vger.kernel.org</a> so the device can be
fixed automatically via the broken_intx_masking flag. (bool)<br>
parm: disable_vga:Disable VGA resource access through
vfio-pci (bool)<br>
parm: disable_idle_d3:Disable using the PCI D3 low power
state for idle, unused devices (bool)<br>
</blockquote>
dmesg|grep -e DMAR -e IOMMU<br>
<blockquote>[ 0.000000] Warning: PCIe ACS overrides enabled; This
may allow non-IOMMU protected peer-to-peer DMA<br>
[ 0.000000] ACPI: DMAR 0x0000000087F4D9F8 000070 (v01 INTEL
SKL 00000001 INTL 00000001)<br>
[ 0.000000] DMAR: IOMMU enabled<br>
[ 0.033182] DMAR: Host address width 39<br>
[ 0.033183] DMAR: DRHD base: 0x000000fed90000 flags: 0x1<br>
[ 0.033187] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap
d2008c40660462 ecap f050da<br>
[ 0.033188] DMAR: RMRR base: 0x00000087906000 end:
0x00000087925fff<br>
[ 0.033189] DMAR-IR: IOAPIC id 2 under DRHD base 0xfed90000
IOMMU 0<br>
[ 0.033190] DMAR-IR: HPET id 0 under DRHD base 0xfed90000<br>
[ 0.033191] DMAR-IR: x2apic is disabled because BIOS sets
x2apic opt out bit.<br>
[ 0.033191] DMAR-IR: Use 'intremap=no_x2apic_optout' to
override the BIOS setting.<br>
[ 0.034540] DMAR-IR: Enabled IRQ remapping in xapic mode<br>
[ 0.352192] DMAR: No ATSR found<br>
[ 0.352245] DMAR: dmar0: Using Queued invalidation<br>
[ 0.352251] DMAR: Setting RMRR:<br>
[ 0.352258] DMAR: Setting identity map for device 0000:00:14.0
[0x87906000 - 0x87925fff]<br>
[ 0.352262] DMAR: Prepare 0-16MiB unity mapping for LPC<br>
[ 0.352266] DMAR: Setting identity map for device 0000:00:1f.0
[0x0 - 0xffffff]<br>
[ 0.352270] DMAR: Intel(R) Virtualization Technology for
Directed I/O<br>
</blockquote>
<br>
Incase this helps, here are my IOMMU groupings<br>
<blockquote>IOMMU group 0<br>
00:00.0 Host bridge [0600]: Intel Corporation Skylake Host
Bridge/DRAM Registers [8086:191f] (rev 07)<br>
IOMMU group 1<br>
00:01.0 PCI bridge [0604]: Intel Corporation Skylake PCIe
Controller (x16) [8086:1901] (rev 07)<br>
IOMMU group 2<br>
00:01.1 PCI bridge [0604]: Intel Corporation Skylake PCIe
Controller (x8) [8086:1905] (rev 07)<br>
IOMMU group 3<br>
00:14.0 USB controller [0c03]: Intel Corporation Sunrise
Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)<br>
00:14.2 Signal processing controller [1180]: Intel
Corporation Sunrise Point-H Thermal subsystem [8086:a131] (rev 31)<br>
IOMMU group 4<br>
00:16.0 Communication controller [0780]: Intel Corporation
Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)<br>
IOMMU group 5<br>
00:17.0 SATA controller [0106]: Intel Corporation Sunrise
Point-H SATA controller [AHCI mode] [8086:a102] (rev 31)<br>
IOMMU group 6<br>
00:1b.0 PCI bridge [0604]: Intel Corporation Sunrise
Point-H PCI Root Port #17 [8086:a167] (rev f1)<br>
IOMMU group 7<br>
00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise
Point-H PCI Express Root Port #1 [8086:a110] (rev f1)<br>
IOMMU group 8<br>
00:1c.4 PCI bridge [0604]: Intel Corporation Sunrise
Point-H PCI Express Root Port #5 [8086:a114] (rev f1)<br>
IOMMU group 9<br>
00:1c.5 PCI bridge [0604]: Intel Corporation Sunrise
Point-H PCI Express Root Port #6 [8086:a115] (rev f1)<br>
IOMMU group 10<br>
00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise
Point-H PCI Express Root Port #9 [8086:a118] (rev f1)<br>
IOMMU group 11<br>
00:1d.4 PCI bridge [0604]: Intel Corporation Sunrise
Point-H PCI Express Root Port #13 [8086:a11c] (rev f1)<br>
IOMMU group 12<br>
00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise
Point-H LPC Controller [8086:a145] (rev 31)<br>
00:1f.2 Memory controller [0580]: Intel Corporation
Sunrise Point-H PMC [8086:a121] (rev 31)<br>
00:1f.3 Audio device [0403]: Intel Corporation Sunrise
Point-H HD Audio [8086:a170] (rev 31)<br>
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H
SMBus [8086:a123] (rev 31)<br>
IOMMU group 13<br>
00:1f.6 Ethernet controller [0200]: Intel Corporation
Ethernet Connection (2) I219-V [8086:15b8] (rev 31)<br>
IOMMU group 14<br>
01:00.0 VGA compatible controller [0300]: NVIDIA
Corporation GM204 [GeForce GTX 970] [10de:13c2] (rev a1)<br>
01:00.1 Audio device [0403]: NVIDIA Corporation GM204 High
Definition Audio Controller [10de:0fbb] (rev a1)<br>
IOMMU group 15<br>
02:00.0 VGA compatible controller [0300]: NVIDIA
Corporation GF110 [GeForce GTX 560 Ti 448 Cores] [10de:1087] (rev
a1)<br>
02:00.1 Audio device [0403]: NVIDIA Corporation GF110 High
Definition Audio Controller [10de:0e09] (rev a1)<br>
IOMMU group 16<br>
04:00.0 PCI bridge [0604]: Intel Corporation DSL6540
Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] [8086:1578]<br>
IOMMU group 17<br>
05:00.0 PCI bridge [0604]: Intel Corporation DSL6540
Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] [8086:1578]<br>
IOMMU group 18<br>
05:01.0 PCI bridge [0604]: Intel Corporation DSL6540
Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] [8086:1578]<br>
IOMMU group 19<br>
05:02.0 PCI bridge [0604]: Intel Corporation DSL6540
Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] [8086:1578]<br>
IOMMU group 20<br>
05:04.0 PCI bridge [0604]: Intel Corporation DSL6540
Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] [8086:1578]<br>
IOMMU group 21<br>
08:00.0 USB controller [0c03]: Intel Corporation DSL6540
USB 3.1 Controller [Alpine Ridge] [8086:15b6]<br>
IOMMU group 22<br>
0a:00.0 Ethernet controller [0200]: Intel Corporation I211
Gigabit Network Connection [8086:1539] (rev 03)<br>
IOMMU group 23<br>
0b:00.0 SATA controller [0106]: ASMedia Technology Inc.
ASM1062 Serial ATA Controller [1b21:0612] (rev 02)<br>
</blockquote>
<br>
<br>
<br>
<br>
</body>
</html>