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_mmatchAMD Erratum 383
amd_apic_c1e: apic_c1eAMD 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 .