acrn-kernel/tools/arch/x86/kcpuid/cpuid.csv

19 KiB

1# The basic row format is:
2# LEAF, SUBLEAF, register_name, bits, short_name, long_description
3# Leaf 00H
4 0, 0, EAX, 31:0, max_basic_leafs, Max input value for supported subleafs
5# Leaf 01H
6 1, 0, EAX, 3:0, stepping, Stepping ID
7 1, 0, EAX, 7:4, model, Model
8 1, 0, EAX, 11:8, family, Family ID
9 1, 0, EAX, 13:12, processor, Processor Type
10 1, 0, EAX, 19:16, model_ext, Extended Model ID
11 1, 0, EAX, 27:20, family_ext, Extended Family ID
12 1, 0, EBX, 7:0, brand, Brand Index
13 1, 0, EBX, 15:8, clflush_size, CLFLUSH line size (value * 8) in bytes
14 1, 0, EBX, 23:16, max_cpu_id, Maxim number of addressable logic cpu in this package
15 1, 0, EBX, 31:24, apic_id, Initial APIC ID
16 1, 0, ECX, 0, sse3, Streaming SIMD Extensions 3(SSE3)
17 1, 0, ECX, 1, pclmulqdq, PCLMULQDQ instruction supported
18 1, 0, ECX, 2, dtes64, DS area uses 64-bit layout
19 1, 0, ECX, 3, mwait, MONITOR/MWAIT supported
20 1, 0, ECX, 4, ds_cpl, CPL Qualified Debug Store which allows for branch message storage qualified by CPL
21 1, 0, ECX, 5, vmx, Virtual Machine Extensions supported
22 1, 0, ECX, 6, smx, Safer Mode Extension supported
23 1, 0, ECX, 7, eist, Enhanced Intel SpeedStep Technology
24 1, 0, ECX, 8, tm2, Thermal Monitor 2
25 1, 0, ECX, 9, ssse3, Supplemental Streaming SIMD Extensions 3 (SSSE3)
26 1, 0, ECX, 10, l1_ctx_id, L1 data cache could be set to either adaptive mode or shared mode (check IA32_MISC_ENABLE bit 24 definition)
27 1, 0, ECX, 11, sdbg, IA32_DEBUG_INTERFACE MSR for silicon debug supported
28 1, 0, ECX, 12, fma, FMA extensions using YMM state supported
29 1, 0, ECX, 13, cmpxchg16b, 'CMPXCHG16B - Compare and Exchange Bytes' supported
30 1, 0, ECX, 14, xtpr_update, xTPR Update Control supported
31 1, 0, ECX, 15, pdcm, Perfmon and Debug Capability present
32 1, 0, ECX, 17, pcid, Process-Context Identifiers feature present
33 1, 0, ECX, 18, dca, Prefetching data from a memory mapped device supported
34 1, 0, ECX, 19, sse4_1, SSE4.1 feature present
35 1, 0, ECX, 20, sse4_2, SSE4.2 feature present
36 1, 0, ECX, 21, x2apic, x2APIC supported
37 1, 0, ECX, 22, movbe, MOVBE instruction supported
38 1, 0, ECX, 23, popcnt, POPCNT instruction supported
39 1, 0, ECX, 24, tsc_deadline_timer, LAPIC supports one-shot operation using a TSC deadline value
40 1, 0, ECX, 25, aesni, AESNI instruction supported
41 1, 0, ECX, 26, xsave, XSAVE/XRSTOR processor extended states (XSETBV/XGETBV/XCR0)
42 1, 0, ECX, 27, osxsave, OS has set CR4.OSXSAVE bit to enable XSETBV/XGETBV/XCR0
43 1, 0, ECX, 28, avx, AVX instruction supported
44 1, 0, ECX, 29, f16c, 16-bit floating-point conversion instruction supported
45 1, 0, ECX, 30, rdrand, RDRAND instruction supported
46 1, 0, EDX, 0, fpu, x87 FPU on chip
47 1, 0, EDX, 1, vme, Virtual-8086 Mode Enhancement
48 1, 0, EDX, 2, de, Debugging Extensions
49 1, 0, EDX, 3, pse, Page Size Extensions
50 1, 0, EDX, 4, tsc, Time Stamp Counter
51 1, 0, EDX, 5, msr, RDMSR and WRMSR Support
52 1, 0, EDX, 6, pae, Physical Address Extensions
53 1, 0, EDX, 7, mce, Machine Check Exception
54 1, 0, EDX, 8, cx8, CMPXCHG8B instr
55 1, 0, EDX, 9, apic, APIC on Chip
56 1, 0, EDX, 11, sep, SYSENTER and SYSEXIT instrs
57 1, 0, EDX, 12, mtrr, Memory Type Range Registers
58 1, 0, EDX, 13, pge, Page Global Bit
59 1, 0, EDX, 14, mca, Machine Check Architecture
60 1, 0, EDX, 15, cmov, Conditional Move Instrs
61 1, 0, EDX, 16, pat, Page Attribute Table
62 1, 0, EDX, 17, pse36, 36-Bit Page Size Extension
63 1, 0, EDX, 18, psn, Processor Serial Number
64 1, 0, EDX, 19, clflush, CLFLUSH instr
65# 1, 0, EDX, 20,
66 1, 0, EDX, 21, ds, Debug Store
67 1, 0, EDX, 22, acpi, Thermal Monitor and Software Controlled Clock Facilities
68 1, 0, EDX, 23, mmx, Intel MMX Technology
69 1, 0, EDX, 24, fxsr, XSAVE and FXRSTOR Instrs
70 1, 0, EDX, 25, sse, SSE
71 1, 0, EDX, 26, sse2, SSE2
72 1, 0, EDX, 27, ss, Self Snoop
73 1, 0, EDX, 28, hit, Max APIC IDs
74 1, 0, EDX, 29, tm, Thermal Monitor
75# 1, 0, EDX, 30,
76 1, 0, EDX, 31, pbe, Pending Break Enable
77# Leaf 02H
78# cache and TLB descriptor info
79# Leaf 03H
80# Precessor Serial Number, introduced on Pentium III, not valid for
81# latest models
82# Leaf 04H
83# thread/core and cache topology
84 4, 0, EAX, 4:0, cache_type, Cache type like instr/data or unified
85 4, 0, EAX, 7:5, cache_level, Cache Level (starts at 1)
86 4, 0, EAX, 8, cache_self_init, Cache Self Initialization
87 4, 0, EAX, 9, fully_associate, Fully Associative cache
88# 4, 0, EAX, 13:10, resvd, resvd
89 4, 0, EAX, 25:14, max_logical_id, Max number of addressable IDs for logical processors sharing the cache
90 4, 0, EAX, 31:26, max_phy_id, Max number of addressable IDs for processors in phy package
91 4, 0, EBX, 11:0, cache_linesize, Size of a cache line in bytes
92 4, 0, EBX, 21:12, cache_partition, Physical Line partitions
93 4, 0, EBX, 31:22, cache_ways, Ways of associativity
94 4, 0, ECX, 31:0, cache_sets, Number of Sets - 1
95 4, 0, EDX, 0, c_wbinvd, 1 means WBINVD/INVD is not ganranteed to act upon lower level caches of non-originating threads sharing this cache
96 4, 0, EDX, 1, c_incl, Whether cache is inclusive of lower cache level
97 4, 0, EDX, 2, c_comp_index, Complex Cache Indexing
98# Leaf 05H
99# MONITOR/MWAIT
100# Leaf 06H
101# Thermal & Power Management
102# Leaf 07H
103# AVX512 refers to https://en.wikipedia.org/wiki/AVX-512
104# XXX: Do we really need to enumerate each and every AVX512 sub features
105# Leaf 08H
106#
107# Leaf 09H
108# Direct Cache Access (DCA) information
109# Leaf 0AH
110# Architectural Performance Monitoring
111#
112# Do we really need to print out the PMU related stuff?
113# Does normal user really care about it?
114#
115 0xA, 0, EAX, 7:0, pmu_ver, Performance Monitoring Unit version
116 0xA, 0, EAX, 15:8, pmu_gp_cnt_num, Numer of general-purose PMU counters per logical CPU
117 0xA, 0, EAX, 23:16, pmu_cnt_bits, Bit wideth of PMU counter
118 0xA, 0, EAX, 31:24, pmu_ebx_bits, Length of EBX bit vector to enumerate PMU events
119 0xA, 0, EBX, 0, pmu_no_core_cycle_evt, Core cycle event not available
120 0xA, 0, EBX, 1, pmu_no_instr_ret_evt, Instruction retired event not available
121 0xA, 0, EBX, 2, pmu_no_ref_cycle_evt, Reference cycles event not available
122 0xA, 0, EBX, 3, pmu_no_llc_ref_evt, Last-level cache reference event not available
123 0xA, 0, EBX, 4, pmu_no_llc_mis_evt, Last-level cache misses event not available
124 0xA, 0, EBX, 5, pmu_no_br_instr_ret_evt, Branch instruction retired event not available
125 0xA, 0, EBX, 6, pmu_no_br_mispredict_evt, Branch mispredict retired event not available
126 0xA, 0, ECX, 4:0, pmu_fixed_cnt_num, Performance Monitoring Unit version
127 0xA, 0, ECX, 12:5, pmu_fixed_cnt_bits, Numer of PMU counters per logical CPU
128# Leaf 0BH
129# Extended Topology Enumeration Leaf
130#
131 0xB, 0, EAX, 4:0, id_shift, Number of bits to shift right on x2APIC ID to get a unique topology ID of the next level type
132 0xB, 0, EBX, 15:0, cpu_nr, Number of logical processors at this level type
133 0xB, 0, ECX, 15:8, lvl_type, 0-Invalid 1-SMT 2-Core
134 0xB, 0, EDX, 31:0, x2apic_id, x2APIC ID the current logical processor
135# Leaf 0DH
136# Processor Extended State
137 0xD, 0, EAX, 0, x87, X87 state
138 0xD, 0, EAX, 1, sse, SSE state
139 0xD, 0, EAX, 2, avx, AVX state
140 0xD, 0, EAX, 4:3, mpx, MPX state
141 0xD, 0, EAX, 7:5, avx512, AVX-512 state
142 0xD, 0, EAX, 9, pkru, PKRU state
143 0xD, 0, EBX, 31:0, max_sz_xcr0, Maximum size (bytes) required by enabled features in XCR0
144 0xD, 0, ECX, 31:0, max_sz_xsave, Maximum size (bytes) of the XSAVE/XRSTOR save area
145 0xD, 1, EAX, 0, xsaveopt, XSAVEOPT available
146 0xD, 1, EAX, 1, xsavec, XSAVEC and compacted form supported
147 0xD, 1, EAX, 2, xgetbv, XGETBV supported
148 0xD, 1, EAX, 3, xsaves, XSAVES/XRSTORS and IA32_XSS supported
149 0xD, 1, EBX, 31:0, max_sz_xcr0, Maximum size (bytes) required by enabled features in XCR0
150 0xD, 1, ECX, 8, pt, PT state
151 0xD, 1, ECX, 11, cet_usr, CET user state
152 0xD, 1, ECX, 12, cet_supv, CET supervisor state
153 0xD, 1, ECX, 13, hdc, HDC state
154 0xD, 1, ECX, 16, hwp, HWP state
155# Leaf 0FH
156# Intel RDT Monitoring
157 0xF, 0, EBX, 31:0, rmid_range, Maximum range (zero-based) of RMID within this physical processor of all types
158 0xF, 0, EDX, 1, l3c_rdt_mon, L3 Cache RDT Monitoring supported
159 0xF, 1, ECX, 31:0, rmid_range, Maximum range (zero-based) of RMID of this types
160 0xF, 1, EDX, 0, l3c_ocp_mon, L3 Cache occupancy Monitoring supported
161 0xF, 1, EDX, 1, l3c_tbw_mon, L3 Cache Total Bandwidth Monitoring supported
162 0xF, 1, EDX, 2, l3c_lbw_mon, L3 Cache Local Bandwidth Monitoring supported
163# Leaf 10H
164# Intel RDT Allocation
165 0x10, 0, EBX, 1, l3c_rdt_alloc, L3 Cache Allocation supported
166 0x10, 0, EBX, 2, l2c_rdt_alloc, L2 Cache Allocation supported
167 0x10, 0, EBX, 3, mem_bw_alloc, Memory Bandwidth Allocation supported
168# Leaf 12H
169# SGX Capability
170#
171# Some detailed SGX features not added yet
172 0x12, 0, EAX, 0, sgx1, L3 Cache Allocation supported
173 0x12, 1, EAX, 0, sgx2, L3 Cache Allocation supported
174# Leaf 14H
175# Intel Processor Tracer
176#
177# Leaf 15H
178# Time Stamp Counter and Nominal Core Crystal Clock Information
179 0x15, 0, EAX, 31:0, tsc_denominator, The denominator of the TSC/”core crystal clock” ratio
180 0x15, 0, EBX, 31:0, tsc_numerator, The numerator of the TSC/”core crystal clock” ratio
181 0x15, 0, ECX, 31:0, nom_freq, Nominal frequency of the core crystal clock in Hz
182# Leaf 16H
183# Processor Frequency Information
184 0x16, 0, EAX, 15:0, cpu_base_freq, Processor Base Frequency in MHz
185 0x16, 0, EBX, 15:0, cpu_max_freq, Maximum Frequency in MHz
186 0x16, 0, ECX, 15:0, bus_freq, Bus (Reference) Frequency in MHz
187# Leaf 17H
188# System-On-Chip Vendor Attribute
189 0x17, 0, EAX, 31:0, max_socid, Maximum input value of supported sub-leaf
190 0x17, 0, EBX, 15:0, soc_vid, SOC Vendor ID
191 0x17, 0, EBX, 16, std_vid, SOC Vendor ID is assigned via an industry standard scheme
192 0x17, 0, ECX, 31:0, soc_pid, SOC Project ID assigned by vendor
193 0x17, 0, EDX, 31:0, soc_sid, SOC Stepping ID
194# Leaf 18H
195# Deterministic Address Translation Parameters
196# Leaf 19H
197# Key Locker Leaf
198# Leaf 1AH
199# Hybrid Information
200 0x1A, 0, EAX, 31:24, core_type, 20H-Intel_Atom 40H-Intel_Core
201# Leaf 1FH
202# V2 Extended Topology - A preferred superset to leaf 0BH
203# According to SDM
204# 40000000H - 4FFFFFFFH is invalid range
205# Leaf 80000001H
206# Extended Processor Signature and Feature Bits
2070x80000001, 0, ECX, 0, lahf_lm, LAHF/SAHF available in 64-bit mode
2080x80000001, 0, ECX, 5, lzcnt, LZCNT
2090x80000001, 0, ECX, 8, prefetchw, PREFETCHW
2100x80000001, 0, EDX, 11, sysret, SYSCALL/SYSRET supported
2110x80000001, 0, EDX, 20, exec_dis, Execute Disable Bit available
2120x80000001, 0, EDX, 26, 1gb_page, 1GB page supported
2130x80000001, 0, EDX, 27, rdtscp, RDTSCP and IA32_TSC_AUX are available
214#0x80000001, 0, EDX, 29, 64b, 64b Architecture supported
215# Leaf 80000002H/80000003H/80000004H
216# Processor Brand String
217# Leaf 80000005H
218# Reserved
219# Leaf 80000006H
220# Extended L2 Cache Features
2210x80000006, 0, ECX, 7:0, clsize, Cache Line size in bytes
2220x80000006, 0, ECX, 15:12, l2c_assoc, L2 Associativity
2230x80000006, 0, ECX, 31:16, csize, Cache size in 1K units
224# Leaf 80000007H
2250x80000007, 0, EDX, 8, nonstop_tsc, Invariant TSC available
226# Leaf 80000008H
2270x80000008, 0, EAX, 7:0, phy_adr_bits, Physical Address Bits
2280x80000008, 0, EAX, 15:8, lnr_adr_bits, Linear Address Bits
2290x80000007, 0, EBX, 9, wbnoinvd, WBNOINVD
230# 0x8000001E
231# EAX: Extended APIC ID
232# EBX: Core Identifiers
233# ECX: Node Identifiers
234# 8000001F: AMD Secure Encryption