一尘不染

uname -m的可能值

linux

uname(1)命令行实用程序具有-m它打印“机器硬件名称”选项。

在Linux上,此字段来自的machine成员(struct utsnameuname(2)系统调用填充)。

许多其他语言API返回此信息:

“机器”字段的可能值是什么?


阅读 931

收藏
2020-06-07

共1个答案

一尘不染

的Linux

(v4.12-2017年7月)

让我们参考newuname系统调用的源代码。

由于Linux具有UTS命名空间,因此要对此进行跟踪非常复杂,但是该字段是由按架构定义的宏初始化的。init_uts_ns machine``UTS_MACHINE

如果进程在32位“ compat”字符下运行,则machine可以通过覆盖
进一步复杂的问题,override_architecture()方法是to
COMPAT_UTS_MACHINE

UTS_MACHINE默认Makefile与相同ARCH。但是,许多平台在同一arch目录下有单独的子体系结构,因此它们可以UTS_MACHINE自行设置

使用目录列表arch/以及grepLinux内核源代码(git grep 'UTS_MACHINE\s*:='git grep COMPAT_UTS_MACHINE)的少量添加,我们可以得出以下列表:

  • alpha
  • arc

  • arm

  • aarch64_bearm64

  • aarch64arm64
  • armv8barm64兼容)
  • armv8larm64兼容)

  • blackfin

  • c6x

  • cris
  • frv
  • h8300
  • hexagon
  • ia64
  • m32r
  • m68k
  • metag
  • microblaze
  • mips (本地或兼容)
  • mips64mips
  • mn10300
  • nios2
  • openrisc
  • parisc (本地或兼容)
  • parisc64parisc
  • ppcpowerpc本地或兼容)
  • ppc64powerpc
  • ppclepowerpc本地或兼容)
  • ppc64lepowerpc
  • s390s390x兼容)
  • s390x
  • score
  • sh
  • sh64sh
  • sparc (本地或兼容)
  • sparc64sparc
  • tile
  • unicore32
  • i386x86
  • i686x86兼容)
  • x86_64x64
  • xtensa
2020-06-07