[cfgeeks] 64 bit Linux

Kevin Korb kmk at sanitarium.net
Thu Jun 28 16:17:53 EDT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

The stuff you quoted plainly says that x86_64 is 64 bit while i?86 is
32 bit (or a 64bit CPU running in 32 bit mode).  I supose you could
force it to fail by compiling uname as a 32 bit binary and linking it
with the 32 bit compatibility libraries on a 64 bit system+OS but
otherwise it should work.

If you have a system where it doesn't work I would like to see the uname
- -m, the uname -a, and why you think it is wrong.

- -- 
~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~
 	Kevin Korb			Phone:    (407) 252-6853
 	Systems Administrator		Internet:
 	FutureQuest, Inc.		Kevin at FutureQuest.net  (work)
 	Orlando, Florida		kmk at sanitarium.net (personal)
 	Web page:			http://www.sanitarium.net/
 	PGP public key available on web site.
~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~

On Thu, 28 Jun 2007, Kevin P. Inscoe wrote:

> Date: Thu, 28 Jun 2007 16:13:24 -0400
> From: Kevin P. Inscoe <kevin at inscoe.org>
> To: Central Florida Geeks <cfgeeks at mail.cfgeeks.org>
> Subject: Re: [cfgeeks] 64 bit Linux
> 
> On Thu Jun 28, 2007 at 04:02:52PM -0400, Kevin Korb wrote:
>>  When I run uname -i I just get which brand of CPU I am using which isn't
>>  useful however uname -m always gives me the correct info.  i?86 is 32bit
>>  and x86_64 is 64bit.  I can't find an exception to that anywhere.
>
> Where is that documented any where though (we seem to be guessing this)?
>
> X86_64 is "Long Mode".
>
> http://en.wikipedia.org/wiki/X86-64#Linux
>
> http://developer.amd.com/articlex.jsp?id=67
>
> "Legacy Mode vs. Long Mode
> It's important to note that the AMD64 processor can be run in two separate
> modes, legacy mode and long mode. Legacy mode is used when you run the
> processor with a 16-bit OS, like DOS, or a 32-bit operating system, like
> Windows or the "classic" versions of x86 Linux.
>
> When you boot into a 64-bit operating system, the processor switches into
> long mode. The OS can then load and execute native 64-bit applications, or
> use a special compatibility mode to handle existing 32-bit x86 apps without
> recompilation.
>
> Note that while compatibility mode does require argument translation between
> 32-bits and 64-bits (aka "thunking") as data moves between the 32-bit
> application and the 64-bit OS, the application itself is not being emulated,
> but runs at full speed on the hardware. That's because the AMD64 instruction
> set is a pure superset of the x86 instruction set. In fact, in many cases the
> new instructions are the same as the old instructions with either new
> operands or a special op-code prefix.
>
> It's easy to become confused about the different modes...
>
> Linux, Windows, and Java
> There are several Linux distributions available that support the AMD64
> architecture and run on the Athlon 64 processor. Those include two that I
> have experience with, Red Hat Enterprise Linux WS desktop distribution and
> SUSE Linux 9.0 for AMD64, as well as several others from companies such as
> Turbolinux."
>
> Yet my uname -m says "i686". wzzup wit dat??
>
> So is it "i686" && "X86_64" == 64 Bit || "i386" == 32 bit always??
>
> I don't think so...
>
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7-ecc0.1.6 (GNU/Linux)

iD8DBQFGhBdzVKC1jlbQAQcRAtpdAKCB/Z1/5s/LJjfz3B+3FK7IAhbZKgCdERhV
sGoqnItfoH2KHQPJF7M7JDo=
=TMbO
-----END PGP SIGNATURE-----



More information about the cfgeeks mailing list