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

[Xen-devel] [TESTDAY] PV / HVM pass-through works when IOMMU present; weird failures when not

* Hardware:

Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz

Not sure exactly what mobo I have, but I get this error if I boot
without any iommu options:

Disabling IOMMU due to Intel 5500/5520/X58 Chipset errata #47, #53

* Software:

Debian Wheezy dom0 (Stock Debian 3.2 kernel)

* Guest operating systems:

Debian Wheezy (Stock debian 3.2 kernel)

* Functionality tested:

xl pci-asssignable-add
xl pci-assignable-remove -r

Booting PV:
- xl pci-attach
- xl pci-remove [fails due to guest kernel bug]
- Shutting down the guest, starting a new one and re-assigning
- pci=[] in config file
- Shutting down guest, starting new one (with config file)

Booting HVM:
 - xl pci-attach,  xl pci-detach, re-attach
 - Shutting down guest with device assigned, starting a new one
 - pci=[] in config file
 - pci-detach after booting with config file

* Comments:

xl pci-detach fails, but this is a known issue that Konrad has fixed
upstream: http://bugs.xenproject.org/xen/bug/12

If the pci-detach fails, then afterwards you can't attach it somewhere
else while the guest is running, but you can re-assign it after the
guest is shut down.

The big problems I see, however, are as follows:

- For PV guests there is no user-visible indication that the IOMMU has
been disabled.  All of the commands work, albeit with slightly
different configurations (e.g., using GSIs instead of MSIs).

- For HVM guests, the only user-visible indication tha the IOMMU has
been disabled is the following error message on the command-line:

# xl pci-attach h0 07:00.0
libxl: error: libxl_pci.c:949:do_pci_add: xc_assign_device failed

However, the device itself ends up passed-through to the guest anyway;
the guest seems to be able to see it and interact with it normally.
This is particularly scary, as in theory this should not be possible
without a working IOMMU.

I don't think this is a blocker for 4.3, but we should definitely
release note it, and for 4.4 add a check to see if there is a
functioning IOMMU and only add a device if there's an override set.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.