Re: address space layout of x86_64?
site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com 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? Derek _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... 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. This email sent to site_archiver@lists.apple.com
participants (1)
-
Derek Kumar