|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] PAE, Elf headers, and Extended CR3 registers
'Extended CR3' means that, on PAE, we fold the higher-order bits of the page
directory address into the low-order bits of the 32-bit virtual CR3 value.
See the xen_pfn_to_cr3() and xen_cr3_to_pfn() macros in
xen/include/public/arch-x86_64.h.
In general the guest OS does not manipulate CR3 values at the hypercall
interface, so this is not an issue (e.g., the hypercall for switching
pagetable base pointer takes a page frame number). The one exception in
Linux was that SMP booting required writing a CR3 value into a vcpu_context
structure. So that's the only place we use those two conversion macros.
-- Keir
On 14/9/06 21:37, "Randy Thelen" <rthelen@xxxxxxxxxx> wrote:
> 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.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|