Wie bestimme ich die CPU-Funktionen von PowerPC und Power 8 (und höher)?

12

Wir können /proc/cpuinfoauf Intel- und ARM-Computern untersuchen, um CPU-Funktionen wie AES und SHA zu erlernen. Ich muss dasselbe für PowerPC unter AIX und Linux tun.

Das Testen mit Linux wird unten gezeigt. Die Ausgabe wird von GCC112 in der Kompilierungsfarm erzeugt .

$ cat /proc/cpuinfo
processor       : 0
cpu             : POWER8E (raw), altivec supported
clock           : 2061.000000MHz
revision        : 2.1 (pvr 004b 0201)
...

processor       : 159
cpu             : POWER8E (raw), altivec supported
clock           : 2061.000000MHz
revision        : 2.1 (pvr 004b 0201)

timebase        : 512000000
platform        : PowerNV
model           : 8247-22L
machine         : PowerNV 8247-22L
firmware        : OPAL v3

GCC112 ist eine Power 8-Maschine. Ich sollte Flags wie VMX, AES, SHA, PMULL usw. sehen. VMX ist ungefähr das PowerPC-Äquivalent zu Intel SSE und ARM NEON.

Ich habe einige verwandte Diskussionen wie / proc / cpuinfo auf comp.os.linux.powerpc gefunden. Ich habe auch gefunden Was überprüfen wir auf einem neuen System? , aber es fehlen nützliche Details wie CPU-Funktionen. Schließlich gibt es eine verwandte Frage unter Was bedeuten die Flags in / proc / cpuinfo? , aber es geht nicht um PowerPC.

GCC scheint die Informationen C-Programmen durch die Verwendung von integrierten Funktionen zur Verfügung zu stellen . Zum Beispiel gibt es einen vsxTest und einen vcryptoTest. Das Problem ist, ich arbeite mit einem Bash-Skript und nicht mit einem C-Programm.

Ich weiß auch nicht, was ich für AIX verwenden soll. AIX ist unter GCC119 in der Kompilierungsfarm verfügbar .

Wie bekomme ich die PowerPC-CPU-Funktionen unter AIX und Linux?


quelle
6
Möglicherweise erhalten Sie einige Informationen unter lscpuLinux und lscfg -vunter AIX.
Meuh
Danke @meuh - Keine Freude. Ausgabe verfügbar bei PowerPC-CPU-Informationen .
1
Ich weiß nichts über ARM, aber SSE ist eine optionale Erweiterung für x86, während alles, was Sie für POWER erwähnt haben, von allen POWER8-Chips benötigt wird
Fox
Ich denke, wir haben den Linux-Fall unter stackoverflow.com/questions/46144668/… behandelt. Möchten Sie diesen Fall bearbeiten, um AIX-spezifischer zu gestalten?
Jeremy Kerr

Antworten:

3

Ich bin nicht sicher, warum / proc / cpuinfo oder lscpukeine Flaggeninformationen preisgibt. Ich habe die Liste der dem Linux-Kernel bekannten Flags gefunden: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/tree/arch/powerpc/include/asm/ cputable.h? id = refs / tags / v4.9

Ich habe gerade festgestellt, dass Sie nach ELF-Hilfsvektoren suchen können, die Ihnen einige Hardwarefunktionen zeigen.

$ LD_SHOW_AUXV=1 /bin/true
AT_SYSINFO_EHDR: 0x7ffdcd0e6000
AT_HWCAP:        bfebfbff
AT_PAGESZ:       4096
AT_CLKTCK:       100
AT_PHDR:         0x5591e6663040
AT_PHENT:        56
AT_PHNUM:        9
AT_BASE:         0x7f2ae4f79000
AT_FLAGS:        0x0
AT_ENTRY:        0x5591e6664670
AT_UID:          1000
AT_EUID:         1000
AT_GID:          1000
AT_EGID:         1000
AT_SECURE:       0
AT_RANDOM:       0x7ffdcd044399
AT_HWCAP2:       0x0
AT_EXECFN:       /bin/true
AT_PLATFORM:     x86_64

^^ Ihr AT_HWCAP wird Flag-Informationen haben. Maskiert. Ich habe Beispiele im Internet gesehen, die diesen Eintrag für Sie dekodiert haben. Ich habe leider keinen Zugriff auf PC-Hardware zum Testen.

lscpu sollte unter AIX verfügbar sein, würde es vielleicht CPU-Flags anzeigen?

Pedro
quelle