Project

General

Profile

List of CPU Flags

Technical documentation
05/25/2013

Show CPU Details

To get a description, including a list of flags the CPU supports, in GNU/Linux use:

cat /proc/cpuinfo

List of CPU Flags

All the flags

The full listing is in the kernel source, in the file arch/x86/include/asm/cpufeature.h .
Intel-defined CPU features, CPUID level 0x00000001 (edx)

See also Wikipedia and table 2-27 in Intel Advanced Vector Extensions Programming Reference

AMD-defined CPU features, CPUID level 0x80000001

See also Wikipedia and table 2-23 in Intel Advanced Vector Extensions Programming Reference

  • syscall: SYSCALL/SYSRET
  • mp: MP Capable.
  • nx: Execute Disable
  • mmxext: AMD MMX extensions
  • fxsr_opt: FXSAVE/FXRSTOR optimizations
  • pdpe1gb: GB pages
  • rdtscp: RDTSCP
  • lm: Long Mode (x86-64 : amd64, also known as Intel 64, i.e. 64-bit capable)
  • 3dnowext: AMD 3DNow! extensions
  • 3dnow: 3DNow! (AMD vector instructions, competing with Intel's SSE1)

Transmeta-defined CPU features, CPUID level 0x80860001

  • recovery: CPU in recovery mode
  • longrun: Longrun power control
  • lrti: LongRun table interface

Other features, Linux-defined mapping

  • cxmmx: Cyrix MMX extensions
  • k6_mtrr: AMD K6 nonstandard MTRRs
  • cyrix_arr: Cyrix ARRs (= MTRRs)
  • centaur_mcr: Centaur MCRs (= MTRRs)
  • constant_tsc: TSC ticks at a constant rate
  • up: smp kernel running on up
  • arch_perfmon: Intel Architectural PerfMon
  • pebs: Precise-Event Based Sampling
  • bts: Branch Trace Store
  • rep_good: rep microcode works well
  • nopl: The NOPL (0F 1F) instructions
  • xtopology: cpu topology enum extensions
  • tsc_reliable: TSC is known to be reliable
  • nonstop_tsc: TSC does not stop in C states
  • extd_apicid: has extended APICID (8 bits)
  • amd_dcm: multi-node processor
  • aperfmperf: APERFMPERF

Intel-defined CPU features, CPUID level 0x00000001 (ecx)

See also Wikipedia and table 2-26 in Intel Advanced Vector Extensions Programming Reference

VIA/Cyrix/Centaur-defined CPU features, CPUID level 0xC0000001

  • rng: RNG present (xstore)
  • rng_en: RNG enabled
  • ace: on-CPU crypto (xcrypt)
  • ace_en: on-CPU crypto enabled
  • ace2: Advanced Cryptography Engine v2
  • ace2_en: ACE v2 enabled
  • phe: PadLock Hash Engine
  • phe_en: PHE enabled
  • pmm: PadLock Montgomery Multiplier
  • pmm_en: PMM enabled

More extended AMD flags: CPUID level 0x80000001, ecx

  • lahf_lm: LAHF/SAHF in long mode
  • cmp_legacy: If yes HyperThreading not valid
  • svm: “Secure virtual machine”: AMD-V
  • extapic: Extended APIC space
  • cr8_legacy: CR8 in 32-bit mode
  • abm: Advanced bit manipulation
  • sse4a: SSE-4A
  • 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
  • fma4: 4 operands MAC instructions
  • tce: translation cache extension
  • nodeid_msr: NodeId MSR
  • tbm: trailing bit manipulations
  • topoext: topology extensions CPUID leafs
  • perfctr_core: core performance counter extensions

Auxiliary flags: Linux defined - For features scattered in various CPUID levels

  • ida: Intel Dynamic Acceleration
  • arat: Always Running APIC Timer
  • cpb: AMD Core Performance Boost
  • epb: IA32_ENERGY_PERF_BIAS support
  • xsaveopt: Optimized Xsave
  • pln: Intel Power Limit Notification
  • pts: Intel Package Thermal Status
  • dts: Digital Thermal Sensor
  • hw_pstate: AMD HW-PState

Virtualization flags: Linux defined

  • tpr_shadow: Intel TPR Shadow
  • vnmi: Intel Virtual NMI
  • flexpriority: Intel FlexPriority
  • ept: Intel Extended Page Table
  • vpid: Intel Virtual Processor ID
  • npt: AMD Nested Page Table support
  • lbrv: AMD LBR Virtualization support
  • svm_lock: AMD SVM locking MSR
  • nrip_save: AMD SVM next_rip save
  • tsc_scale: AMD TSC scaling support
  • 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

Intel-defined CPU features, CPUID level 0x00000007:0 (ebx)

  • fsgsbase: {RD/WR}{FS/GS}BASE instructions
  • bmi1: 1st group bit manipulation extensions
  • hle: Hardware Lock Elision
  • avx2: AVX2 instructions
  • smep: Supervisor Mode Execution Protection
  • bmi2: 2nd group bit manipulation extensions
  • erms: Enhanced REP MOVSB/STOSB
  • invpcid: Invalidate Processor Context ID
  • rtm: Restricted Transactional Memory

Resources

http://unix.stackexchange.com/questions/43539/what-do-the-flags-in-proc-cpuinfo-mean

Files