162306a36Sopenharmony_ci# The basic row format is:
262306a36Sopenharmony_ci# LEAF, SUBLEAF, register_name, bits, short_name, long_description
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci# Leaf 00H
562306a36Sopenharmony_ci         0,    0,  EAX,   31:0, max_basic_leafs, Max input value for supported subleafs
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci# Leaf 01H
862306a36Sopenharmony_ci         1,    0,  EAX,    3:0, stepping, Stepping ID
962306a36Sopenharmony_ci         1,    0,  EAX,    7:4, model, Model
1062306a36Sopenharmony_ci         1,    0,  EAX,   11:8, family, Family ID
1162306a36Sopenharmony_ci         1,    0,  EAX,  13:12, processor, Processor Type
1262306a36Sopenharmony_ci         1,    0,  EAX,  19:16, model_ext, Extended Model ID
1362306a36Sopenharmony_ci         1,    0,  EAX,  27:20, family_ext, Extended Family ID
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci         1,    0,  EBX,    7:0, brand, Brand Index
1662306a36Sopenharmony_ci         1,    0,  EBX,   15:8, clflush_size, CLFLUSH line size (value * 8) in bytes
1762306a36Sopenharmony_ci         1,    0,  EBX,  23:16, max_cpu_id, Maxim number of addressable logic cpu in this package
1862306a36Sopenharmony_ci         1,    0,  EBX,  31:24, apic_id, Initial APIC ID
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci         1,    0,  ECX,      0, sse3, Streaming SIMD Extensions 3(SSE3)
2162306a36Sopenharmony_ci         1,    0,  ECX,      1, pclmulqdq, PCLMULQDQ instruction supported
2262306a36Sopenharmony_ci         1,    0,  ECX,      2, dtes64, DS area uses 64-bit layout
2362306a36Sopenharmony_ci         1,    0,  ECX,      3, mwait, MONITOR/MWAIT supported
2462306a36Sopenharmony_ci         1,    0,  ECX,      4, ds_cpl, CPL Qualified Debug Store which allows for branch message storage qualified by CPL
2562306a36Sopenharmony_ci         1,    0,  ECX,      5, vmx, Virtual Machine Extensions supported
2662306a36Sopenharmony_ci         1,    0,  ECX,      6, smx, Safer Mode Extension supported
2762306a36Sopenharmony_ci         1,    0,  ECX,      7, eist, Enhanced Intel SpeedStep Technology
2862306a36Sopenharmony_ci         1,    0,  ECX,      8, tm2, Thermal Monitor 2
2962306a36Sopenharmony_ci         1,    0,  ECX,      9, ssse3, Supplemental Streaming SIMD Extensions 3 (SSSE3)
3062306a36Sopenharmony_ci         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)
3162306a36Sopenharmony_ci         1,    0,  ECX,     11, sdbg, IA32_DEBUG_INTERFACE MSR for silicon debug supported
3262306a36Sopenharmony_ci         1,    0,  ECX,     12, fma, FMA extensions using YMM state supported
3362306a36Sopenharmony_ci         1,    0,  ECX,     13, cmpxchg16b, 'CMPXCHG16B - Compare and Exchange Bytes' supported
3462306a36Sopenharmony_ci         1,    0,  ECX,     14, xtpr_update, xTPR Update Control supported
3562306a36Sopenharmony_ci         1,    0,  ECX,     15, pdcm, Perfmon and Debug Capability present
3662306a36Sopenharmony_ci         1,    0,  ECX,     17, pcid, Process-Context Identifiers feature present
3762306a36Sopenharmony_ci         1,    0,  ECX,     18, dca, Prefetching data from a memory mapped device supported
3862306a36Sopenharmony_ci         1,    0,  ECX,     19, sse4_1, SSE4.1 feature present
3962306a36Sopenharmony_ci         1,    0,  ECX,     20, sse4_2, SSE4.2 feature present
4062306a36Sopenharmony_ci         1,    0,  ECX,     21, x2apic, x2APIC supported
4162306a36Sopenharmony_ci         1,    0,  ECX,     22, movbe, MOVBE instruction supported
4262306a36Sopenharmony_ci         1,    0,  ECX,     23, popcnt, POPCNT instruction supported
4362306a36Sopenharmony_ci         1,    0,  ECX,     24, tsc_deadline_timer, LAPIC supports one-shot operation using a TSC deadline value
4462306a36Sopenharmony_ci         1,    0,  ECX,     25, aesni, AESNI instruction supported
4562306a36Sopenharmony_ci         1,    0,  ECX,     26, xsave, XSAVE/XRSTOR processor extended states (XSETBV/XGETBV/XCR0)
4662306a36Sopenharmony_ci         1,    0,  ECX,     27, osxsave, OS has set CR4.OSXSAVE bit to enable XSETBV/XGETBV/XCR0
4762306a36Sopenharmony_ci         1,    0,  ECX,     28, avx, AVX instruction supported
4862306a36Sopenharmony_ci         1,    0,  ECX,     29, f16c, 16-bit floating-point conversion instruction supported
4962306a36Sopenharmony_ci         1,    0,  ECX,     30, rdrand, RDRAND instruction supported
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci         1,    0,  EDX,      0, fpu, x87 FPU on chip
5262306a36Sopenharmony_ci         1,    0,  EDX,      1, vme, Virtual-8086 Mode Enhancement
5362306a36Sopenharmony_ci         1,    0,  EDX,      2, de, Debugging Extensions
5462306a36Sopenharmony_ci         1,    0,  EDX,      3, pse, Page Size Extensions
5562306a36Sopenharmony_ci         1,    0,  EDX,      4, tsc, Time Stamp Counter
5662306a36Sopenharmony_ci         1,    0,  EDX,      5, msr, RDMSR and WRMSR Support
5762306a36Sopenharmony_ci         1,    0,  EDX,      6, pae, Physical Address Extensions
5862306a36Sopenharmony_ci         1,    0,  EDX,      7, mce, Machine Check Exception
5962306a36Sopenharmony_ci         1,    0,  EDX,      8, cx8, CMPXCHG8B instr
6062306a36Sopenharmony_ci         1,    0,  EDX,      9, apic, APIC on Chip
6162306a36Sopenharmony_ci         1,    0,  EDX,     11, sep, SYSENTER and SYSEXIT instrs
6262306a36Sopenharmony_ci         1,    0,  EDX,     12, mtrr, Memory Type Range Registers
6362306a36Sopenharmony_ci         1,    0,  EDX,     13, pge, Page Global Bit
6462306a36Sopenharmony_ci         1,    0,  EDX,     14, mca, Machine Check Architecture
6562306a36Sopenharmony_ci         1,    0,  EDX,     15, cmov, Conditional Move Instrs
6662306a36Sopenharmony_ci         1,    0,  EDX,     16, pat, Page Attribute Table
6762306a36Sopenharmony_ci         1,    0,  EDX,     17, pse36, 36-Bit Page Size Extension
6862306a36Sopenharmony_ci         1,    0,  EDX,     18, psn, Processor Serial Number
6962306a36Sopenharmony_ci         1,    0,  EDX,     19, clflush, CLFLUSH instr
7062306a36Sopenharmony_ci#         1,    0,  EDX,     20,
7162306a36Sopenharmony_ci         1,    0,  EDX,     21, ds, Debug Store
7262306a36Sopenharmony_ci         1,    0,  EDX,     22, acpi, Thermal Monitor and Software Controlled Clock Facilities
7362306a36Sopenharmony_ci         1,    0,  EDX,     23, mmx, Intel MMX Technology
7462306a36Sopenharmony_ci         1,    0,  EDX,     24, fxsr, XSAVE and FXRSTOR Instrs
7562306a36Sopenharmony_ci         1,    0,  EDX,     25, sse, SSE
7662306a36Sopenharmony_ci         1,    0,  EDX,     26, sse2, SSE2
7762306a36Sopenharmony_ci         1,    0,  EDX,     27, ss, Self Snoop
7862306a36Sopenharmony_ci         1,    0,  EDX,     28, hit, Max APIC IDs
7962306a36Sopenharmony_ci         1,    0,  EDX,     29, tm, Thermal Monitor
8062306a36Sopenharmony_ci#         1,    0,  EDX,     30,
8162306a36Sopenharmony_ci         1,    0,  EDX,     31, pbe, Pending Break Enable
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci# Leaf 02H
8462306a36Sopenharmony_ci# cache and TLB descriptor info
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci# Leaf 03H
8762306a36Sopenharmony_ci# Precessor Serial Number, introduced on Pentium III, not valid for
8862306a36Sopenharmony_ci# latest models
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci# Leaf 04H
9162306a36Sopenharmony_ci# thread/core and cache topology
9262306a36Sopenharmony_ci         4,    0,  EAX,    4:0, cache_type, Cache type like instr/data or unified
9362306a36Sopenharmony_ci         4,    0,  EAX,    7:5, cache_level, Cache Level (starts at 1)
9462306a36Sopenharmony_ci         4,    0,  EAX,      8, cache_self_init, Cache Self Initialization
9562306a36Sopenharmony_ci         4,    0,  EAX,      9, fully_associate, Fully Associative cache
9662306a36Sopenharmony_ci#         4,    0,  EAX,  13:10, resvd, resvd
9762306a36Sopenharmony_ci         4,    0,  EAX,  25:14, max_logical_id, Max number of addressable IDs for logical processors sharing the cache
9862306a36Sopenharmony_ci         4,    0,  EAX,  31:26, max_phy_id, Max number of addressable IDs for processors in phy package
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci         4,    0,  EBX,   11:0, cache_linesize, Size of a cache line in bytes
10162306a36Sopenharmony_ci         4,    0,  EBX,  21:12, cache_partition, Physical Line partitions
10262306a36Sopenharmony_ci         4,    0,  EBX,  31:22, cache_ways, Ways of associativity
10362306a36Sopenharmony_ci         4,    0,  ECX,   31:0, cache_sets, Number of Sets - 1
10462306a36Sopenharmony_ci         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
10562306a36Sopenharmony_ci         4,    0,  EDX,      1, c_incl, Whether cache is inclusive of lower cache level
10662306a36Sopenharmony_ci         4,    0,  EDX,      2, c_comp_index, Complex Cache Indexing
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci# Leaf 05H
10962306a36Sopenharmony_ci# MONITOR/MWAIT
11062306a36Sopenharmony_ci	 5,    0,  EAX,   15:0, min_mon_size, Smallest monitor line size in bytes
11162306a36Sopenharmony_ci	 5,    0,  EBX,   15:0, max_mon_size, Largest monitor line size in bytes
11262306a36Sopenharmony_ci	 5,    0,  ECX,      0, mwait_ext, Enum of Monitor-Mwait extensions supported
11362306a36Sopenharmony_ci	 5,    0,  ECX,      1, mwait_irq_break, Largest monitor line size in bytes
11462306a36Sopenharmony_ci	 5,    0,  EDX,    3:0, c0_sub_stats, Number of C0* sub C-states supported using MWAIT
11562306a36Sopenharmony_ci	 5,    0,  EDX,    7:4, c1_sub_stats, Number of C1* sub C-states supported using MWAIT
11662306a36Sopenharmony_ci	 5,    0,  EDX,   11:8, c2_sub_stats, Number of C2* sub C-states supported using MWAIT
11762306a36Sopenharmony_ci	 5,    0,  EDX,  15:12, c3_sub_stats, Number of C3* sub C-states supported using MWAIT
11862306a36Sopenharmony_ci	 5,    0,  EDX,  19:16, c4_sub_stats, Number of C4* sub C-states supported using MWAIT
11962306a36Sopenharmony_ci	 5,    0,  EDX,  23:20, c5_sub_stats, Number of C5* sub C-states supported using MWAIT
12062306a36Sopenharmony_ci	 5,    0,  EDX,  27:24, c6_sub_stats, Number of C6* sub C-states supported using MWAIT
12162306a36Sopenharmony_ci	 5,    0,  EDX,  31:28, c7_sub_stats, Number of C7* sub C-states supported using MWAIT
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci# Leaf 06H
12462306a36Sopenharmony_ci# Thermal & Power Management
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ci	 6,    0,  EAX,      0, dig_temp, Digital temperature sensor supported
12762306a36Sopenharmony_ci	 6,    0,  EAX,      1, turbo, Intel Turbo Boost
12862306a36Sopenharmony_ci	 6,    0,  EAX,      2, arat, Always running APIC timer
12962306a36Sopenharmony_ci#	 6,    0,  EAX,      3, resv, Reserved
13062306a36Sopenharmony_ci	 6,    0,  EAX,      4, pln, Power limit notifications supported
13162306a36Sopenharmony_ci	 6,    0,  EAX,      5, ecmd, Clock modulation duty cycle extension supported
13262306a36Sopenharmony_ci	 6,    0,  EAX,      6, ptm, Package thermal management supported
13362306a36Sopenharmony_ci	 6,    0,  EAX,      7, hwp, HWP base register
13462306a36Sopenharmony_ci	 6,    0,  EAX,      8, hwp_notify, HWP notification
13562306a36Sopenharmony_ci	 6,    0,  EAX,      9, hwp_act_window, HWP activity window
13662306a36Sopenharmony_ci	 6,    0,  EAX,     10, hwp_energy, HWP energy performance preference
13762306a36Sopenharmony_ci	 6,    0,  EAX,     11, hwp_pkg_req, HWP package level request
13862306a36Sopenharmony_ci#	 6,    0,  EAX,     12, resv, Reserved
13962306a36Sopenharmony_ci	 6,    0,  EAX,     13, hdc, HDC base registers supported
14062306a36Sopenharmony_ci	 6,    0,  EAX,     14, turbo3, Turbo Boost Max 3.0
14162306a36Sopenharmony_ci	 6,    0,  EAX,     15, hwp_cap, Highest Performance change supported
14262306a36Sopenharmony_ci	 6,    0,  EAX,     16, hwp_peci, HWP PECI override is supported
14362306a36Sopenharmony_ci	 6,    0,  EAX,     17, hwp_flex, Flexible HWP is supported
14462306a36Sopenharmony_ci	 6,    0,  EAX,     18, hwp_fast, Fast access mode for the IA32_HWP_REQUEST MSR is supported
14562306a36Sopenharmony_ci#	 6,    0,  EAX,     19, resv, Reserved
14662306a36Sopenharmony_ci	 6,    0,  EAX,     20, hwp_ignr, Ignoring Idle Logical Processor HWP request is supported
14762306a36Sopenharmony_ci
14862306a36Sopenharmony_ci	 6,    0,  EBX,    3:0, therm_irq_thresh, Number of Interrupt Thresholds in Digital Thermal Sensor
14962306a36Sopenharmony_ci	 6,    0,  ECX,      0, aperfmperf, Presence of IA32_MPERF and IA32_APERF
15062306a36Sopenharmony_ci	 6,    0,  ECX,      3, energ_bias, Performance-energy bias preference supported
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci# Leaf 07H
15362306a36Sopenharmony_ci#	ECX == 0
15462306a36Sopenharmony_ci# AVX512 refers to https://en.wikipedia.org/wiki/AVX-512
15562306a36Sopenharmony_ci# XXX: Do we really need to enumerate each and every AVX512 sub features
15662306a36Sopenharmony_ci
15762306a36Sopenharmony_ci	 7,    0,  EBX,      0, fsgsbase, RDFSBASE/RDGSBASE/WRFSBASE/WRGSBASE supported
15862306a36Sopenharmony_ci	 7,    0,  EBX,      1, tsc_adjust, TSC_ADJUST MSR supported
15962306a36Sopenharmony_ci	 7,    0,  EBX,      2, sgx, Software Guard Extensions
16062306a36Sopenharmony_ci	 7,    0,  EBX,      3, bmi1, BMI1
16162306a36Sopenharmony_ci	 7,    0,  EBX,      4, hle, Hardware Lock Elision
16262306a36Sopenharmony_ci	 7,    0,  EBX,      5, avx2, AVX2
16362306a36Sopenharmony_ci#	 7,    0,  EBX,      6, fdp_excp_only, x87 FPU Data Pointer updated only on x87 exceptions
16462306a36Sopenharmony_ci	 7,    0,  EBX,      7, smep, Supervisor-Mode Execution Prevention
16562306a36Sopenharmony_ci	 7,    0,  EBX,      8, bmi2, BMI2
16662306a36Sopenharmony_ci	 7,    0,  EBX,      9, rep_movsb, Enhanced REP MOVSB/STOSB
16762306a36Sopenharmony_ci	 7,    0,  EBX,     10, invpcid, INVPCID instruction
16862306a36Sopenharmony_ci	 7,    0,  EBX,     11, rtm, Restricted Transactional Memory
16962306a36Sopenharmony_ci	 7,    0,  EBX,     12, rdt_m, Intel RDT Monitoring capability
17062306a36Sopenharmony_ci	 7,    0,  EBX,     13, depc_fpu_cs_ds, Deprecates FPU CS and FPU DS
17162306a36Sopenharmony_ci	 7,    0,  EBX,     14, mpx, Memory Protection Extensions
17262306a36Sopenharmony_ci	 7,    0,  EBX,     15, rdt_a, Intel RDT Allocation capability
17362306a36Sopenharmony_ci	 7,    0,  EBX,     16, avx512f, AVX512 Foundation instr
17462306a36Sopenharmony_ci	 7,    0,  EBX,     17, avx512dq, AVX512 Double and Quadword AVX512 instr
17562306a36Sopenharmony_ci	 7,    0,  EBX,     18, rdseed, RDSEED instr
17662306a36Sopenharmony_ci	 7,    0,  EBX,     19, adx, ADX instr
17762306a36Sopenharmony_ci	 7,    0,  EBX,     20, smap, Supervisor Mode Access Prevention
17862306a36Sopenharmony_ci	 7,    0,  EBX,     21, avx512ifma, AVX512 Integer Fused Multiply Add
17962306a36Sopenharmony_ci#	 7,    0,  EBX,     22, resvd, resvd
18062306a36Sopenharmony_ci	 7,    0,  EBX,     23, clflushopt, CLFLUSHOPT instr
18162306a36Sopenharmony_ci	 7,    0,  EBX,     24, clwb, CLWB instr
18262306a36Sopenharmony_ci	 7,    0,  EBX,     25, intel_pt, Intel Processor Trace instr
18362306a36Sopenharmony_ci	 7,    0,  EBX,     26, avx512pf, Prefetch
18462306a36Sopenharmony_ci	 7,    0,  EBX,     27, avx512er, AVX512 Exponent Reciproca instr
18562306a36Sopenharmony_ci	 7,    0,  EBX,     28, avx512cd, AVX512 Conflict Detection instr
18662306a36Sopenharmony_ci	 7,    0,  EBX,     29, sha, Intel Secure Hash Algorithm Extensions instr
18762306a36Sopenharmony_ci	 7,    0,  EBX,     30, avx512bw, AVX512 Byte & Word instr
18862306a36Sopenharmony_ci	 7,    0,  EBX,     31, avx512vl, AVX512 Vector Length Extentions (VL)
18962306a36Sopenharmony_ci	 7,    0,  ECX,      0, prefetchwt1, X
19062306a36Sopenharmony_ci	 7,    0,  ECX,      1, avx512vbmi, AVX512 Vector Byte Manipulation Instructions
19162306a36Sopenharmony_ci	 7,    0,  ECX,      2, umip, User-mode Instruction Prevention
19262306a36Sopenharmony_ci
19362306a36Sopenharmony_ci	 7,    0,  ECX,      3, pku, Protection Keys for User-mode pages
19462306a36Sopenharmony_ci	 7,    0,  ECX,      4, ospke, CR4 PKE set to enable protection keys
19562306a36Sopenharmony_ci#	 7,    0,  ECX,   16:5, resvd, resvd
19662306a36Sopenharmony_ci	 7,    0,  ECX,  21:17, mawau, The value of MAWAU used by the BNDLDX and BNDSTX instructions in 64-bit mode
19762306a36Sopenharmony_ci	 7,    0,  ECX,     22, rdpid, RDPID and IA32_TSC_AUX
19862306a36Sopenharmony_ci#	 7,    0,  ECX,  29:23, resvd, resvd
19962306a36Sopenharmony_ci	 7,    0,  ECX,     30, sgx_lc, SGX Launch Configuration
20062306a36Sopenharmony_ci#	 7,    0,  ECX,     31, resvd, resvd
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ci# Leaf 08H
20362306a36Sopenharmony_ci#
20462306a36Sopenharmony_ci
20562306a36Sopenharmony_ci
20662306a36Sopenharmony_ci# Leaf 09H
20762306a36Sopenharmony_ci# Direct Cache Access (DCA) information
20862306a36Sopenharmony_ci	 9,    0,  ECX,   31:0, dca_cap, The value of IA32_PLATFORM_DCA_CAP
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ci# Leaf 0AH
21162306a36Sopenharmony_ci# Architectural Performance Monitoring
21262306a36Sopenharmony_ci#
21362306a36Sopenharmony_ci# Do we really need to print out the PMU related stuff?
21462306a36Sopenharmony_ci# Does normal user really care about it?
21562306a36Sopenharmony_ci#
21662306a36Sopenharmony_ci       0xA,    0,  EAX,    7:0, pmu_ver, Performance Monitoring Unit version
21762306a36Sopenharmony_ci       0xA,    0,  EAX,   15:8, pmu_gp_cnt_num, Numer of general-purose PMU counters per logical CPU
21862306a36Sopenharmony_ci       0xA,    0,  EAX,  23:16, pmu_cnt_bits, Bit wideth of PMU counter
21962306a36Sopenharmony_ci       0xA,    0,  EAX,  31:24, pmu_ebx_bits, Length of EBX bit vector to enumerate PMU events
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ci       0xA,    0,  EBX,      0, pmu_no_core_cycle_evt, Core cycle event not available
22262306a36Sopenharmony_ci       0xA,    0,  EBX,      1, pmu_no_instr_ret_evt, Instruction retired event not available
22362306a36Sopenharmony_ci       0xA,    0,  EBX,      2, pmu_no_ref_cycle_evt, Reference cycles event not available
22462306a36Sopenharmony_ci       0xA,    0,  EBX,      3, pmu_no_llc_ref_evt, Last-level cache reference event not available
22562306a36Sopenharmony_ci       0xA,    0,  EBX,      4, pmu_no_llc_mis_evt, Last-level cache misses event not available
22662306a36Sopenharmony_ci       0xA,    0,  EBX,      5, pmu_no_br_instr_ret_evt, Branch instruction retired event not available
22762306a36Sopenharmony_ci       0xA,    0,  EBX,      6, pmu_no_br_mispredict_evt, Branch mispredict retired event not available
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ci       0xA,    0,  ECX,    4:0, pmu_fixed_cnt_num, Performance Monitoring Unit version
23062306a36Sopenharmony_ci       0xA,    0,  ECX,   12:5, pmu_fixed_cnt_bits, Numer of PMU counters per logical CPU
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ci# Leaf 0BH
23362306a36Sopenharmony_ci# Extended Topology Enumeration Leaf
23462306a36Sopenharmony_ci#
23562306a36Sopenharmony_ci
23662306a36Sopenharmony_ci       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
23762306a36Sopenharmony_ci       0xB,    0,  EBX,   15:0, cpu_nr, Number of logical processors at this level type
23862306a36Sopenharmony_ci       0xB,    0,  ECX,   15:8, lvl_type, 0-Invalid 1-SMT 2-Core
23962306a36Sopenharmony_ci       0xB,    0,  EDX,   31:0, x2apic_id, x2APIC ID the current logical processor
24062306a36Sopenharmony_ci
24162306a36Sopenharmony_ci
24262306a36Sopenharmony_ci# Leaf 0DH
24362306a36Sopenharmony_ci# Processor Extended State
24462306a36Sopenharmony_ci
24562306a36Sopenharmony_ci       0xD,    0,  EAX,      0, x87, X87 state
24662306a36Sopenharmony_ci       0xD,    0,  EAX,      1, sse, SSE state
24762306a36Sopenharmony_ci       0xD,    0,  EAX,      2, avx, AVX state
24862306a36Sopenharmony_ci       0xD,    0,  EAX,    4:3, mpx, MPX state
24962306a36Sopenharmony_ci       0xD,    0,  EAX,    7:5, avx512, AVX-512 state
25062306a36Sopenharmony_ci       0xD,    0,  EAX,      9, pkru, PKRU state
25162306a36Sopenharmony_ci
25262306a36Sopenharmony_ci       0xD,    0,  EBX,   31:0, max_sz_xcr0, Maximum size (bytes) required by enabled features in XCR0
25362306a36Sopenharmony_ci       0xD,    0,  ECX,   31:0, max_sz_xsave, Maximum size (bytes) of the XSAVE/XRSTOR save area
25462306a36Sopenharmony_ci
25562306a36Sopenharmony_ci       0xD,    1,  EAX,      0, xsaveopt, XSAVEOPT available
25662306a36Sopenharmony_ci       0xD,    1,  EAX,      1, xsavec, XSAVEC and compacted form supported
25762306a36Sopenharmony_ci       0xD,    1,  EAX,      2, xgetbv, XGETBV supported
25862306a36Sopenharmony_ci       0xD,    1,  EAX,      3, xsaves, XSAVES/XRSTORS and IA32_XSS supported
25962306a36Sopenharmony_ci
26062306a36Sopenharmony_ci       0xD,    1,  EBX,   31:0, max_sz_xcr0, Maximum size (bytes) required by enabled features in XCR0
26162306a36Sopenharmony_ci       0xD,    1,  ECX,      8, pt, PT state
26262306a36Sopenharmony_ci       0xD,    1,  ECX,      11, cet_usr, CET user state
26362306a36Sopenharmony_ci       0xD,    1,  ECX,      12, cet_supv, CET supervisor state
26462306a36Sopenharmony_ci       0xD,    1,  ECX,      13, hdc, HDC state
26562306a36Sopenharmony_ci       0xD,    1,  ECX,      16, hwp, HWP state
26662306a36Sopenharmony_ci
26762306a36Sopenharmony_ci# Leaf 0FH
26862306a36Sopenharmony_ci# Intel RDT Monitoring
26962306a36Sopenharmony_ci
27062306a36Sopenharmony_ci       0xF,    0,  EBX,   31:0, rmid_range, Maximum range (zero-based) of RMID within this physical processor of all types
27162306a36Sopenharmony_ci       0xF,    0,  EDX,      1, l3c_rdt_mon, L3 Cache RDT Monitoring supported
27262306a36Sopenharmony_ci
27362306a36Sopenharmony_ci       0xF,    1,  ECX,   31:0, rmid_range, Maximum range (zero-based) of RMID of this types
27462306a36Sopenharmony_ci       0xF,    1,  EDX,      0, l3c_ocp_mon, L3 Cache occupancy Monitoring supported
27562306a36Sopenharmony_ci       0xF,    1,  EDX,      1, l3c_tbw_mon, L3 Cache Total Bandwidth Monitoring supported
27662306a36Sopenharmony_ci       0xF,    1,  EDX,      2, l3c_lbw_mon, L3 Cache Local Bandwidth Monitoring supported
27762306a36Sopenharmony_ci
27862306a36Sopenharmony_ci# Leaf 10H
27962306a36Sopenharmony_ci# Intel RDT Allocation
28062306a36Sopenharmony_ci
28162306a36Sopenharmony_ci      0x10,    0,  EBX,      1, l3c_rdt_alloc, L3 Cache Allocation supported
28262306a36Sopenharmony_ci      0x10,    0,  EBX,      2, l2c_rdt_alloc, L2 Cache Allocation supported
28362306a36Sopenharmony_ci      0x10,    0,  EBX,      3, mem_bw_alloc, Memory Bandwidth Allocation supported
28462306a36Sopenharmony_ci
28562306a36Sopenharmony_ci
28662306a36Sopenharmony_ci# Leaf 12H
28762306a36Sopenharmony_ci# SGX Capability
28862306a36Sopenharmony_ci#
28962306a36Sopenharmony_ci# Some detailed SGX features not added yet
29062306a36Sopenharmony_ci
29162306a36Sopenharmony_ci      0x12,    0,  EAX,      0, sgx1, L3 Cache Allocation supported
29262306a36Sopenharmony_ci      0x12,    1,  EAX,      0, sgx2, L3 Cache Allocation supported
29362306a36Sopenharmony_ci
29462306a36Sopenharmony_ci
29562306a36Sopenharmony_ci# Leaf 14H
29662306a36Sopenharmony_ci# Intel Processor Tracer
29762306a36Sopenharmony_ci#
29862306a36Sopenharmony_ci
29962306a36Sopenharmony_ci# Leaf 15H
30062306a36Sopenharmony_ci# Time Stamp Counter and Nominal Core Crystal Clock Information
30162306a36Sopenharmony_ci
30262306a36Sopenharmony_ci      0x15,    0,  EAX,   31:0, tsc_denominator, The denominator of the TSC/”core crystal clock” ratio
30362306a36Sopenharmony_ci      0x15,    0,  EBX,   31:0, tsc_numerator, The numerator of the TSC/”core crystal clock” ratio
30462306a36Sopenharmony_ci      0x15,    0,  ECX,   31:0, nom_freq, Nominal frequency of the core crystal clock in Hz
30562306a36Sopenharmony_ci
30662306a36Sopenharmony_ci# Leaf 16H
30762306a36Sopenharmony_ci# Processor Frequency Information
30862306a36Sopenharmony_ci
30962306a36Sopenharmony_ci      0x16,    0,  EAX,   15:0, cpu_base_freq, Processor Base Frequency in MHz
31062306a36Sopenharmony_ci      0x16,    0,  EBX,   15:0, cpu_max_freq, Maximum Frequency in MHz
31162306a36Sopenharmony_ci      0x16,    0,  ECX,   15:0, bus_freq, Bus (Reference) Frequency in MHz
31262306a36Sopenharmony_ci
31362306a36Sopenharmony_ci# Leaf 17H
31462306a36Sopenharmony_ci# System-On-Chip Vendor Attribute
31562306a36Sopenharmony_ci
31662306a36Sopenharmony_ci      0x17,    0,  EAX,   31:0, max_socid, Maximum input value of supported sub-leaf
31762306a36Sopenharmony_ci      0x17,    0,  EBX,   15:0, soc_vid, SOC Vendor ID
31862306a36Sopenharmony_ci      0x17,    0,  EBX,     16, std_vid, SOC Vendor ID is assigned via an industry standard scheme
31962306a36Sopenharmony_ci      0x17,    0,  ECX,   31:0, soc_pid, SOC Project ID assigned by vendor
32062306a36Sopenharmony_ci      0x17,    0,  EDX,   31:0, soc_sid, SOC Stepping ID
32162306a36Sopenharmony_ci
32262306a36Sopenharmony_ci# Leaf 18H
32362306a36Sopenharmony_ci# Deterministic Address Translation Parameters
32462306a36Sopenharmony_ci
32562306a36Sopenharmony_ci
32662306a36Sopenharmony_ci# Leaf 19H
32762306a36Sopenharmony_ci# Key Locker Leaf
32862306a36Sopenharmony_ci
32962306a36Sopenharmony_ci
33062306a36Sopenharmony_ci# Leaf 1AH
33162306a36Sopenharmony_ci# Hybrid Information
33262306a36Sopenharmony_ci
33362306a36Sopenharmony_ci      0x1A,    0,  EAX,  31:24, core_type, 20H-Intel_Atom 40H-Intel_Core
33462306a36Sopenharmony_ci
33562306a36Sopenharmony_ci
33662306a36Sopenharmony_ci# Leaf 1FH
33762306a36Sopenharmony_ci# V2 Extended Topology - A preferred superset to leaf 0BH
33862306a36Sopenharmony_ci
33962306a36Sopenharmony_ci
34062306a36Sopenharmony_ci# According to SDM
34162306a36Sopenharmony_ci# 40000000H - 4FFFFFFFH is invalid range
34262306a36Sopenharmony_ci
34362306a36Sopenharmony_ci# Leaf 80000001H
34462306a36Sopenharmony_ci# Extended Processor Signature and Feature Bits
34562306a36Sopenharmony_ci
34662306a36Sopenharmony_ci0x80000001,    0,  EAX,  27:20, extfamily, Extended family
34762306a36Sopenharmony_ci0x80000001,    0,  EAX,  19:16, extmodel, Extended model
34862306a36Sopenharmony_ci0x80000001,    0,  EAX,   11:8, basefamily, Description of Family
34962306a36Sopenharmony_ci0x80000001,    0,  EAX,   11:8, basemodel, Model numbers vary with product
35062306a36Sopenharmony_ci0x80000001,    0,  EAX,    3:0, stepping, Processor stepping (revision) for a specific model
35162306a36Sopenharmony_ci
35262306a36Sopenharmony_ci0x80000001,    0,  EBX,  31:28, pkgtype, Specifies the package type
35362306a36Sopenharmony_ci
35462306a36Sopenharmony_ci0x80000001,    0,  ECX,      0, lahf_lm, LAHF/SAHF available in 64-bit mode
35562306a36Sopenharmony_ci0x80000001,    0,  ECX,      1, cmplegacy, Core multi-processing legacy mode
35662306a36Sopenharmony_ci0x80000001,    0,  ECX,      2, svm, Indicates support for: VMRUN, VMLOAD, VMSAVE, CLGI, VMMCALL, and INVLPGA
35762306a36Sopenharmony_ci0x80000001,    0,  ECX,      3, extapicspace, Extended APIC register space
35862306a36Sopenharmony_ci0x80000001,    0,  ECX,      4, altmovecr8, Indicates support for LOCK MOV CR0 means MOV CR8
35962306a36Sopenharmony_ci0x80000001,    0,  ECX,      5, lzcnt, LZCNT
36062306a36Sopenharmony_ci0x80000001,    0,  ECX,      6, sse4a, EXTRQ, INSERTQ, MOVNTSS, and MOVNTSD instruction support
36162306a36Sopenharmony_ci0x80000001,    0,  ECX,      7, misalignsse, Misaligned SSE Mode
36262306a36Sopenharmony_ci0x80000001,    0,  ECX,      8, prefetchw, PREFETCHW
36362306a36Sopenharmony_ci0x80000001,    0,  ECX,      9, osvw, OS Visible Work-around support
36462306a36Sopenharmony_ci0x80000001,    0,  ECX,     10, ibs, Instruction Based Sampling
36562306a36Sopenharmony_ci0x80000001,    0,  ECX,     11, xop, Extended operation support
36662306a36Sopenharmony_ci0x80000001,    0,  ECX,     12, skinit, SKINIT and STGI support
36762306a36Sopenharmony_ci0x80000001,    0,  ECX,     13, wdt, Watchdog timer support
36862306a36Sopenharmony_ci0x80000001,    0,  ECX,     15, lwp, Lightweight profiling support
36962306a36Sopenharmony_ci0x80000001,    0,  ECX,     16, fma4, Four-operand FMA instruction support
37062306a36Sopenharmony_ci0x80000001,    0,  ECX,     17, tce, Translation cache extension
37162306a36Sopenharmony_ci0x80000001,    0,  ECX,     22, TopologyExtensions, Indicates support for Core::X86::Cpuid::CachePropEax0 and Core::X86::Cpuid::ExtApicId
37262306a36Sopenharmony_ci0x80000001,    0,  ECX,     23, perfctrextcore, Indicates support for Core::X86::Msr::PERF_CTL0 - 5 and Core::X86::Msr::PERF_CTR
37362306a36Sopenharmony_ci0x80000001,    0,  ECX,     24, perfctrextdf, Indicates support for Core::X86::Msr::DF_PERF_CTL and Core::X86::Msr::DF_PERF_CTR
37462306a36Sopenharmony_ci0x80000001,    0,  ECX,     26, databreakpointextension, Indicates data breakpoint support for Core::X86::Msr::DR0_ADDR_MASK, Core::X86::Msr::DR1_ADDR_MASK, Core::X86::Msr::DR2_ADDR_MASK and Core::X86::Msr::DR3_ADDR_MASK
37562306a36Sopenharmony_ci0x80000001,    0,  ECX,     27, perftsc, Performance time-stamp counter supported
37662306a36Sopenharmony_ci0x80000001,    0,  ECX,     28, perfctrextllc, Indicates support for L3 performance counter extensions
37762306a36Sopenharmony_ci0x80000001,    0,  ECX,     29, mwaitextended, MWAITX and MONITORX capability is supported
37862306a36Sopenharmony_ci0x80000001,    0,  ECX,     30, admskextn, Indicates support for address mask extension (to 32 bits and to all 4 DRs) for instruction breakpoints
37962306a36Sopenharmony_ci
38062306a36Sopenharmony_ci0x80000001,    0,  EDX,      0, fpu, x87 floating point unit on-chip
38162306a36Sopenharmony_ci0x80000001,    0,  EDX,      1, vme, Virtual-mode enhancements
38262306a36Sopenharmony_ci0x80000001,    0,  EDX,      2, de, Debugging extensions, IO breakpoints, CR4.DE
38362306a36Sopenharmony_ci0x80000001,    0,  EDX,      3, pse, Page-size extensions (4 MB pages)
38462306a36Sopenharmony_ci0x80000001,    0,  EDX,      4, tsc, Time stamp counter, RDTSC/RDTSCP instructions, CR4.TSD
38562306a36Sopenharmony_ci0x80000001,    0,  EDX,      5, msr, Model-specific registers (MSRs), with RDMSR and WRMSR instructions
38662306a36Sopenharmony_ci0x80000001,    0,  EDX,      6, pae, Physical-address extensions (PAE)
38762306a36Sopenharmony_ci0x80000001,    0,  EDX,      7, mce, Machine Check Exception, CR4.MCE
38862306a36Sopenharmony_ci0x80000001,    0,  EDX,      8, cmpxchg8b, CMPXCHG8B instruction
38962306a36Sopenharmony_ci0x80000001,    0,  EDX,      9, apic, advanced programmable interrupt controller (APIC) exists and is enabled
39062306a36Sopenharmony_ci0x80000001,    0,  EDX,     11, sysret, SYSCALL/SYSRET supported
39162306a36Sopenharmony_ci0x80000001,    0,  EDX,     12, mtrr, Memory-type range registers
39262306a36Sopenharmony_ci0x80000001,    0,  EDX,     13, pge, Page global extension, CR4.PGE
39362306a36Sopenharmony_ci0x80000001,    0,  EDX,     14, mca, Machine check architecture, MCG_CAP
39462306a36Sopenharmony_ci0x80000001,    0,  EDX,     15, cmov, Conditional move instructions, CMOV, FCOMI, FCMOV
39562306a36Sopenharmony_ci0x80000001,    0,  EDX,     16, pat, Page attribute table
39662306a36Sopenharmony_ci0x80000001,    0,  EDX,     17, pse36, Page-size extensions
39762306a36Sopenharmony_ci0x80000001,    0,  EDX,     20, exec_dis, Execute Disable Bit available
39862306a36Sopenharmony_ci0x80000001,    0,  EDX,     22, mmxext, AMD extensions to MMX instructions
39962306a36Sopenharmony_ci0x80000001,    0,  EDX,     23, mmx, MMX instructions
40062306a36Sopenharmony_ci0x80000001,    0,  EDX,     24, fxsr, FXSAVE and FXRSTOR instructions
40162306a36Sopenharmony_ci0x80000001,    0,  EDX,     25, ffxsr, FXSAVE and FXRSTOR instruction optimizations
40262306a36Sopenharmony_ci0x80000001,    0,  EDX,     26, 1gb_page, 1GB page supported
40362306a36Sopenharmony_ci0x80000001,    0,  EDX,     27, rdtscp, RDTSCP and IA32_TSC_AUX are available
40462306a36Sopenharmony_ci0x80000001,    0,  EDX,     29, lm, 64b Architecture supported
40562306a36Sopenharmony_ci0x80000001,    0,  EDX,     30, threednowext, AMD extensions to 3DNow! instructions
40662306a36Sopenharmony_ci0x80000001,    0,  EDX,     31, threednow, 3DNow! instructions
40762306a36Sopenharmony_ci
40862306a36Sopenharmony_ci# Leaf 80000002H/80000003H/80000004H
40962306a36Sopenharmony_ci# Processor Brand String
41062306a36Sopenharmony_ci
41162306a36Sopenharmony_ci# Leaf 80000005H
41262306a36Sopenharmony_ci# Reserved
41362306a36Sopenharmony_ci
41462306a36Sopenharmony_ci# Leaf 80000006H
41562306a36Sopenharmony_ci# Extended L2 Cache Features
41662306a36Sopenharmony_ci
41762306a36Sopenharmony_ci0x80000006,    0,  ECX,    7:0, clsize, Cache Line size in bytes
41862306a36Sopenharmony_ci0x80000006,    0,  ECX,  15:12, l2c_assoc, L2 Associativity
41962306a36Sopenharmony_ci0x80000006,    0,  ECX,  31:16, csize, Cache size in 1K units
42062306a36Sopenharmony_ci
42162306a36Sopenharmony_ci
42262306a36Sopenharmony_ci# Leaf 80000007H
42362306a36Sopenharmony_ci
42462306a36Sopenharmony_ci0x80000007,    0,  EDX,      8, nonstop_tsc, Invariant TSC available
42562306a36Sopenharmony_ci
42662306a36Sopenharmony_ci
42762306a36Sopenharmony_ci# Leaf 80000008H
42862306a36Sopenharmony_ci
42962306a36Sopenharmony_ci0x80000008,    0,  EAX,    7:0, phy_adr_bits, Physical Address Bits
43062306a36Sopenharmony_ci0x80000008,    0,  EAX,   15:8, lnr_adr_bits, Linear Address Bits
43162306a36Sopenharmony_ci0x80000007,    0,  EBX,      9, wbnoinvd, WBNOINVD
43262306a36Sopenharmony_ci
43362306a36Sopenharmony_ci# 0x8000001E
43462306a36Sopenharmony_ci# EAX: Extended APIC ID
43562306a36Sopenharmony_ci0x8000001E,	0, EAX,   31:0, extended_apic_id, Extended APIC ID
43662306a36Sopenharmony_ci# EBX: Core Identifiers
43762306a36Sopenharmony_ci0x8000001E,	0, EBX,    7:0, core_id, Identifies the logical core ID
43862306a36Sopenharmony_ci0x8000001E,	0, EBX,   15:8, threads_per_core, The number of threads per core is threads_per_core + 1
43962306a36Sopenharmony_ci# ECX: Node Identifiers
44062306a36Sopenharmony_ci0x8000001E,	0, ECX,    7:0, node_id, Node ID
44162306a36Sopenharmony_ci0x8000001E,	0, ECX,   10:8, nodes_per_processor, Nodes per processor { 0: 1 node, else reserved }
44262306a36Sopenharmony_ci
44362306a36Sopenharmony_ci# 8000001F: AMD Secure Encryption
44462306a36Sopenharmony_ci0x8000001F,	0, EAX,	     0, sme,	Secure Memory Encryption
44562306a36Sopenharmony_ci0x8000001F,	0, EAX,      1, sev,	Secure Encrypted Virtualization
44662306a36Sopenharmony_ci0x8000001F,	0, EAX,      2, vmpgflush, VM Page Flush MSR
44762306a36Sopenharmony_ci0x8000001F,	0, EAX,      3, seves, SEV Encrypted State
44862306a36Sopenharmony_ci0x8000001F,	0, EBX,    5:0, c-bit, Page table bit number used to enable memory encryption
44962306a36Sopenharmony_ci0x8000001F,	0, EBX,   11:6, mem_encrypt_physaddr_width, Reduction of physical address space in bits with SME enabled
45062306a36Sopenharmony_ci0x8000001F,	0, ECX,   31:0, num_encrypted_guests, Maximum ASID value that may be used for an SEV-enabled guest
45162306a36Sopenharmony_ci0x8000001F,	0, EDX,   31:0, minimum_sev_asid, Minimum ASID value that must be used for an SEV-enabled, SEV-ES-disabled guest
452