WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [Patch] Fix for x86_64 boot failures due to bad segment

To: "Stephen C. Tweedie" <sct@xxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [Patch] Fix for x86_64 boot failures due to bad segment setup for protected mode.
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Thu, 09 Nov 2006 08:56:18 +0000
Cc: Wilfred Yu <wilfred.yu@xxxxxxxxx>, Xiaohui Xin <xiaohui.xin@xxxxxxxxx>, "Li, Xin B" <xin.b.li@xxxxxxxxx>, Herbert Xu <herbert.xu@xxxxxxxxxx>, Susie Li <susie.li@xxxxxxxxx>, Steven Rostedt <srostedt@xxxxxxxxxx>
Delivery-date: Thu, 09 Nov 2006 00:56:30 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <1163044142.6600.63.camel@xxxxxxxxxxxxxxxxxxxxx>
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AccD3OtgKefOT2/QEduI0QANk04WTA==
Thread-topic: [Xen-devel] [Patch] Fix for x86_64 boot failures due to bad segment setup for protected mode.
User-agent: Microsoft-Entourage/11.2.5.060620
On 9/11/06 3:49 am, "Stephen C. Tweedie" <sct@xxxxxxxxxx> wrote:

> The fix is to save the 16-bit segments *always*, on entry to protected
> mode when %CR0(PE) is first set; and to clear the saved 16-bit segment
> and set the 32-bit variant in oldctx whenever a 32-bit segment
> descriptor is set during the transition to 32-bit CS.  Then, when we
> finally do the VMENTER, we will set up the VMCS from only the 32-bit
> segments, clearing the VMCS entries for segments that have not been
> assigned valid 32-bit segments yet.

So, after setting CR0.PE but before doing a jump to complete the transition
to protected mode, is the guest now running with zeroed data selectors but
with the old 'shadow segment state'? So it can still use its data segments
until the long jump? Not that I know whether any bootloader would actually
*want* to access data in that critical region....

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel