Как уже упоминалось, cpuid
является инструкцией для процессоров x86-64 (AMD64 / EMT64) и более поздних версий x86 (IA32) и не имеет ничего общего с powerpc. Насколько я знаю, нет эквивалента такой инструкции для powerpc (по крайней мере, не для непривилегированных инструкций), предписанной спецификацией powerpc, поэтому операционные системы имеют свои собственные подходы.
В некоторых системах, например, в вариантах BSD, это может быть просто: sysctl <option>
Вы можете взглянуть на стратегии, используемые gcc
для определения версий процессоров powerpc
и power
для различных операционных систем :
Из текущего gcc-8.1.0
источника: driver-powerpcspe.c
, driver-rs6000.c
может предоставить некоторый код, который вы можете адаптировать.
Другим интересным источником может быть инфраструктура автоинструментов для библиотеки GMP ; в частности, файлы верхнего уровня config.guess
и configure.ac
.
Также: gcc -march=native -E -dM - < /dev/null
на мощном хосте [pc] может позволить вам выполнить поиск строки процессора и / или подтипа.