[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |