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]