|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] PAE, Elf headers, and Extended CR3 registers
Keir Fraser wrote:
[extended-cr3] was only needed to provide backward compatibility
for old
guests that do not grok the extended cr3 format. None of those
older guests
support this new Elf notes format (since the new format is much
newer than
the introduction of extended-cr3 format). So if the guest uses Elf
notes
then it is implicit that it understands extended cr3 format and
there is no
need to state that explicitly.
Understand the extended cr3 format? Do you mean hardware or
virtualized cr3?
I'm confused. Did I draw an incorrect assumption from this code
(from xc_linux_build.c):
/* First allocate page for page dir. */
ppt_alloc = (vpt_start - dsi_v_start) >> PAGE_SHIFT;
if ( pae_mode == PAEKERN_extended_cr3 )
{
ctxt->vm_assist |= (1UL << VMASST_TYPE_pae_extended_cr3);
}
else if ( page_array[ppt_alloc] > 0xfffff )
{
nmfn = xc_make_page_below_4G(xc_handle, dom, page_array
[ppt_alloc]);
/* Error handling removed */
page_array[ppt_alloc] = nmfn;
}
In the case of PAEKERN_extended_cr3, a 64 bit cr3 register is assumed
and thus any page in the memory space (up to 64GB) is a valid page
directory. Whereas with a x86-class processor, only a 32 bit CR3
register is present and so the page directory has to be in the low 4GB.
?? What am I missing?
I'm trying to get FreeBSD 6.0 in 32 bit mode + Xen 3.0 support
running in on a 32 bit Xen w/ PAE and I just want to understand the
cr3 register from Xen's point of view.
-- Randy
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|