On Mon, 2006-05-15 at 14:34 -0400, Bryan J. Smith wrote:
Processor Address Extensions (PAE). It's all over the first two AMD programmer manuals. Read the early tables on the different modes the AMD x86-64 processors support. You'll see the following ... x86-64 implements a 7-layer model using 52-bit registers with 48-bit flat addressing (so it's compatible with the 16-bit segement + 32-bit offset registers of the i486 TLB, which is capable of 48-bit virtual addressing) on a 40-bit capable physical platform (the 40-bit limitation comes from the core design of the original Athlon, based on the 40-bit interconnect of the Digital Alpha EV6 platform). It is compatible with legacy Intel Processor Address Extensions using 36-bit registers in 32-bit addressing model on a 36-bit capable physical platform (using paging). AMD _only_ covers how to enable x86-64 "Long Mode" in the kernel with the resulting 52/48/40-bit model. It also talks about how x86-64 "Long Mode" is able to run newer 48-bit as well as old 32-bit flat memory model programs.
This is introduced in pages 4-5 of Volume 2 "System Programming": http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/2459... Page 5 moves from talking about the legacy PAE to the use of a new, 52-bit PAE mode for Long Mode. It continues through page 13 of how a _kernel_ can support programs and libraries of any existing memory model. AMD (as well as Intel for that matter) do _not_ even attempt to tell OS' how to solve the issue of larger issue of programs and libraries of different memory models using each other's values or calling each other's routines in _any_ of its (nor Intel's) manuals. -- Bryan J. Smith Professional, technical annoyance mailto:b.j.smith@ieee.org http://thebs413.blogspot.com ----------------------------------------------------------- Americans don't get upset because citizens in some foreign nations can burn the American flag -- Americans get upset because citizens in those same nations can't burn their own