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

[vfio-users] VFIO not claiming device



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

What am I missing?

lspci -nnk -d 10de:1087
02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF110 [GeForce GTX 560 Ti 448 Cores] [10de:1087] (rev a1)
        Subsystem: NVIDIA Corporation Device [10de:0000]
        Kernel driver in use: nvidia
        Kernel modules: nouveau, nvidia_drm, nvidia


/etc/mkinitcpio.conf
MODULES="vfio vfio_iommu_type1 vfio_pci vfio_virqfd"
kernel boot options.
intel_iommu=on pcie_acs_override=downstream rd.driver.pre=vfio-pci
/etc/modprobe.d/VFIO.conf
options vfio-pci ids=10de:1087,10de:0e09
modinfo vfio-pci
filename:       /lib/modules/4.5.1-1-vfio/kernel/drivers/vfio/pci/vfio-pci.ko.gz
description:    VFIO PCI - User Level meta-driver
author:         Alex Williamson <alex williamson redhat com>
license:        GPL v2
version:        0.2
srcversion:     C2A1332D492B2BE5378D1E1
depends:        vfio,irqbypass,vfio_virqfd
intree:         Y
vermagic:       4.5.1-1-vfio SMP preempt mod_unload modversions
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)
parm:           nointxmask:Disable support for PCI 2.3 style INTx masking.  If this resolves problems for specific devices, report lspci -vvvxxx to linux-pci vger kernel org so the device can be fixed automatically via the broken_intx_masking flag. (bool)
parm:           disable_vga:Disable VGA resource access through vfio-pci (bool)
parm:           disable_idle_d3:Disable using the PCI D3 low power state for idle, unused devices (bool)
dmesg|grep -e DMAR -e IOMMU
[    0.000000] Warning: PCIe ACS overrides enabled; This may allow non-IOMMU protected peer-to-peer DMA
[    0.000000] ACPI: DMAR 0x0000000087F4D9F8 000070 (v01 INTEL  SKL      00000001 INTL 00000001)
[    0.000000] DMAR: IOMMU enabled
[    0.033182] DMAR: Host address width 39
[    0.033183] DMAR: DRHD base: 0x000000fed90000 flags: 0x1
[    0.033187] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap d2008c40660462 ecap f050da
[    0.033188] DMAR: RMRR base: 0x00000087906000 end: 0x00000087925fff
[    0.033189] DMAR-IR: IOAPIC id 2 under DRHD base  0xfed90000 IOMMU 0
[    0.033190] DMAR-IR: HPET id 0 under DRHD base 0xfed90000
[    0.033191] DMAR-IR: x2apic is disabled because BIOS sets x2apic opt out bit.
[    0.033191] DMAR-IR: Use 'intremap=no_x2apic_optout' to override the BIOS setting.
[    0.034540] DMAR-IR: Enabled IRQ remapping in xapic mode
[    0.352192] DMAR: No ATSR found
[    0.352245] DMAR: dmar0: Using Queued invalidation
[    0.352251] DMAR: Setting RMRR:
[    0.352258] DMAR: Setting identity map for device 0000:00:14.0 [0x87906000 - 0x87925fff]
[    0.352262] DMAR: Prepare 0-16MiB unity mapping for LPC
[    0.352266] DMAR: Setting identity map for device 0000:00:1f.0 [0x0 - 0xffffff]
[    0.352270] DMAR: Intel(R) Virtualization Technology for Directed I/O

Incase this helps, here are my IOMMU groupings
IOMMU group 0
        00:00.0 Host bridge [0600]: Intel Corporation Skylake Host Bridge/DRAM Registers [8086:191f] (rev 07)
IOMMU group 1
        00:01.0 PCI bridge [0604]: Intel Corporation Skylake PCIe Controller (x16) [8086:1901] (rev 07)
IOMMU group 2
        00:01.1 PCI bridge [0604]: Intel Corporation Skylake PCIe Controller (x8) [8086:1905] (rev 07)
IOMMU group 3
        00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)
        00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-H Thermal subsystem [8086:a131] (rev 31)
IOMMU group 4
        00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)
IOMMU group 5
        00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] [8086:a102] (rev 31)
IOMMU group 6
        00:1b.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Root Port #17 [8086:a167] (rev f1)
IOMMU group 7
        00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #1 [8086:a110] (rev f1)
IOMMU group 8
        00:1c.4 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #5 [8086:a114] (rev f1)
IOMMU group 9
        00:1c.5 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #6 [8086:a115] (rev f1)
IOMMU group 10
        00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #9 [8086:a118] (rev f1)
IOMMU group 11
        00:1d.4 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #13 [8086:a11c] (rev f1)
IOMMU group 12
        00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a145] (rev 31)
        00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)
        00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)
        00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)
IOMMU group 13
        00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (2) I219-V [8086:15b8] (rev 31)
IOMMU group 14
        01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM204 [GeForce GTX 970] [10de:13c2] (rev a1)
        01:00.1 Audio device [0403]: NVIDIA Corporation GM204 High Definition Audio Controller [10de:0fbb] (rev a1)
IOMMU group 15
        02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF110 [GeForce GTX 560 Ti 448 Cores] [10de:1087] (rev a1)
        02:00.1 Audio device [0403]: NVIDIA Corporation GF110 High Definition Audio Controller [10de:0e09] (rev a1)
IOMMU group 16
        04:00.0 PCI bridge [0604]: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] [8086:1578]
IOMMU group 17
        05:00.0 PCI bridge [0604]: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] [8086:1578]
IOMMU group 18
        05:01.0 PCI bridge [0604]: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] [8086:1578]
IOMMU group 19
        05:02.0 PCI bridge [0604]: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] [8086:1578]
IOMMU group 20
        05:04.0 PCI bridge [0604]: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] [8086:1578]
IOMMU group 21
        08:00.0 USB controller [0c03]: Intel Corporation DSL6540 USB 3.1 Controller [Alpine Ridge] [8086:15b6]
IOMMU group 22
        0a:00.0 Ethernet controller [0200]: Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03)
IOMMU group 23
        0b:00.0 SATA controller [0106]: ASMedia Technology Inc. ASM1062 Serial ATA Controller [1b21:0612] (rev 02)





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