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, рівень CPUID 0x00000001 (edx)
Дивіться також Вікіпедію та таблицю 2-27 в Довідці з програмування розширень векторних розробок Intel
Особливості процесора, визначені AMD, рівень CPUID 0x80000001
Дивіться також Вікіпедію та таблицю 2-23 в Довідці з програмування розширень векторних розробок Intel
Функції процесора, визначені Transmeta, рівень CPUID 0x80860001
recovery: ЦП у режимі відновлення
longrun: Контроль потужності Longrun
lrti: Інтерфейс таблиці LongRun
Інші функції, картографічне відображення, визначене Linux
cxmmx: Розширення Cyrix MMX
k6_mtrr: AMD K6 нестандартні MTRR
cyrix_arr: Атрибути Cyrix (= MTRR)
centaur_mcr: MCR Кентавра (= MTRR)
constant_tsc: TSC кліщі з постійною швидкістю
up: Ядро SMP, яке працює вгору
art: Таймер, що завжди працює
arch_perfmon: Intel Architectural PerfMon
pebs: Вибірка на основі точного події
bts: Відділення магазину слідів
rep_good: мікрокод реп добре працює
acc_power: Механізм накопичення потужності AMD
nopl: Інструкції NOPL (0F 1F)
xtopology: розширення для топології процесора enum
tsc_reliable: TSC, як відомо, є надійним
nonstop_tsc: TSC не припиняється в країнах C
cpuid: CPU має інструкцію CPUID
extd_apicid: розширив APICID (8 біт)
amd_dcm: багатовузловий процесор
aperfmperf: APERFMPERF
eagerfpu: Не ледаче відновлення ФПУ
nonstop_tsc_s3: TSC не зупиняється в стані S3
tsc_known_freq: TSC має відому частоту
mce_recovery: ЦП має відшкодовані машинні перевірки
Особливості процесора, визначені Intel, рівень CPUID 0x00000001 (ecx)
Дивіться також Вікіпедію та таблицю 2-26 в Довідці з програмування розширень векторних розробок Intel
Особливості процесора, визначені VIA / Cyrix / Centaur, рівень CPUID 0xC0000001
rng: Генератор випадкових чисел присутній (xstore)
rng_en: Увімкнено генератор випадкових чисел
ace: крипто-процесор (xcrypt)
ace_en: увімкнено криптовалюту на центральному процесорі
ace2: Розширений механізм криптографії v2
ace2_en: Увімкнено ACE v2
phe: Двигун PadLock Hash
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: Кільце 3 MONITOR / MWAIT
cpuid_fault: Несправність процесора Intel CPUID
cpb: Підвищення продуктивності AMD
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
pti: Ізольована таблиця сторінки ядра (кайзер)
retpoline: Повторне зменшення ефекту для Spectre варіант 2 (непрямі гілки)
retpoline_amd: Пом'якшення зворотної лінії AMD
intel_ppin: Інвентарний номер процесора Intel
avx512_4vnniw: Інструкції з нейронної мережі AVX-512
avx512_4fmaps: AVX-512 множинне накопичення Одноточна точність
mba: Виділення пропускної здатності пам'яті
rsb_ctxsw: Заповніть RSB на контекстних комутаторах
Прапори віртуалізації: визначено Linux
tpr_shadow: Тінь Intel TPR
vnmi: Intel Virtual NMI
flexpriority: Intel FlexPriority
ept: Таблиця розширених сторінок Intel
vpid: Ідентифікатор віртуального процесора Intel
vmmcall: Воліють , VMMCALLщобVMCALL
Особливості процесора, визначені Intel, рівень CPUID 0x00000007: 0 (ebx)
Особливості розширеного стану, рівень CPUID 0x0000000d: 1 (eax)
xsaveopt: Оптимізовано XSAVE
xsavec: XSAVEC
xgetbv1: XGETBVпри ECX = 1
xsaves: XSAVES/XRSTORS
Підлісток QoS, визначений Intel, рівень CPUID 0x0000000F: 0 (edx)
Підлісток QoS процесора, визначений Intel, рівень CPUID 0x0000000F: 1 (edx)
cqm_occup_llc: Моніторинг заповнення ТОВ
cqm_mbm_total: ТОВ повний моніторинг MBM
cqm_mbm_local: ТОВ локальний моніторинг MBM
Особливості процесора, визначені AMD, рівень CPUID 0x80000008 (ebx)
clzero: CLZEROінструкція
irperf: вказівник лічильника ефективності роботи на пенсії
xsaveerptr: Завжди зберігайте / відновлюйте покажчики помилок FP
Лист керування тепловою енергією та електроенергією, рівень CPUID 0x00000006 (eax)
dtherm(раніше dts): цифровий тепловий датчик
ida: Intel Dynamic Acceleration
arat: Завжди працює таймер APIC
pln: Повідомлення про обмеження потужності Intel
pts: Тепловий стан пакета Intel
hwp: ПЗ-апаратні засоби Intel
hwp_notify: Повідомлення HWP
hwp_act_window: Вікно активності HWP
hwp_epp: Налаштування енергоефективності ГВП
hwp_pkg_req: Запит на рівні пакету HWP
Ідентифікація функції AMD SVM, рівень CPUID 0x8000000a (edx)
npt: Підтримка AMD вкладених таблиць сторінок
lbrv: Підтримка віртуалізації AMD LBR
svm_lock: Блокування MSR від AMD SVM
nrip_save: AMD SVM next_rip save
tsc_scale: Підтримка масштабування AMD TSC
vmcb_clean: Підтримка чистих бітів AMD VMCB
flushbyasid: Підтримка AMD флеш-під-ASID
decodeassists: Підтримка декодування AMD
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, рівень CPUID 0x80000007 (ebx)
overflow_recov: Підтримка відновлення переповнення MCA
succor: стримування помилок та відновлення помилок
smca: Масштабована MCA
Виявлені помилки CPU (визначено 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 потрібно перед MONITOR
sysret_ss_attrs: SYSRET не виправляє SS аттри
espfix: "" IRET до 16-розрядних SS пошкоджує високі біти ESP / RSP
null_seg: Зміна селектора зберігає основу
swapgs_fence: SWAPGS без вхідного відображення на GS
monitor: IPI необхідний для пробудження віддаленого процесора
amd_e400: CPU є одним із постраждалих від Erratum 400
cpu_meltdown: CPU впливає на атаку зриву і потребує ізоляції таблиці ядра сторінки
spectre_v1: ЦП впливає на атаку Spectre 1 варіанта з умовними гілками
spectre_v2: CPU впливає на атаку Spectre варіант 2 з непрямими гілками
spec_store_bypass: На процесор впливає вразливість Specurative 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. А ще є чудовий i-nex CLI / GUI .