Technically, i386 is correct. It's the base processor ISA architecture. Most 
software is still 32 bit, so backwards compatibility is key, as a result the 
lowest common denominator on the x64/x68 platform is i386. This is the same 
result as you would expect on SPARC where uname -p will report "sparc". Even 
though it could an ultrasparc, sparc64, etc. The point being that uname -p will 
report the lowest common platform denominator.

So now.. the question becomes.. why?

Well you wouldn't want software or libraries to barf all over you because the 
lowest common platform denominator was amd64 would you? Last time I looked.. 
few OS's have the kernel and user-land in 64bit like Tru64 Unix. So this is 
important for applications, compilers, installation scripts, etc. When you want 
to compile 64bit apps or even take advantage of CPU specific features and what 
not.. that's where isainfo becomes key to laying out what your processor 
supports. Good example:

$ uname -a
SunOS katana 5.11 snv_101b i86pc i386 i86pc
$ isainfo
amd64 i386
$ isainfo -v
64-bit amd64 applications
    ahf sse3 sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov amd_sysc 
    cx8 tsc fpu 
32-bit i386 applications
    ahf sse3 sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov amd_sysc 
    cx8 tsc fpu 

Now putting all that info into uname would just complicate life for everyone 
and break all sorts of stuff. As such, uname is for very high-level info and 
isainfo is for detailed.

 *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Octave J. Orgeron
Solaris Virtualization Architect and Consultant
Web: http://unixconsole.blogspot.com
E-Mail: [email protected]
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*



----- Original Message ----
From: Alexander Eremin <[email protected]>
To: [email protected]
Sent: Monday, April 27, 2009 11:35:26 AM
Subject: Re: [osol-discuss] uname -a ... 32bit vs 64bit

> 
> 
> Alexander Eremin wrote:
> > Hi,
> > I see now it's a bug 2820 "Uname -m" does not
> report Operating System's mode correctly (32 or 64
> bit).
> 
> It's not supposed to:
> 
> -m                Prints the machine hardware
>  name  (class).
> Use  of  this  option  is
> discouraged. Use
> uname -p instead. 
I'm about 'uname -p'. I think it's not  normal when 'uname -p' tell me 'i386' 
on machine with 64bit cpu..

Regards,
Alex
-- 
This message posted from opensolaris.org
_______________________________________________
opensolaris-discuss mailing list
[email protected]



      
_______________________________________________
opensolaris-discuss mailing list
[email protected]

Reply via email to