[cfgeeks] 64 bit Linux

Kevin P. Inscoe kevin at inscoe.org
Thu Jun 28 16:13:24 EDT 2007


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...

-- 
Kevin P. Inscoe                       Amateur Radio Call Sign: KE3VIN
Deltona, FL 32738                                28.9497N by 81.1952W
kevin [at] inscoe [dot] org                    http://kevininscoe.com
GPG 0x61288D53
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.cfgeeks.org/pipermail/cfgeeks/attachments/20070628/f35df2a9/attachment.pgp


More information about the cfgeeks mailing list