Re: address space layout of x86_64?
Re: address space layout of x86_64?
- Subject: Re: address space layout of x86_64?
- From: Derek Kumar <email@hidden>
- Date: Fri, 1 Dec 2006 16:15:22 -0500
On Dec 1, 2006, at 2:10 PM, Andrew Gallatin wrote:
What is the address space layout of 64-bit applications
on x86_64? Is the address space below 4GB reserved
for kernel mappings?
In the event that this helps with bringup and such for your
project...yes, by default 64-bit applications are built with a 4GB
PAGEZERO segment--this serves to catch pointer truncation bugs etc.,
and is also a performance enhancement in that those applications can
have the kernel mapped in to that region (the level 4 page map for
that task is created with the appropriate kernel page directory
pointer table entries, thus avoiding the cost of a CR3 switch on
kernel transitions). Currently, you can however choose to build with
a smaller page zero segment (which will negate the shared CR3
mechanism)--see the -pagezero_size argument to the linker.
Derek
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden