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

Re: [Xen-devel] Manual differ from source code about Unrestricted Guest

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



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