[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