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

[Xen-users] Xen 4.12 built from source gives IOMMU errors, "xl" doesn't work

Hi all,

I'm trying to build Xen 4.12 from source to run on a Linux Mint 19.1 (based on Ubuntu 18.04) dom0. I followed the directions at https://wiki.xen.org/wiki/Compiling_Xen_From_Source - I ran "./configure --enable-systemd", then "make world", then "make debball" and installed the .deb using the graphical package installer tool. I then ran "ldconfig" as root and "update-grub" to add the GRUB menu entries for Xen.

However, when I try to boot into Xen, I get some weird behavior. I think there are multiple things going wrong here, so I'll try to clarify them separately...

Firstly, starting early in the boot process, the serial console is spammed with messages like this:

(XEN) [VT-D]DMAR:[DMA Read] Request device [0000:00:02.0] fault addr da076000, iommu reg = ffff82c00021d000
[  417.494491] [drm:drm_atomic_helper_wait_for_flip_done [drm_kms_helper]] *ERROR* [CRTC:37:pipe A] flip_done timed out
(XEN) printk: 16807 messages suppressed.
(XEN) [VT-D]DMAR:[DMA Read] Request device [0000:00:02.0] fault addr da076000, iommu reg = ffff82c00021d000
(XEN) printk: 15621 messages suppressed.
(XEN) [VT-D]DMAR:[DMA Read] Request device [0000:00:02.0] fault addr da076000, iommu reg = ffff82c00021d000
[  427.734169] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] *ERROR* [CRTC:37:pipe A] flip_done timed out
(XEN) printk: 16343 messages suppressed.
(XEN) [VT-D]DMAR:[DMA Read] Request device [0000:00:02.0] fault addr da0e4000, iommu reg = ffff82c00021d000

At the same point in time these messages start appearing, the monitor goes blank and the screen becomes all garbled - it's covered in colored horizontal lines indicative of a graphics output failure. (Hence why I set up the serial console so I could see what was going on. :-))

This spam continues throughout the boot process, with the reported fault address changing every few seconds (prompting a new output line and subsequent "printk: <many> messages suppressed"). The OS eventually boots and gets me to a usable login prompt (both the serial console and sshd work), but it's slow as molasses, both during the boot and when I try to log in. It takes a good 30 seconds to load bash after I log in. I would guess that this slowness is due to the kernel continuing to process whatever flood of errors is responsible for the aforementioned error messages, the vast majority of the printk's being suppressed (but nonetheless keeping the kernel busy).

This brings me to the second issue: after logging in, I tried running "sudo xl dmesg" to get a complete log of Xen's console output. However, I get this error message:

xencall: error: Could not obtain handle on privileged command interface: No such file or directory
libxl: error: libxl.c:102:libxl_ctx_alloc: cannot open libxc handle: No such file or directory
cannot init xl context

I mention this as a separate issue because I get the exact same error when I run any "xl" commands on the dom0 operating system when it's booted natively (i.e. not inside Xen, so not really a dom0), suggesting it's orthogonal to the boot errors I'm getting. This makes me suspect that I've done something wrong in how I built/installed Xen so that "xl" isn't working right.

For reference, the hardware I'm running on is a Dell Precision 3620 workstation with an i7-6700 CPU and 16 GB of RAM. I'm using the Intel integrated graphics (no discrete GPU installed). I have VT-d enabled in the BIOS, as well as VMX.

The dom0 kernel is Linux 4.15.0-51 (the standard version from the Linux Mint 19.1 repositories).

For what it's worth, I've experienced none of these issues when using the Xen 4.9.2 available from the Mint/Ubuntu repositories as a binary package. That works perfectly, including graphics for the dom0. (I uninstalled the repository's Xen 4.9.2 before attempting to install the self-built 4.12 debball.)

So, my questions are:

1) Any ideas what's going on with the IOMMU errors? They seem to be related to graphics, because the screen goes goofy exactly when the errors start appearing.

2) Did I miss a necessary step in building/setting up "xl" so that it can correctly talk to the underlying hypervisor?

3) What's the recommended way to install the latest Xen (4.12) on a Linux distribution like Ubuntu/Debian that doesn't distribute that version? It looks like Debian doesn't distribute anything newer than 4.11 and Ubuntu nothing newer than 4.9. I didn't see any binary downloads on xenproject.org. Does anyone know of prebuilt .debs for Xen 4.12, or perhaps a Ubuntu PPA?

My reason for wanting to use 4.12 is that I'd like to play around with a PVH(v2) dom0. Based on what I'm reading in the Xen 4.12 Feature List (https://wiki.xenproject.org/wiki/Xen_Project_4.12_Feature_List), it looks like 4.12 is the first version that has good support for that.

Ultimately, I'm going to need to build Xen from source because I'm planning to modify it for a research project (and I'd prefer to work with the latest version, 4.12, so I can use a PVH dom0). But for now, I'd settle for a prebuilt .deb so I can at least rule out build/installation mistakes in diagnosing these issues.

Thanks in advance for any help you can provide!

Ethan Johnson
Ethan J. Johnson
Computer Science PhD student, Systems group, University of Rochester
PGP public key available from public directory or on request
Xen-users mailing list



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