Bagaimana cara menentukan fitur CPU pada PowerPC dan Power 8 (dan di atas)?

12

Kita dapat memeriksa /proc/cpuinfopada mesin Intel dan ARM untuk mempelajari fitur cpu, seperti AES dan SHA. Saya perlu melakukan hal yang sama untuk PowerPC di bawah AIX dan Linux.

Pengujian dengan Linux ditunjukkan di bawah ini. Output dihasilkan oleh GCC112 di compile farm .

$ 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 adalah mesin Power 8. Saya seharusnya melihat flag seperti VMX, AES, SHA, PMULL, dll. VMX kira-kira setara dengan PowerPC untuk Intel SSE dan ARM NEON.

Saya telah menemukan beberapa diskusi terkait seperti / proc / cpuinfo di comp.os.linux.powerpc. Saya juga menemukan Apa yang kita periksa pada sistem baru? , tetapi tidak memiliki detail yang berguna seperti fitur cpu. Akhirnya, ada pertanyaan terkait di Apa arti flag di / proc / cpuinfo? , tetapi tidak membahas PowerPC.

GCC tampaknya memberikan informasi kepada program C melalui penggunaan built-in . Misalnya, ada vsxtes dan vcryptotes. Masalahnya adalah, saya bekerja dari skrip Bash dan bukan program C.

Saya juga tidak tahu apa yang harus digunakan untuk AIX. AIX tersedia di GCC119 di compile farm .

Bagaimana cara saya mendapatkan fitur cpu PowerPC di AIX dan Linux?


sumber
6
Anda mungkin mendapatkan beberapa info dari lscpudi Linux, dan lscfg -vdi AIX.
meuh
Terima kasih @ meuh - Tidak ada sukacita. Output tersedia di informasi CPU PowerPC .
1
Saya tidak tahu tentang ARM, tetapi SSE adalah ekstensi opsional pada x86, sementara semua yang Anda sebutkan untuk POWER diperlukan oleh semua chip POWER8
Fox
Saya pikir kami telah membahas kasus Linux di stackoverflow.com/questions/46144668/… , apakah Anda ingin mengedit yang ini lebih spesifik ke AIX?
Jeremy Kerr

Jawaban:

3

Saya tidak yakin mengapa / proc / cpuinfo atau lscputidak mengungkapkan informasi flag. Saya telah menemukan daftar flag yang diketahui oleh kernel linux 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

Saya baru saja menemukan bahwa Anda dapat mencari vektor tambahan ELF yang akan menunjukkan kepada Anda beberapa kemampuan perangkat keras.

$ 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

^^ AT_HWCAP Anda akan memiliki info bendera. Bertopeng. Saya telah melihat sampel di Internet yang memiliki entri ini diterjemahkan untuk Anda. Sayangnya saya tidak memiliki akses ke perangkat keras ppc untuk diuji.

lscpu harus tersedia di AIX, mungkin itu akan menunjukkan flag CPU?

Pedro
sumber