How to Read CPU Flags From Cpuinfo
Yahya Irmak
Feb 02, 2024
Linux
Linux CPU

This article will explain how to read cpuinfo
information in Linux. Later, we will examine what CPU flags are and their meanings.
Read cpuinfo
in Linux
The /proc/cpuinfo
file contains detailed information about the CPUs in the computer. Use the following command to read the contents of the file.
cat /proc/cpuinfo
Here, we can see,
- Number of processors,
- CPU vendor, family, model name,
- The number of cores the CPU has,
- Cache, TLB, clflush and address sizes,
- Many flags and other information.
In the rest of the article, we will explain what the most common of these flags mean. For detailed information about all flags, see arch/x86/include/asm/cpufeature.h.
Most Common Flags in /proc/cpuinfo
A CPU can have hundreds of features that vary from model to model. Here, we will include the definitions of the most common flags as described in the official document.
AMD-defined CPU Features
Flag |
Description |
---|---|
SYSCALL |
SYSCALL/SYSRET |
MP |
MP Capable |
NX |
Execute Disable |
MMXEXT |
AMD MMX extensions |
FXSR_OPT |
FXSAVE/FXRSTOR optimizations |
GBPAGES |
pdpe1gb GB pages |
LM |
Long Mode (x86-64) |
Extended AMD Flags
Flag |
Description |
---|---|
LAHF_LM |
LAHF/SAHF in long mode |
CMP_LEGACY |
If yes HyperThreading not valid |
SVM |
Secure virtual machine |
ABM |
Advanced bit manipulation |
MISALIGNSSE |
Misaligned SSE mode |
3DNOWPREFETCH |
3DNow prefetch instructions |
OSVW |
OS Visible Workaround |
IBS |
Instruction Based Sampling |
XOP |
extended AVX instructions |
SKINIT |
SKINIT/STGI instructions |
WDT |
Watchdog timer |
LWP |
Light Weight Profiling |
TCE |
translation cache extension |
TBM |
trailing bit manipulations |
TOPOEXT |
topology extensions CPUID leafs |
PERFCTR_CORE |
core performance counter extensions |
BPEXT |
data breakpoint extension |
Intel-Defined CPU Features
Flag |
Description |
---|---|
FPU |
Onboard FPU |
VME |
Virtual Mode Extensions |
DE |
Debugging Extensions |
PSE |
Page Size Extensions |
TSC |
Time Stamp Counter |
MSR |
Model-Specific Registers |
PAE |
Physical Address Extensions |
MCE |
Machine Check Exception |
MTRR |
Memory Type Range Registers |
PGE |
Page Global Enable |
MCA |
Machine Check Architecture |
PAT |
Page Attribute Table |
MMX |
Multimedia Extensions |
PBE |
Pending Break Enable |
DTES64 |
64-bit Debug Store |
MWAIT |
monitor Monitor/Mwait support |
VMX |
Hardware virtualization |
SMX |
Safer mode |
TM2 |
Thermal Monitor 2 |
XTPR |
Send Task Priority Messages |
PDCM |
Performance Capabilities |
PCID |
Process Context Identifiers |
DCA |
Direct Cache Access |
HYPERVISOR |
Running on a hypervisor |
Virtualization Flags
Flag |
Description |
---|---|
EPT |
Intel Extended Page Table |
VPID |
Intel Virtual Processor ID |
NPT |
AMD Nested Page Table support |
LBRV |
AMD LBR Virtualization support |
NRIPS |
nrip_save AMD SVM next_rip save |
TSCRATEMSR |
tsc_scale AMD TSC scaling support |
VMCBCLEAN |
vmcb_clean AMD VMCB clean bits support |
FLUSHBYASID |
AMD flush-by-ASID support |
DECODEASSISTS |
AMD Decode Assists support |
PAUSEFILTER |
AMD filtered pause intercept |
PFTHRESHOLD |
AMD pause filter threshold |
VMMCALL |
Prefer vmmcall to vmcall |
Auxiliary Flags
Flag |
Description |
---|---|
IDA |
Intel Dynamic Acceleration |
ARAT |
Always Running APIC Timer |
CPB |
AMD Core Performance Boost |
EPB |
IA32_ENERGY_PERF_BIAS support |
PLN |
Intel Power Limit Notification |
PTS |
Intel Package Thermal Status |
DTHERM |
Digital Thermal Sensor |
PROC_FEEDBACK |
AMD ProcFeedbackInterface |
INTEL_PT |
Intel Processor Trace |
Detected Bug Flags
Flag |
Description |
---|---|
F00F |
Intel F00F |
FDIV |
FPU FDIV |
COMA |
Cyrix 6x86 coma |
AMD_TLB_MMATCH |
“tlb_mmatch” AMD Erratum 383 |
AMD_APIC_C1E |
“apic_c1e” AMD Erratum 400 |
11AP |
Bad local APIC aka 11AP |
FXSAVE_LEAK |
FXSAVE leaks FOP/FIP/FOP |
CLFLUSH_MONITOR |
AAI65, CLFLUSH required before MONITOR |
SYSRET_SS_ATTRS |
SYSRET doesn’t fix up SS attrs |
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
Author: Yahya Irmak
Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.
LinkedIn