This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] Likely VMX Assist Issue from Ubuntu bug report

To: "Zulauf, John" <john.zulauf@xxxxxxxxx>,<xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Likely VMX Assist Issue from Ubuntu bug report
From: Mats Petersson <mats@xxxxxxxxxxxxxxxxx>
Date: Thu, 06 Sep 2007 23:13:37 +0100
Delivery-date: Thu, 06 Sep 2007 15:13:51 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=beta; h=domainkey-signature:received:received:x-mailer:date:to:from:subject:in-reply-to:references:mime-version:content-type:sender:message-id; bh=GTCguCQmVaYjnekDKN6Edmg/SPKI4sddNCeXmMAX0qg=; b=aaKbA4JL4AtWhV8ZZUWXigdJ3jHdJkUVqJa18HtED1pfZe55T8bmpCN1qhXC36veVM3oxGd78iLbQddlQYuf8ebuasxC8Tixw7ksXoCGegrkj67kRpGY/qkITABumXmfdSWRWhaUcDtRrVuKCpPsMWdyTzNbxx8sx3oBCY4Nh8c=
Domainkey-signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=beta; h=received:x-mailer:date:to:from:subject:in-reply-to:references:mime-version:content-type:sender:message-id; b=KI8fxdTMMoEFA5o/9tYmd94fHRJw3hTpl8z4YZhUDG2AAT7p0db84HDzc00vPduZ2IBi8921DGX/u+g8vsARDcOFCqfi4qx+GJ7DzXamRLbbKwQjAHIAswF5X+92qkB/0HqNzmJ/1lOmvARYm0k5/ZH9/MB2PiU6ykbHfoZS2VU=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <BD262A443AD428499D90AF8368C4528DA20404@xxxxxxxxxxxxxxxxxxx intel.com>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <BD262A443AD428499D90AF8368C4528DA20404@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
At 23:02 06/09/2007, Zulauf, John wrote:
Content-class: urn:content-classes:message
Content-Type: multipart/alternative;

"fancy isolinux screen on install isos hang xen/kvm HVM guests"


Bug is in state "confirmed" and while the concensus on the bug thread is "we probably shouldn't be doing fancy things in protected mode", this seems like a fairly important distro to be borked for 3.2 (or 3.1.1 whatever).

I've verified this using the i386 Ubuntu tip: <http://cdimage.ubuntu.com/releases/gutsy/tribe-5/gutsy-desktop-i386.iso>http://cdimage.ubuntu.com/releases/gutsy/tribe-5/gutsy-desktop-i386.iso

As far as I know, this is still the case. And the reason is, as stated in the bug-report, that the Intel people decided to not allow real-mode code to be virtualized. This is not a problem in itself, because VM8086 mode can cover most of the code, with a bit of "VMXAssist" to fix up privileged instructions not allows in VM8086 mode. However, there is a problem, and that is that the state of segment registers isn't maintained when switching from protected mode back to real-mode. This is often used by boot-loading code to load data into memory that is normally not reachable from real-mode (that is, memory above 1M).



John Zulauf

Quoting the Ubuntu bug:

I'm working with ubuntu on Xen right now, and this is a very bad problem. Both the server and desktop install CD's, for both dapper and edgy, use fancy full screen (vbe based?) isolinux install screens. Could we please do away with these screens on the server or alternate install CD? These fancy screens are causing fully virtualized guests that try to boot from these CD's to crash before the boot screen is even drawn. This is true for both Xen and KVM.

To clarify, this does not cause the -host- to crash, just the guest, but you get a blank screen and wonder what happened.

Background (mostly speculation, but I think it's right):
Intel designed VT in a strange way, such that only protected mode instructions are allowed o be virtualized. Anything done in real mode must be emulated...every instruction. The Xen and KVM folks have emulated enough to get things working, but have not handled every instruction, including apparently some of the fancy (VBE?) graphics isolinux on the ubuntu boot cd's is using. (FreeBSD's btx loader also has problems)

For reference, AMD's SVM analogue does, in fact, virtualize real mode instructions on the processor, and I'm able to boot all install CD's just fine on an AMD machine. This is an Intel VT .... 'quirk'.

The mini.iso network install CD loads just fine and works, and I can install over an emulated network. And that CD includes a splash screen w/ isolinux, so it's not all VBE operations that cause problems. You should still be able to have a splash screen, but more then that might cause the problems.

I've filed a bug against Xen about this, and I just tried KVM and ran into the same issue, so I'm assuming it's th same problem. But until the Xen folks figure out what instructions need to be emulated, and take enough time to care, or Intel comes out with an updated VT implementation that does what AMD's does, we can't just boot up a ubuntu install CD on virtual machines and have it work.

My requested solution is that isolinux use just the standard (preferably text) menu and options on the server and/or alternate install CD. Having one full, officially supported install CD that doesn't crash Xen/KVM when trying to install a ubuntu would go a long way towards helping those of us trying to use ubuntu in a virtual environment out. Besides, while I really appreciate all the fancy boot options for a desktop machine, but I would prefer a plain text option for servers anyway. I do, however, see why some would like the opposite.

Would it be possible to get the feisty 'server' install CD to forgo the fancy bootup options?

NOTE: I think I understand what's going on, but if I'm missing something obvious, please tell me.

Xen-devel mailing list

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>