8

I know that, for 32-bit Intel Linuces, it returns i[3-6]86. For 64-bit Intel, it says x86_64. But what about other, exotic architectures? (PowerPC, Alpha, SPARC...) Is there an authoritative list somewhere?

Bonus points if there's info about other non-Linux Unices too.

3 Answers 3

6

i386 i686 x86_64 ia64 alpha amd64 arm armeb armel hppa m32r m68k mips mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb sparc

Found here, on the right. The list is no full i guess, but close to that :) Googling for linux "list of architectures" helps!

5
  • I assume you mean the list of related questions. I see no question that could have that, could you give the link or at least what the question sounded like?
    – JCCyC
    Sep 10, 2009 at 18:58
  • 1
    No, there's list of architectures supported by "alsa" package, which I believe has all popular archs included :) I've already made-up this list for you, there's no additional info on that page.
    – kolypto
    Sep 11, 2009 at 18:34
  • Just realized that my uname -m shows 'x86_64' and 'i686'. Curious...
    – kolypto
    Nov 15, 2009 at 0:58
  • If you would run a 32 bit -generic kernel on a 64 bit processor, uname would report i686, not x86_64.
    – kolypto
    Nov 15, 2009 at 1:00
  • That list is not a list of architectures which would show up in uname -m. amd64 is not a Linux kernel architecture. See stackoverflow.com/questions/45125516/…. Jul 16, 2017 at 6:00
4

I'd hardly call PowerPC, Alpha or SPARC "exotic".

The values returned by uname are quite arbitrary, they form an open set. You may find lists of some possible values (autoconf project has one), but there is no real list that will list everything.

1
  • 1
    Have a look through a recent config.sub and config.guess from the autoconf source and you'll see a wide non-comprehensive list of possibilities. Sep 8, 2009 at 22:18
1

Maybe someone knows of a complete list somewhere...

As far as how the kernel implements the uname system call, filling in the proper information for the uname structure is spread across each of the arch directories in the kernel. So filling in the processor name and machine type for an x86 processor is done within the arch/x86 kernel source tree, and filling in that information for a powerpc is done someplace within the arch/powerpc tree.

I would figure that the kernel source has the answer to your question, it just may be that finding it may be time consuming.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .