Messages in this thread | | | Subject | Re: [x86_64] Implementation differences compared to x86_32 | From | Andi Kleen <> | Date | Mon, 13 Oct 2008 15:03:02 +0200 |
| |
Eric Lacombe <tuxiko@free.fr> writes: > > - In x86_32, the physical memory is mapped on kernel land by way of 4 MB > pages. > But for x86_64, I read that the physical memory was mapped by way of 4 KB > pages. Is it true ? and in this case, why this choice ?
It's normally not true (except in some special circumstances)
> > - Is the LDT used in x86_64 ? > I saw that the GDT_ENTRY_LDT is defined to 10 but when I read in the GDT at > 0x50 for the segment descriptor, there is nothing, the area is filled with > zeros.
The LDT is only allocated when the user space program needs it. That's normally only older 32bit applications. Newer 32bit kernels also use the same setup. Older 32bit kernels still had an iBCS entry point in a default LDT, but that has been considered obsolete for some time and removed.
> > - Where can I find some documentation about the specifities of x86_64 compared > to x86_32, particularly about memory management ? > Perhaps you can (or someone on the list) depict those specificities ?
An somewhat outdated but still reasonable introduction is my old paper http://halobates.de/x86-64.pdf
-Andi -- ak@linux.intel.com
| |