Mailing List Archive

pci passthrough on pv domain
Dear all,

I recently upgraded a small atom board server (C2550 cpu) from Debian
Buster to Bullseye, which corresponds to an upgrade from Xen 4.11 to
4.14 and noticed that pci passthrough does not work any more for pv
domains:

| libxl: error: libxl_create.c:1107:libxl__domain_config_setdefault:
| passthrough not supported on this platform

I also tried attaching the pci device to the already running domU:

| libxl: error: libxl_pci.c:1434:pci_add_dm_done:
| Domain 7:xc_assign_device failed: Operation not supported
| libxl: error: libxl_pci.c:1721:device_pci_add_done:
| Domain 7:libxl__device_pci_add failed for PCI device 0:3:0.0 (rc -3)
| libxl: error: libxl_device.c:1407:device_addrm_aocomplete:
| unable to add device

The device itself is claimed by the pciback driver in Dom0 and gets
listed by 'xl pci-assignable-list'.
The domU itself is just a PV machine booted via pvgrub and has
| pci=['03:00.0',]
in the config.

When using Xen 4.11, both kernel versions available on Debian, 4.19 (old
stable) and 5.10, do allow pci pass through. 'xl dmesg' shows
| (XEN) I/O virtualisation disabled
for both versions of Xen.

Can anyone help me fix pci passthrough?

Thanks!
-- Adi
Re: pci passthrough on pv domain [ In reply to ]
On Wednesday, September 8, 2021 3:01:57 PM CEST Adi Kriegisch wrote:
> Dear all,
>
> I recently upgraded a small atom board server (C2550 cpu) from Debian
> Buster to Bullseye, which corresponds to an upgrade from Xen 4.11 to
> 4.14 and noticed that pci passthrough does not work any more for pv
>
> domains:
> | libxl: error: libxl_create.c:1107:libxl__domain_config_setdefault:
> | passthrough not supported on this platform
>
> I also tried attaching the pci device to the already running domU:
> | libxl: error: libxl_pci.c:1434:pci_add_dm_done:
> | Domain 7:xc_assign_device failed: Operation not supported
> |
> | libxl: error: libxl_pci.c:1721:device_pci_add_done:
> | Domain 7:libxl__device_pci_add failed for PCI device
> | 0:3:0.0 (rc -3)
> |
> | libxl: error: libxl_device.c:1407:device_addrm_aocomplete:
> | unable to add device
>
> The device itself is claimed by the pciback driver in Dom0 and gets
> listed by 'xl pci-assignable-list'.
> The domU itself is just a PV machine booted via pvgrub and has
>
> | pci=['03:00.0',]
>
> in the config.
>
> When using Xen 4.11, both kernel versions available on Debian, 4.19 (old
> stable) and 5.10, do allow pci pass through. 'xl dmesg' shows
>
> | (XEN) I/O virtualisation disabled
>
> for both versions of Xen.
>
> Can anyone help me fix pci passthrough?

Not sure if I can, as I do get " (XEN) I/O virtualisation enabled ", but I can
try.

From what I read, you need I/O virtualisation enabled (or PV-enabled?) to get
this to work. If it worked before, can you check the full "xl dmesg" to see if
there is anything else that might indicate why it works in previous versions?

What exactly are you trying to passthrough?

--
Joost
Re: pci passthrough on pv domain [ In reply to ]
Dear Joost,

[...]
> > Can anyone help me fix pci passthrough?
>
> Not sure if I can, as I do get " (XEN) I/O virtualisation enabled ", but I can
> try.
>
> From what I read, you need I/O virtualisation enabled (or PV-enabled?) to get
> this to work. If it worked before, can you check the full "xl dmesg" to see if
> there is anything else that might indicate why it works in previous versions?
The strange thing about it is that the 'xl dmesg' outputs do look nearly
identical; there are no errors whatsoever. I am absolutely clueless. Did
something change with regard to pv domains and pcie pass through?

-- Adi