On 2010-06-09 at 08:35:50 [+0200], Stefano Ceccherini <stefano.ceccherini@xxxxxxxxx> wrote: > 2010/6/8 <ingo_weinhold@xxxxxx>: > > Author: bonefish > > Date: 2010-06-08 23:43:19 +0200 (Tue, 08 Jun 2010) > > New Revision: 37068 > > Changeset: http://dev.haiku-os.org/changeset/37068/haiku > > > > Modified: > > haiku/trunk/src/system/kernel/arch/x86/arch_vm_translation_map.cpp > > Log: > > Only use PAE, if supported by the CPU. > > > > Will PAE be available also on 32-bit haiku ? In fact only there. PAE is a x86 (IA32) feature. x86_64 paging uses somewhat similar structures, but is still different (and called differently). > I know it has some overhead, but AFAIK it's necessary if you want to > use the no-execute capabilities. Well, when Haiku gets to the point where we actually start making it more secure there probably won't be any non 64 bit machines around anymore. ;-) Anyway, to be able to use PAE Haiku has to be built with 64 bit physical addresses (__HAIKU_ARCH_PHYSICAL_BITS = 64 in <config/HaikuConfig.h>), which ATM breaks binary compatibility of the kernel -- map_physical_memory() and get_memory_map() are affected. That's easily solved for the former, but the latter returns only 32 bit physical addresses and there's nothing that can be done when the address to return is actually wider. Drivers in our repository can be adjusted, of course, and, from what I've seen, quite a few have to be. I've also seen that some hardware only seems to support 32 bit physical addresses, which also has to be dealt with somehow. These are tasks necessary for the x86_64 as well, BTW. So, to sum it up, although I'll probably have implemented PAE support in a few days, I'm afraid we can't enable it or even just build it in by default anytime soon. CU, Ingo