On Mon, 2006-06-12 at 15:03 +0200, Per Jessen wrote:
Isn't that more or less what I started this thread with?
The problem is that you're applying kernel modes to application ABI.
Which is what I am ALSO saying. The application does not go beyond the 4Gb address space, the operating system (in our case Linux) does that for the application.
Again, re-read this portion ... "Because processes running in these environments have 32-bit pointers" First, the processes are built for 32-bit/4GiB pointers. That's a _hard_ limit. Secondly, the processes are built for various Linux memory models limitations. GCC can do several -- some automagically -- based on what the process uses. Several people have rebuilt x86 applications that can use up to 3GiB total. Now read this ... "the operating system must manage and present PAE's 36 bits of address in such a way that the applications can practically use it." That does _not_ mean the applications can use 36-bit. That means the OS is using page translation to "window" 36-bit physical memory into 32-bit flat memory.
1) do we have such an API in Linux? 2) is it necessary except for those rare cases where a single process needs to address more than 4Gb? I still maintain that (at least in Linux) using PAE is something for the kernel to do, not the application, with the possible exception of applications needing more than 4Gb of memory.
Yes, when the process doesn't need more than the common memory model limits used by x86 Linux kernels. Here's a good intro, but it still does _not_ cover application/user-space: http://www-128.ibm.com/developerworks/linux/library/l-memmod/index.html About the only thing it says under Extended paging is ... "This approach has practical limitations with respect to demand paging." A program can't just "demand page" in anything. You can't have the processor looking at more than the 1-3GiB allocated to user-space. That means programs using more than 1-3GiB of user-space have to be built _specially_ for the kernel/processor to handle. And that's before we look at the issues of the _hard_ 32-bit/4GiB limit of normalized pointers (although the solution to paging solves most of it). -- Bryan J. Smith Professional, technical annoyance mailto:b.j.smith@ieee.org http://thebs413.blogspot.com ------------------------------------------------------- Illegal Immigration = "Representation Without Taxation" -- Check the headers for your unsubscription address For additional commands send e-mail to suse-linux-e-help@suse.com Also check the archives at http://lists.suse.com Please read the FAQs: suse-linux-e-faq@suse.com