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] Manual differ from source code about Unrestricted Guest

To: confucius <henanwxr@xxxxxxxxxxx>
Subject: Re: [Xen-devel] Manual differ from source code about Unrestricted Guest
From: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Date: Tue, 7 Jun 2011 21:33:15 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 07 Jun 2011 13:33:47 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1307461264749-4462113.post@xxxxxxxxxxxxx>
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/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <1307461264749-4462113.post@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.21 (2010-09-15)
Hi, confucius,

At 08:41 -0700 on 07 Jun (1307436064), confucius wrote:
> As italics show:

Those of us reading in plain text can't see any italics. :)

> Some processors allow guest software to run in unpaged protected mode or in
> real-address
> mode, such guest called ???unrestricted guest???.
> If CR0.PG = 0, each linear address is passed directly to the EPT mechanism
> for translation to a physical address.???
> References to Intel® 64 and IA-32 Architectures Software Developer???s Manual
> Volume 3B:System Programming Guide, Part 2  22.8 UNRESTRICTED GUESTS
> When we set CR0.PG=0 of a guest, I think it doesn???t need construct a page
> table for the unpaged guest

Yes, but only on newer processors.  As it says right at the top of
section 22.8, "The first processors to support VMX operation require
CR0.PE and CR0.PG to be 1 in VMX operation".

>, but I found it construct an identify_map table
> for unpaged guest in the source codes of xen. As follow: 
> Xen-4.0/tools/libxc/xc_hvm_build.c 

This is needed for older Intel processors, which cannot run a HVM guest
with CR0.PG == 0.  On those CPUs, Xen must force CR0.PG == 1 and CR3 ==
the guest's identity-map pagetable, to emulate how a real machine would
behave with CR0.PG == 0.


Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Principal Software Engineer, Xen Platform Team
Citrix Systems UK Ltd.  (Company #02937203, SL9 0BG)

Xen-devel mailing list