Mailing List Archive

AMD-Vi: Error initialization
I have a problem.

When running xen-4.12.2 on fedora 31 with kernel 5.4.18-200.fc31.x86_64,
AMD-Vi initialization fails, so I can't passthrough pci devices to vms.

I am reporting this, because, when I boot fedora 31 without the xen
hypervisor, AMD-Vi works, and I can passthrough devices using the
Qemu/KVM stack, so I guess, this error is caused by xen amd_iommu not
supporting my AMD Ryzen Threadripper 3960X 24-Core Processor/TRX40 AORUS
XTREME cpu/mobo combo, and not by a bogus BIOS.

I attached the output of xl dmesg, I think the relevant lines are:

(XEN) IVHD Error: Invalid IO-APIC 0x80
(XEN) AMD-Vi: Error initialization
(XEN) I/O virtualisation disabled

To show, that IOMMU is principally working, here is the output of "dmesg
-T | grep -i iommu" when booting without xen:

...

[So Feb 16 17:29:03 2020] pci 0000:61:00.0: Adding to iommu group 76
[So Feb 16 17:29:03 2020] pci 0000:62:00.0: Adding to iommu group 77
[So Feb 16 17:29:03 2020] pci 0000:60:00.2: AMD-Vi: Found IOMMU cap 0x40
[So Feb 16 17:29:03 2020] pci 0000:40:00.2: AMD-Vi: Found IOMMU cap 0x40
[So Feb 16 17:29:03 2020] pci 0000:20:00.2: AMD-Vi: Found IOMMU cap 0x40
[So Feb 16 17:29:03 2020] pci 0000:00:00.2: AMD-Vi: Found IOMMU cap 0x40
[So Feb 16 17:29:03 2020] perf/amd_iommu: Detected AMD IOMMU #0 (2
banks, 4 counters/bank).
[So Feb 16 17:29:03 2020] perf/amd_iommu: Detected AMD IOMMU #1 (2
banks, 4 counters/bank).
[So Feb 16 17:29:03 2020] perf/amd_iommu: Detected AMD IOMMU #2 (2
banks, 4 counters/bank).
[So Feb 16 17:29:03 2020] perf/amd_iommu: Detected AMD IOMMU #3 (2
banks, 4 counters/bank).
[So Feb 16 17:29:06 2020] AMD-Vi: AMD IOMMUv2 driver by Joerg Roedel
<jroedel@suse.de>

I also attached the output of "lshw -short".

Any help would be appreciated, thanks.
Re: AMD-Vi: Error initialization [ In reply to ]
I solved the problem by simply disabling the whole intremap feature
(though not sure what consequences this has):

GRUB_CMDLINE_XEN="iommu=intremap=false,debug,verbose"


(XEN) AMD-Vi: IOMMU Extended Features:
(XEN)  - Peripheral Page Service Request
(XEN)  - X2APIC Supported
(XEN)  - NX bit Supported
(XEN)  - Guest Translation
(XEN)  - Invalidate All Command
(XEN)  - Guest APIC supported
(XEN)  - Performance Counters
(XEN) AMD-Vi: IOMMU 0 Enabled.
(XEN) AMD-Vi: IOMMU Extended Features:
(XEN)  - Peripheral Page Service Request
(XEN)  - X2APIC Supported
(XEN)  - NX bit Supported
(XEN)  - Guest Translation
(XEN)  - Invalidate All Command
(XEN)  - Guest APIC supported
(XEN)  - Performance Counters
(XEN) AMD-Vi: IOMMU 1 Enabled.
(XEN) AMD-Vi: IOMMU Extended Features:
(XEN)  - Peripheral Page Service Request
(XEN)  - X2APIC Supported
(XEN)  - NX bit Supported
(XEN)  - Guest Translation
(XEN)  - Invalidate All Command
(XEN)  - Guest APIC supported
(XEN)  - Performance Counters
(XEN) AMD-Vi: IOMMU 2 Enabled.
(XEN) AMD-Vi: IOMMU Extended Features:
(XEN)  - Peripheral Page Service Request
(XEN)  - X2APIC Supported
(XEN)  - NX bit Supported
(XEN)  - Guest Translation
(XEN)  - Invalidate All Command
(XEN)  - Guest APIC supported
(XEN)  - Performance Counters
(XEN) AMD-Vi: IOMMU 3 Enabled.
(XEN) I/O virtualisation enabled




_______________________________________________
Xen-users mailing list
Xen-users@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-users
Re: AMD-Vi: Error initialization [ In reply to ]
Sorry,

the reason for my problem _was_ a bogus BIOS. I upgraded my BIOS, and
now all IOMMUs are working,
and I/O virtualization is enabled, no need for quirks, like
intremap=false in Xen or
vfio_iommu_type1_allow_unsafe_interrupts=1 in qemu, necessary anymore.

 I had some problems first, but after adding

GRUB_CMDLINE_LINUX= ... xen-pciback.passthrough=1 xen-pciback.permissive=1
GRUB_CMDLINE_XEN= ... dom0_mem=4G,max:8G

to grub, I was able to passthrough my secondary Radeon RX 5500 XT and
HDMI audio to my virtual Windows 10 machine.

xen-piback.passthrough=1 was necessary, because otherwise I got a bad
address error, when doing "xl pci-attach",
and I had to limit the memory of dom0, because otherwise I got a lot of
"swiotbl buffer is full" errors,
and Wayland didn't show up.

Windows detects the passed through devices and installs the drivers, but
after an "error code 43" stops them right away,
so the devices are unusable. I guess, a lot of tweaking with the virtual
machine parameters would be necessary
to get them working, so I think, for the moment, I will stay with the
Qemu/KVM machine, virt-manager created,
where this works out of the box.




Am 16.02.2020 um 18:40 schrieb Norbert Irmer:

> I have a problem.
>
> When running xen-4.12.2 on fedora 31 with kernel
> 5.4.18-200.fc31.x86_64, AMD-Vi initialization fails, so I can't
> passthrough pci devices to vms.
>
> I am reporting this, because, when I boot fedora 31 without the xen
> hypervisor, AMD-Vi works, and I can passthrough devices using the
> Qemu/KVM stack, so I guess, this error is caused by xen amd_iommu not
> supporting my AMD Ryzen Threadripper 3960X 24-Core Processor/TRX40
> AORUS XTREME cpu/mobo combo, and not by a bogus BIOS.
>
> I attached the output of xl dmesg, I think the relevant lines are:
>
> (XEN) IVHD Error: Invalid IO-APIC 0x80
> (XEN) AMD-Vi: Error initialization
> (XEN) I/O virtualisation disabled
>
> To show, that IOMMU is principally working, here is the output of
> "dmesg -T | grep -i iommu" when booting without xen:
>
> ...
>
> [So Feb 16 17:29:03 2020] pci 0000:61:00.0: Adding to iommu group 76
> [So Feb 16 17:29:03 2020] pci 0000:62:00.0: Adding to iommu group 77
> [So Feb 16 17:29:03 2020] pci 0000:60:00.2: AMD-Vi: Found IOMMU cap 0x40
> [So Feb 16 17:29:03 2020] pci 0000:40:00.2: AMD-Vi: Found IOMMU cap 0x40
> [So Feb 16 17:29:03 2020] pci 0000:20:00.2: AMD-Vi: Found IOMMU cap 0x40
> [So Feb 16 17:29:03 2020] pci 0000:00:00.2: AMD-Vi: Found IOMMU cap 0x40
> [So Feb 16 17:29:03 2020] perf/amd_iommu: Detected AMD IOMMU #0 (2
> banks, 4 counters/bank).
> [So Feb 16 17:29:03 2020] perf/amd_iommu: Detected AMD IOMMU #1 (2
> banks, 4 counters/bank).
> [So Feb 16 17:29:03 2020] perf/amd_iommu: Detected AMD IOMMU #2 (2
> banks, 4 counters/bank).
> [So Feb 16 17:29:03 2020] perf/amd_iommu: Detected AMD IOMMU #3 (2
> banks, 4 counters/bank).
> [So Feb 16 17:29:06 2020] AMD-Vi: AMD IOMMUv2 driver by Joerg Roedel
> <jroedel@suse.de>
>
> I also attached the output of "lshw -short".
>
> Any help would be appreciated, thanks.
>

_______________________________________________
Xen-users mailing list
Xen-users@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-users