Linux:`uname -m` 和 `uname -p` 可能返回的值是什么?

Linux:`uname -m` 和 `uname -p` 可能返回的值是什么?

我知道,对于 32 位 Intel Linuces,它返回i[3-6]86。对于 64 位 Intel,它说x86_64。但是其他奇特的架构呢?(PowerPC、Alpha、SPARC……)是否有权威列表?

如果还有关于其他非 Linux Unices 的信息,则可以获得加分。

答案1

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

成立这里,在右边。我想这个列表并不完整,但差不多了 :) 在 Google 上搜索 linux“架构列表”会有所帮助!

答案2

我几乎不会将 PowerPC、Alpha 或 SPARC 称为“奇特的”。

uname 返回的值相当随意,它们构成一个开放集。您可能会发现一些可能值的列表(autoconf 项目有一个),但没有真正的列表会列出所有内容。

答案3

也许有人知道某个地方的完整列表......

至于内核如何实现 uname 系统调用,为 uname 结构填写正确的信息分布在内核中的每个 arch 目录中。因此,为 x86 处理器填写处理器名称和机器类型是在 arch/x86 内核源代码树中完成的,而为 powerpc 填写该信息是在 arch/powerpc 树中的某个地方完成的。

我认为内核源代码可以回答你的问题,只是找到它可能会很耗时。

相关内容