Mailinglist Archive: opensuse (5130 mails)

< Previous Next >
Re: [SLE] SUSE Linux 10.1 - 32-bit or 64-bit
  • From: "Bryan J. Smith" <b.j.smith@xxxxxxxx>
  • Date: Mon, 15 May 2006 21:58:23 -0400
  • Message-id: <1147744703.3596.7.camel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
On Mon, 2006-05-15 at 15:53 -0400, Jerry Feldman wrote:
> Thanks for the reference. I had been using Volume 1 or the programmer's
> manual since it deals with the actual instructions. I don't see anywhere in
> Vol. I where PAE is mentioned.

Volume I over-simplifies many details. It's not actually 64-bit. It's
48-bit, using PAE 52-bit paging. But those details aren't typically of
any interest to users or application-level developers.

But they are pertinent to how Linux x86-64 works, as well as
system-level (including library) developers. Someone was getting
confused why can't 64-bit programs use 32-bit libraries and vice-versa.

> The processor vendor (AMD/Intel/...) should not really get into telling an
> OS how to interoperate the multiple memory models.

Correct. But it *IS* important that people know how it actually works.

> Note that a process only sees virtual memory and the specific registers of
> its memory model. 32-bit programs effectively think they are on x86-32.
> Maintaining multiple libraries has been around the Unix world for a very
> long time where some vendors maintained 16-bit and 32-bit libraries.

Correct, that is how the problem is addressed. Now we've just added

> The bottom line with the 64-bit X86 architecture is that a 64-bit operating
> system running in long mode can enable native 64-bit and 32-bit
> applications to operate.

Again, big-ass asterisk on the "64-bit." ;->

> And for terminology purposes, the AMD64 implements 16 64-bit registers with
> 64-bit virtual addressing. the PAE-52 comes into play with physical
> addressing.

It's actually 52-bit. If you read the "fine print" in Volume 2, the
"flat 64-bit" model isn't implemented yet. ;->

Again, if it was, then the x86-64 would be operating in a mode that is
not compatible with the i486 TLB. Such a "flat 64-bit" kernel could
_not_ execute 32-bit or PAE 36-bit programs, libraries, etc...

Bryan J. Smith Professional, technical annoyance
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

< Previous Next >