x86
(32-разрядный, он же i386 – i686 и 64-разрядный, он же amd64. Другими словами, ваша рабочая станция, ноутбук или сервер.)
FAQ: есть ли у меня ...
- 64-разрядная (x86_64 / AMD64 / Intel64)?
lm
- Аппаратная виртуализация (VMX / AMD-V)
vmx
(Intel), svm
(AMD)
- Ускоренный AES (AES-NI)?
aes
- TXT (TPM)?
smx
- гипервизор (объявленный как таковой)?
hypervisor
Большинство других функций представляют интерес только для авторов компилятора или ядра.
Все флаги
Полный список находится в исходном коде ядра, в файле arch/x86/include/asm/cpufeatures.h
.
Определяемые Intel функции CPU, уровень CPUID 0x00000001 (edx)
См. Также Википедию и таблицу 2-27 в Справочнике по программированию расширенных векторных расширений Intel.
Определяемые AMD функции CPU, уровень CPUID 0x80000001
См. Также Википедию и таблицу 2-23 в Справочнике по программированию расширенных векторных расширений Intel.
Определяемые Transmeta функции CPU, уровень CPUID 0x80860001
recovery
: Процессор в режиме восстановления
longrun
: Управление мощностью Longrun
lrti
: Интерфейс таблицы LongRun
Другие функции, отображение, определенное в Linux
cxmmx
: Расширения Cyrix MMX
k6_mtrr
: AMD K6 нестандартных MTRR
cyrix_arr
: Cyrix ARR (= MTRR)
centaur_mcr
: Кентавр MCR (= MTRR)
constant_tsc
: TSC тикает с постоянной скоростью
up
: Ядро SMP работает на UP
art
: Всегда работающий таймер
arch_perfmon
: Intel Architectural PerfMon
pebs
: Выборка на основе точных событий
bts
: Филиал Трасса Магазин
rep_good
: rep микрокод работает хорошо
acc_power
: Механизм накопления мощности AMD
nopl
: Инструкции NOPL (0F 1F)
xtopology
: расширения топологии процессора
tsc_reliable
: TSC известен как надежный
nonstop_tsc
: TSC не останавливается в состояниях C
cpuid
: CPU имеет саму инструкцию CPUID
extd_apicid
: имеет расширенный APICID (8 бит)
amd_dcm
: многоузловой процессор
aperfmperf
: APERFMPERF
eagerfpu
: Не ленивое восстановление FPU
nonstop_tsc_s3
: TSC не останавливается в состоянии S3
tsc_known_freq
: TSC имеет известную частоту
mce_recovery
: Процессор имеет восстанавливаемые машинные проверки
Определяемые Intel функции CPU, уровень CPUID 0x00000001 (ecx)
См. Также Википедию и таблицу 2-26 в Справочнике по программированию расширенных векторных расширений Intel.
Функции CPU, определяемые VIA / Cyrix / Centaur, уровень CPUID 0xC0000001
rng
: Генератор случайных чисел присутствует (xstore)
rng_en
: Генератор случайных чисел включен
ace
: криптография на процессоре (xcrypt)
ace_en
: шифрование на процессоре включено
ace2
: Улучшенный криптографический движок v2
ace2_en
: ACE v2 включен
phe
: PadLock Hash Engine
phe_en
: PHE включен
pmm
: Мультипликатор PadLock Montgomery
pmm_en
: PMM включен
Более расширенные флаги AMD: уровень CPUID 0x80000001, ecx
lahf_lm
: Загрузка AH из флагов (LAHF) и сохранение AH во флаги (SAHF) в длинном режиме
cmp_legacy
: Если да, HyperThreading не действителен
svm
: «Безопасная виртуальная машина»: AMD-V
extapic
: Расширенное пространство APIC
cr8_legacy
: CR8 в 32-битном режиме
abm
: Расширенное управление битами
sse4a
: SSE-4A
misalignsse
: указывает, генерируется ли исключение общей защиты (#GP), когда некоторые устаревшие инструкции SSE работают с невыровненными данными. Также зависит от CR0 и бита проверки выравнивания
3dnowprefetch
: Инструкции по предварительной загрузке 3DNow
osvw
: указывает на видимый обходной путь ОС , который позволяет ОС работать с ошибками процессора.
ibs
: Выборка на основе инструкций
xop
: расширенные инструкции AVX
skinit
: Инструкции SKINIT / STGI
wdt
: Сторожевой таймер
lwp
: Легковесное профилирование
fma4
: 4 операнда MAC инструкции
tce
: расширение кеша перевода
nodeid_msr
: NodeId MSR
tbm
: Манипулирование конечными битами
topoext
: Расширения топологии Листья CPUID
perfctr_core
: Расширения счетчика производительности ядра
perfctr_nb
: Расширения счетчика производительности NB
bpext
: расширение точки останова данных
ptsc
: счетчик меток времени выполнения
perfctr_l2
: Расширения счетчика производительности L2
mwaitx
: MWAIT
расширение ( MONITORX
/ MWAITX
)
Вспомогательные флаги: определено в Linux - для функций, разбросанных по различным уровням CPUID
ring3mwait
: Ring 3 MONITOR / MWAIT
cpuid_fault
: Intel CPUID неисправен
cpb
: AMD Core Performance Boost
epb
: Поддержка IA32_ENERGY_PERF_BIAS
cat_l3
: Технология выделения кэша L3
cat_l2
: Технология выделения кэша L2
cdp_l3
: Код и приоритезация данных L3
invpcid_single
: эффективно invpcid
иCR4.PCIDE=1
hw_pstate
: AMD HW-PState
proc_feedback
: AMD ProcFeedbackInterface
sme
: AMD Secure Memory Encryption
pti
: Изоляция таблицы страниц ядра (Kaiser)
retpoline
: Ослабление ретполина для варианта Spectre 2 (непрямые ветви)
retpoline_amd
: AMD Ретполин смягчение
intel_ppin
: Инвентарный номер процессора Intel
avx512_4vnniw
: Инструкции по нейронной сети AVX-512
avx512_4fmaps
: AVX-512 Multiply Accumulation с одинарной точностью
mba
: Распределение пропускной способности памяти
rsb_ctxsw
: Заполнить RSB при переключении контекста
Флаги виртуализации: Linux определен
tpr_shadow
: Intel TPR Shadow
vnmi
: Intel Virtual NMI
flexpriority
: Intel FlexPriority
ept
: Расширенная таблица страниц Intel
vpid
: Идентификатор виртуального процессора Intel
vmmcall
: Предпочитают , VMMCALL
чтобыVMCALL
Определяемые Intel функции CPU, уровень CPUID 0x00000007: 0 (ebx)
Расширенные функции состояния, уровень CPUID 0x0000000d: 1 (eax)
xsaveopt
: Оптимизировано XSAVE
xsavec
: XSAVEC
xgetbv1
: XGETBV
с ECX = 1
xsaves
: XSAVES
/XRSTORS
Определяемый Intel дополнительный лист QoS ЦП, уровень CPUID 0x0000000F: 0 (edx)
Определяемый Intel дополнительный лист QoS ЦП, уровень CPUID 0x0000000F: 1 (edx)
cqm_occup_llc
: Мониторинг занятости ООО
cqm_mbm_total
: ООО тотальный мониторинг MBM
cqm_mbm_local
: ООО Локальный МБМ мониторинг
Определяемые AMD функции CPU, уровень CPUID 0x80000008 (ebx)
clzero
: CLZERO
инструкция
irperf
: инструкция удалилась счетчик производительности
xsaveerptr
: Всегда сохранять / восстанавливать указатели ошибок FP
Лист управления температурой и питанием, уровень CPUID 0x00000006 (eax)
dtherm
(ранее dts
): цифровой термодатчик
ida
: Intel Dynamic Acceleration
arat
: Всегда работает таймер APIC
pln
: Уведомление об ограничении мощности Intel
pts
: Intel Package Thermal Status
hwp
: Intel Hardware P-состояния
hwp_notify
: Уведомление HWP
hwp_act_window
: Окно Активности HWP
hwp_epp
: Предпочтение энергоэффективности HWP
hwp_pkg_req
: Запрос уровня пакета HWP
Идентификация функций AMD SVM, уровень CPUID 0x8000000a (edx)
npt
: Поддержка AMD Nested Page Table
lbrv
: Поддержка виртуализации AMD LBR
svm_lock
: AMD SVM блокирует MSR
nrip_save
: AMD SVM next_rip сохранить
tsc_scale
: Поддержка масштабирования AMD TSC
vmcb_clean
: Поддержка чистых битов AMD VMCB
flushbyasid
: Поддержка AMD при помощи ASID
decodeassists
: Поддержка AMD Decode Assists
pausefilter
: AMD фильтрует перехват паузы
pfthreshold
: Порог фильтра паузы AMD
avic
: Виртуальный контроллер прерываний
vmsave_vmload
: Виртуальный VMSAVE VMLOAD
vgif
: Виртуальный GIF
Определяемые Intel функции процессора, уровень CPUID 0x00000007: 0 (ecx)
avx512vbmi
: AVX512 Инструкции по управлению векторными битами
umip
: Защита режима пользователя
pku
: Ключи защиты для пространства пользователя
ospke
: Ключи защиты ОС включены
avx512_vbmi2
: Дополнительные инструкции по манипулированию векторным битом AVX512
gfni
: Галуа Филд Новые инструкции
vaes
: Вектор AES
vpclmulqdq
: Двойное умножение без переноса
avx512_vnni
: Векторные инструкции нейронной сети
avx512_bitalg
: Инструкции VPOPCNT [B, W] и VPSHUF-BITQMB
avx512_vpopcntdq
: POPCNT для векторов DW / QW
la57
: 5-уровневые таблицы страниц
rdpid
: Инструкция RDPID
Определяемые AMD функции CPU, уровень CPUID 0x80000007 (ebx)
overflow_recov
: Поддержка восстановления при переполнении MCA
succor
: исправление и исправление неисправимой ошибки
smca
: Масштабируемая MCA
Обнаруженные ошибки процессора (определяется Linux)
f00f
: Intel F00F
fdiv
: CPU FDIV
coma
: Cyrix 6x86 кома
amd_tlb_mmatch
: tlb_mmatch
AMD Erratum 383
amd_apic_c1e
: apic_c1e
AMD Erratum 400
11ap
: Плохой местный APIC aka 11AP
fxsave_leak
: FXSAVE пропускает FOP / FIP / FOP
clflush_monitor
: AAI65, CLFLUSH требуется до МОНИТОРА
sysret_ss_attrs
: SYSRET не исправляет атрибуты SS
espfix
: "" IRET для 16-битного SS повреждает старшие биты ESP / RSP
null_seg
: Обнуление селектора сохраняет базу
swapgs_fence
: SWAPGS без ввода депозита на GS
monitor
: IPI требуется для пробуждения удаленного процессора
amd_e400
: Процессор находится в числе пострадавших от Erratum 400
cpu_meltdown
: CPU подвержен атаке распада и нуждается в изоляции таблицы страниц ядра
spectre_v1
: ЦП зависит от Спектра варианта 1 атаки с условными переходами
spectre_v2
: Процессор зависит от Спектра варианта 2 атаки с косвенными ветвями
spec_store_bypass
: ЦП подвержен уязвимости спекулятивного обхода хранилища (вариант Spectre 4).
PS Этот список был получен из arch/x86/include/asm/cpufeatures.h
исходного кода ядра. Флаги перечислены в том же порядке, что и исходный код. Помогите, добавив ссылки на описания функций, когда они отсутствуют, написав краткое описание функций с невыразительными именами и обновив список для новых версий ядра. Текущий список из Linux 4.15 плюс некоторые более поздние дополнения.
$ egrep -wo ^flags|vmx|ept|vpid|npt|tpr_shadow|flexpriority|vnmi|lm|aes' /proc/cpuinfo --color | sort -u
. И есть также превосходный CLI / GUI i-nex .