You are not logged in.

#1 2021-07-01 05:39:54

kyokujitsu
Member
Registered: 2021-07-01
Posts: 4

IOMMU not working - MSI Z490-A PRO, i9 10900k, AMD R290

I can't figure out why IOMMU isn't working. I've followed https://wiki.archlinux.org/title/PCI_pa … h_via_OVMF

I've enabled VT-D, SRV-IO, set the kernel param intel_iommu=on, checked the kernel config. But no dice hmm
IOMMU groups are empty, trying to passthrough the pcie gpu fails with error -22

dmesg | grep -i -e DMAR -e IOMMU                                                                                                                                                                       ─╯
[    0.000000] Command line: initrd=\intel-ucode.img initrd=\initramfs-linux.img root="LABEL=root" rw iommu_intel=on iommu=pt vfio-pci.ids=1002:67b1
[    0.015553] ACPI: DMAR 0x0000000098E75000 0000A8 (v01 INTEL  EDK2     00000002      01000013)
[    0.015587] ACPI: Reserving DMAR table memory at [mem 0x98e75000-0x98e750a7]
[    0.062448] Kernel command line: initrd=\intel-ucode.img initrd=\initramfs-linux.img root="LABEL=root" rw iommu_intel=on iommu=pt vfio-pci.ids=1002:67b1
[    0.140905] DMAR: Host address width 39
[    0.140906] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[    0.140911] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap 1c0000c40660462 ecap 19e2ff0505e
[    0.140913] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[    0.140917] DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap d2008c40660462 ecap f050da
[    0.140918] DMAR: RMRR base: 0x000000998f1000 end: 0x00000099b3afff
[    0.140920] DMAR: RMRR base: 0x0000009b000000 end: 0x0000009f7fffff
[    0.140923] DMAR-IR: IOAPIC id 2 under DRHD base  0xfed91000 IOMMU 1
[    0.140924] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[    0.140925] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[    0.142642] DMAR-IR: Enabled IRQ remapping in x2apic mode
[    0.376886] iommu: Default domain type: Passthrough (set via kernel command line)
[    0.650716] AMD-Vi: AMD IOMMUv2 driver by Joerg Roedel <jroedel@suse.de>
[    0.650716] AMD-Vi: AMD IOMMUv2 functionality not available on this system
[    1.190037]     iommu_intel=on
dmesg | grep -i vfio                                                                                                                                                                                    ─╯
[    0.000000] Command line: initrd=\intel-ucode.img initrd=\initramfs-linux.img root="LABEL=root" rw iommu_intel=on iommu=pt vfio-pci.ids=1002:67b1
[    0.062448] Kernel command line: initrd=\intel-ucode.img initrd=\initramfs-linux.img root="LABEL=root" rw iommu_intel=on iommu=pt vfio-pci.ids=1002:67b1
[    1.246241] VFIO - User Level meta-driver version: 0.3
[    1.249151] vfio-pci: probe of 0000:01:00.0 failed with error -22
[    1.249152] vfio_pci: add [1002:67b1[ffffffff:ffffffff]] class 0x000000/00000000
╰─ cat /boot/loader/entries/linux.conf                                                                                                                                                                          ─╯
title   Arch Linux
linux   /vmlinuz-linux
initrd  /intel-ucode.img
initrd  /initramfs-linux.img
options root="LABEL=root" rw iommu_intel=on iommu=pt vfio-pci.ids=1002:67b1
╰─ zcat /proc/config.gz| grep IOMMU                                                                                                                                                                             ─╯
CONFIG_IRQ_MSI_IOMMU=y
# CONFIG_GART_IOMMU is not set
CONFIG_VFIO_IOMMU_TYPE1=m
# CONFIG_VFIO_NOIOMMU is not set
CONFIG_IOMMU_IOVA=y
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y
# Generic IOMMU Pagetable Support
CONFIG_IOMMU_IO_PGTABLE=y
# end of Generic IOMMU Pagetable Support
# CONFIG_IOMMU_DEBUGFS is not set
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
CONFIG_IOMMU_DMA=y
CONFIG_AMD_IOMMU=y
CONFIG_AMD_IOMMU_V2=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_SVM=y
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
CONFIG_HYPERV_IOMMU=y

Any help is appreciated. Am I missing something here?

Thanks!

Last edited by kyokujitsu (2021-07-01 05:40:24)

Offline

#2 2021-07-01 10:52:40

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 15,086

Re: IOMMU not working - MSI Z490-A PRO, i9 10900k, AMD R290

The latest firmware version for your motherboard is 7C75v29 from 2021-04-22 , which version are you running ?

[1] https://www.msi.com/Motherboard/support … #down-bios


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#3 2021-07-01 16:03:21

kyokujitsu
Member
Registered: 2021-07-01
Posts: 4

Re: IOMMU not working - MSI Z490-A PRO, i9 10900k, AMD R290

I'm running the latest one, also tried that route.... hmm I don't get it...
Did BIOS reset, cleared CMOS, everything I can think off.  Also tried running linux-vfio-lts kernel

Offline

#4 2021-07-01 16:45:10

vorvac
Member
Registered: 2021-05-14
Posts: 44

Re: IOMMU not working - MSI Z490-A PRO, i9 10900k, AMD R290

What are the contents of /etc/mkinitcpio.conf ?

Offline

#5 2021-07-01 21:02:18

kyokujitsu
Member
Registered: 2021-07-01
Posts: 4

Re: IOMMU not working - MSI Z490-A PRO, i9 10900k, AMD R290

# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run.  Advanced users may wish to specify all system modules
# in this array.  For instance:
#     MODULES=(piix ide_disk reiserfs)
MODULES=(vfio_pci vfio vfio_iommu_type1 vfio_virqfd)
# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image.  This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way.  This is useful for config files.
FILES=()

# HOOKS
# This is the most important setting in this file.  The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
##   This setup specifies all modules in the MODULES setting above.
##   No raid, lvm2, or encrypted root is needed.
#    HOOKS=(base)
#
##   This setup will autodetect all modules for your system and should
##   work as a sane default
#    HOOKS=(base udev autodetect block filesystems)
#
##   This setup will generate a 'full' image which supports most systems.
##   No autodetection is done.
#    HOOKS=(base udev block filesystems)
#
##   This setup assembles a pata mdadm array with an encrypted root FS.
##   Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
#    HOOKS=(base udev block mdadm encrypt filesystems)
#
##   This setup loads an lvm2 volume group on a usb device.
#    HOOKS=(base udev block lvm2 filesystems)
#
##   NOTE: If you have /usr on a separate partition, you MUST include the
#    usr, fsck and shutdown hooks.
HOOKS=(systemd btrfs autodetect modconf block filesystems keymap consolefont keyboard fsck)

# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"
#COMPRESSION="zstd"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()

Offline

#6 2021-07-01 22:24:53

loqs
Member
Registered: 2014-03-06
Posts: 18,911

Re: IOMMU not working - MSI Z490-A PRO, i9 10900k, AMD R290

Please also post the whole ungrepped output of dmesg.

Offline

#7 2021-07-02 05:47:50

kyokujitsu
Member
Registered: 2021-07-01
Posts: 4

Re: IOMMU not working - MSI Z490-A PRO, i9 10900k, AMD R290

Finally figured it out. Had to add downstream and multifunction to the iommu module, thanks everyone!

Offline

Board footer

Powered by FluxBB