linux/tools/arch/x86/kcpuid/cpuid.csv

# SPDX-License-Identifier: CC0-1.0
# Generator: x86-cpuid-db v1.0

#
# Auto-generated file.
# Please submit all updates and bugfixes to https://x86-cpuid.org
#

# The basic row format is:
#     LEAF, SUBLEAVES,  reg,    bits,    short_name             , long_description

# Leaf 0H
# Maximum standard leaf number + CPU vendor string

         0,         0,  eax,    31:0,    max_std_leaf           , Highest cpuid standard leaf supported
         0,         0,  ebx,    31:0,    cpu_vendorid_0         , CPU vendor ID string bytes 0 - 3
         0,         0,  ecx,    31:0,    cpu_vendorid_2         , CPU vendor ID string bytes 8 - 11
         0,         0,  edx,    31:0,    cpu_vendorid_1         , CPU vendor ID string bytes 4 - 7

# Leaf 1H
# CPU FMS (Family/Model/Stepping) + standard feature flags

         1,         0,  eax,     3:0,    stepping               , Stepping ID
         1,         0,  eax,     7:4,    base_model             , Base CPU model ID
         1,         0,  eax,    11:8,    base_family_id         , Base CPU family ID
         1,         0,  eax,   13:12,    cpu_type               , CPU type
         1,         0,  eax,   19:16,    ext_model              , Extended CPU model ID
         1,         0,  eax,   27:20,    ext_family             , Extended CPU family ID
         1,         0,  ebx,     7:0,    brand_id               , Brand index
         1,         0,  ebx,    15:8,    clflush_size           , CLFLUSH instruction cache line size
         1,         0,  ebx,   23:16,    n_logical_cpu          , Logical CPU (HW threads) count
         1,         0,  ebx,   31:24,    local_apic_id          , Initial local APIC physical ID
         1,         0,  ecx,       0,    pni                    , Streaming SIMD Extensions 3 (SSE3)
         1,         0,  ecx,       1,    pclmulqdq              , PCLMULQDQ instruction support
         1,         0,  ecx,       2,    dtes64                 , 64-bit DS save area
         1,         0,  ecx,       3,    monitor                , MONITOR/MWAIT support
         1,         0,  ecx,       4,    ds_cpl                 , CPL Qualified Debug Store
         1,         0,  ecx,       5,    vmx                    , Virtual Machine Extensions
         1,         0,  ecx,       6,    smx                    , Safer Mode Extensions
         1,         0,  ecx,       7,    est                    , Enhanced Intel SpeedStep
         1,         0,  ecx,       8,    tm2                    , Thermal Monitor 2
         1,         0,  ecx,       9,    ssse3                  , Supplemental SSE3
         1,         0,  ecx,      10,    cid                    , L1 Context ID
         1,         0,  ecx,      11,    sdbg                   , Sillicon Debug
         1,         0,  ecx,      12,    fma                    , FMA extensions using YMM state
         1,         0,  ecx,      13,    cx16                   , CMPXCHG16B instruction support
         1,         0,  ecx,      14,    xtpr                   , xTPR Update Control
         1,         0,  ecx,      15,    pdcm                   , Perfmon and Debug Capability
         1,         0,  ecx,      17,    pcid                   , Process-context identifiers
         1,         0,  ecx,      18,    dca                    , Direct Cache Access
         1,         0,  ecx,      19,    sse4_1                 , SSE4.1
         1,         0,  ecx,      20,    sse4_2                 , SSE4.2
         1,         0,  ecx,      21,    x2apic                 , X2APIC support
         1,         0,  ecx,      22,    movbe                  , MOVBE instruction support
         1,         0,  ecx,      23,    popcnt                 , POPCNT instruction support
         1,         0,  ecx,      24,    tsc_deadline_timer     , APIC timer one-shot operation
         1,         0,  ecx,      25,    aes                    , AES instructions
         1,         0,  ecx,      26,    xsave                  , XSAVE (and related instructions) support
         1,         0,  ecx,      27,    osxsave                , XSAVE (and related instructions) are enabled by OS
         1,         0,  ecx,      28,    avx                    , AVX instructions support
         1,         0,  ecx,      29,    f16c                   , Half-precision floating-point conversion support
         1,         0,  ecx,      30,    rdrand                 , RDRAND instruction support
         1,         0,  ecx,      31,    guest_status           , System is running as guest; (para-)virtualized system
         1,         0,  edx,       0,    fpu                    , Floating-Point Unit on-chip (x87)
         1,         0,  edx,       1,    vme                    , Virtual-8086 Mode Extensions
         1,         0,  edx,       2,    de                     , Debugging Extensions
         1,         0,  edx,       3,    pse                    , Page Size Extension
         1,         0,  edx,       4,    tsc                    , Time Stamp Counter
         1,         0,  edx,       5,    msr                    , Model-Specific Registers (RDMSR and WRMSR support)
         1,         0,  edx,       6,    pae                    , Physical Address Extensions
         1,         0,  edx,       7,    mce                    , Machine Check Exception
         1,         0,  edx,       8,    cx8                    , CMPXCHG8B instruction
         1,         0,  edx,       9,    apic                   , APIC on-chip
         1,         0,  edx,      11,    sep                    , SYSENTER, SYSEXIT, and associated MSRs
         1,         0,  edx,      12,    mtrr                   , Memory Type Range Registers
         1,         0,  edx,      13,    pge                    , Page Global Extensions
         1,         0,  edx,      14,    mca                    , Machine Check Architecture
         1,         0,  edx,      15,    cmov                   , Conditional Move Instruction
         1,         0,  edx,      16,    pat                    , Page Attribute Table
         1,         0,  edx,      17,    pse36                  , Page Size Extension (36-bit)
         1,         0,  edx,      18,    pn                     , Processor Serial Number
         1,         0,  edx,      19,    clflush                , CLFLUSH instruction
         1,         0,  edx,      21,    dts                    , Debug Store
         1,         0,  edx,      22,    acpi                   , Thermal monitor and clock control
         1,         0,  edx,      23,    mmx                    , MMX instructions
         1,         0,  edx,      24,    fxsr                   , FXSAVE and FXRSTOR instructions
         1,         0,  edx,      25,    sse                    , SSE instructions
         1,         0,  edx,      26,    sse2                   , SSE2 instructions
         1,         0,  edx,      27,    ss                     , Self Snoop
         1,         0,  edx,      28,    ht                     , Hyper-threading
         1,         0,  edx,      29,    tm                     , Thermal Monitor
         1,         0,  edx,      30,    ia64                   , Legacy IA-64 (Itanium) support bit, now resreved
         1,         0,  edx,      31,    pbe                    , Pending Break Enable

# Leaf 2H
# Intel cache and TLB information one-byte descriptors

         2,         0,  eax,     7:0,    iteration_count        , Number of times this CPUD leaf must be queried
         2,         0,  eax,    15:8,    desc1                  , Descriptor #1
         2,         0,  eax,   23:16,    desc2                  , Descriptor #2
         2,         0,  eax,   30:24,    desc3                  , Descriptor #3
         2,         0,  eax,      31,    eax_invalid            , Descriptors 1-3 are invalid if set
         2,         0,  ebx,     7:0,    desc4                  , Descriptor #4
         2,         0,  ebx,    15:8,    desc5                  , Descriptor #5
         2,         0,  ebx,   23:16,    desc6                  , Descriptor #6
         2,         0,  ebx,   30:24,    desc7                  , Descriptor #7
         2,         0,  ebx,      31,    ebx_invalid            , Descriptors 4-7 are invalid if set
         2,         0,  ecx,     7:0,    desc8                  , Descriptor #8
         2,         0,  ecx,    15:8,    desc9                  , Descriptor #9
         2,         0,  ecx,   23:16,    desc10                 , Descriptor #10
         2,         0,  ecx,   30:24,    desc11                 , Descriptor #11
         2,         0,  ecx,      31,    ecx_invalid            , Descriptors 8-11 are invalid if set
         2,         0,  edx,     7:0,    desc12                 , Descriptor #12
         2,         0,  edx,    15:8,    desc13                 , Descriptor #13
         2,         0,  edx,   23:16,    desc14                 , Descriptor #14
         2,         0,  edx,   30:24,    desc15                 , Descriptor #15
         2,         0,  edx,      31,    edx_invalid            , Descriptors 12-15 are invalid if set

# Leaf 4H
# Intel deterministic cache parameters

         4,      31:0,  eax,     4:0,    cache_type             , Cache type field
         4,      31:0,  eax,     7:5,    cache_level            , Cache level (1-based)
         4,      31:0,  eax,       8,    cache_self_init        , Self-initialializing cache level
         4,      31:0,  eax,       9,    fully_associative      , Fully-associative cache
         4,      31:0,  eax,   25:14,    num_threads_sharing    , Number logical CPUs sharing this cache
         4,      31:0,  eax,   31:26,    num_cores_on_die       , Number of cores in the physical package
         4,      31:0,  ebx,    11:0,    cache_linesize         , System coherency line size (0-based)
         4,      31:0,  ebx,   21:12,    cache_npartitions      , Physical line partitions (0-based)
         4,      31:0,  ebx,   31:22,    cache_nways            , Ways of associativity (0-based)
         4,      31:0,  ecx,    30:0,    cache_nsets            , Cache number of sets (0-based)
         4,      31:0,  edx,       0,    wbinvd_rll_no_guarantee, WBINVD/INVD not guaranteed for Remote Lower-Level caches
         4,      31:0,  edx,       1,    ll_inclusive           , Cache is inclusive of Lower-Level caches
         4,      31:0,  edx,       2,    complex_indexing       , Not a direct-mapped cache (complex function)

# Leaf 5H
# MONITOR/MWAIT instructions enumeration

         5,         0,  eax,    15:0,    min_mon_size           , Smallest monitor-line size, in bytes
         5,         0,  ebx,    15:0,    max_mon_size           , Largest monitor-line size, in bytes
         5,         0,  ecx,       0,    mwait_ext              , Enumeration of MONITOR/MWAIT extensions is supported
         5,         0,  ecx,       1,    mwait_irq_break        , Interrupts as a break-event for MWAIT is supported
         5,         0,  edx,     3:0,    n_c0_substates         , Number of C0 sub C-states supported using MWAIT
         5,         0,  edx,     7:4,    n_c1_substates         , Number of C1 sub C-states supported using MWAIT
         5,         0,  edx,    11:8,    n_c2_substates         , Number of C2 sub C-states supported using MWAIT
         5,         0,  edx,   15:12,    n_c3_substates         , Number of C3 sub C-states supported using MWAIT
         5,         0,  edx,   19:16,    n_c4_substates         , Number of C4 sub C-states supported using MWAIT
         5,         0,  edx,   23:20,    n_c5_substates         , Number of C5 sub C-states supported using MWAIT
         5,         0,  edx,   27:24,    n_c6_substates         , Number of C6 sub C-states supported using MWAIT
         5,         0,  edx,   31:28,    n_c7_substates         , Number of C7 sub C-states supported using MWAIT

# Leaf 6H
# Thermal and Power Management enumeration

         6,         0,  eax,       0,    dtherm                 , Digital temprature sensor
         6,         0,  eax,       1,    turbo_boost            , Intel Turbo Boost
         6,         0,  eax,       2,    arat                   , Always-Running APIC Timer (not affected by p-state)
         6,         0,  eax,       4,    pln                    , Power Limit Notification (PLN) event
         6,         0,  eax,       5,    ecmd                   , Clock modulation duty cycle extension
         6,         0,  eax,       6,    pts                    , Package thermal management
         6,         0,  eax,       7,    hwp                    , HWP (Hardware P-states) base registers are supported
         6,         0,  eax,       8,    hwp_notify             , HWP notification (IA32_HWP_INTERRUPT MSR)
         6,         0,  eax,       9,    hwp_act_window         , HWP activity window (IA32_HWP_REQUEST[bits 41:32]) supported
         6,         0,  eax,      10,    hwp_epp                , HWP Energy Performance Preference
         6,         0,  eax,      11,    hwp_pkg_req            , HWP Package Level Request
         6,         0,  eax,      13,    hdc_base_regs          , HDC base registers are supported
         6,         0,  eax,      14,    turbo_boost_3_0        , Intel Turbo Boost Max 3.0
         6,         0,  eax,      15,    hwp_capabilities       , HWP Highest Performance change
         6,         0,  eax,      16,    hwp_peci_override      , HWP PECI override
         6,         0,  eax,      17,    hwp_flexible           , Flexible HWP
         6,         0,  eax,      18,    hwp_fast               , IA32_HWP_REQUEST MSR fast access mode
         6,         0,  eax,      19,    hfi                    , HW_FEEDBACK MSRs supported
         6,         0,  eax,      20,    hwp_ignore_idle        , Ignoring idle logical CPU HWP req is supported
         6,         0,  eax,      23,    thread_director        , Intel thread director support
         6,         0,  eax,      24,    therm_interrupt_bit25  , IA32_THERM_INTERRUPT MSR bit 25 is supported
         6,         0,  ebx,     3:0,    n_therm_thresholds     , Digital thermometer thresholds
         6,         0,  ecx,       0,    aperfmperf             , MPERF/APERF MSRs (effective frequency interface)
         6,         0,  ecx,       3,    epb                    , IA32_ENERGY_PERF_BIAS MSR support
         6,         0,  ecx,    15:8,    thrd_director_nclasses , Number of classes, Intel thread director
         6,         0,  edx,       0,    perfcap_reporting      , Performance capability reporting
         6,         0,  edx,       1,    encap_reporting        , Energy efficiency capability reporting
         6,         0,  edx,    11:8,    feedback_sz            , HW feedback interface struct size, in 4K pages
         6,         0,  edx,   31:16,    this_lcpu_hwfdbk_idx   , This logical CPU index @ HW feedback struct, 0-based

# Leaf 7H
# Extended CPU features enumeration

         7,         0,  eax,    31:0,    leaf7_n_subleaves      , Number of cpuid 0x7 subleaves
         7,         0,  ebx,       0,    fsgsbase               , FSBASE/GSBASE read/write support
         7,         0,  ebx,       1,    tsc_adjust             , IA32_TSC_ADJUST MSR supported
         7,         0,  ebx,       2,    sgx                    , Intel SGX (Software Guard Extensions)
         7,         0,  ebx,       3,    bmi1                   , Bit manipulation extensions group 1
         7,         0,  ebx,       4,    hle                    , Hardware Lock Elision
         7,         0,  ebx,       5,    avx2                   , AVX2 instruction set
         7,         0,  ebx,       6,    fdp_excptn_only        , FPU Data Pointer updated only on x87 exceptions
         7,         0,  ebx,       7,    smep                   , Supervisor Mode Execution Protection
         7,         0,  ebx,       8,    bmi2                   , Bit manipulation extensions group 2
         7,         0,  ebx,       9,    erms                   , Enhanced REP MOVSB/STOSB
         7,         0,  ebx,      10,    invpcid                , INVPCID instruction (Invalidate Processor Context ID)
         7,         0,  ebx,      11,    rtm                    , Intel restricted transactional memory
         7,         0,  ebx,      12,    cqm                    , Intel RDT-CMT / AMD Platform-QoS cache monitoring
         7,         0,  ebx,      13,    zero_fcs_fds           , Deprecated FPU CS/DS (stored as zero)
         7,         0,  ebx,      14,    mpx                    , Intel memory protection extensions
         7,         0,  ebx,      15,    rdt_a                  , Intel RDT / AMD Platform-QoS Enforcemeent
         7,         0,  ebx,      16,    avx512f                , AVX-512 foundation instructions
         7,         0,  ebx,      17,    avx512dq               , AVX-512 double/quadword instructions
         7,         0,  ebx,      18,    rdseed                 , RDSEED instruction
         7,         0,  ebx,      19,    adx                    , ADCX/ADOX instructions
         7,         0,  ebx,      20,    smap                   , Supervisor mode access prevention
         7,         0,  ebx,      21,    avx512ifma             , AVX-512 integer fused multiply add
         7,         0,  ebx,      23,    clflushopt             , CLFLUSHOPT instruction
         7,         0,  ebx,      24,    clwb                   , CLWB instruction
         7,         0,  ebx,      25,    intel_pt               , Intel processor trace
         7,         0,  ebx,      26,    avx512pf               , AVX-512 prefetch instructions
         7,         0,  ebx,      27,    avx512er               , AVX-512 exponent/reciprocal instrs
         7,         0,  ebx,      28,    avx512cd               , AVX-512 conflict detection instrs
         7,         0,  ebx,      29,    sha_ni                 , SHA/SHA256 instructions
         7,         0,  ebx,      30,    avx512bw               , AVX-512 BW (byte/word granular) instructions
         7,         0,  ebx,      31,    avx512vl               , AVX-512 VL (128/256 vector length) extensions
         7,         0,  ecx,       0,    prefetchwt1            , PREFETCHWT1 (Intel Xeon Phi only)
         7,         0,  ecx,       1,    avx512vbmi             , AVX-512 Vector byte manipulation instrs
         7,         0,  ecx,       2,    umip                   , User mode instruction protection
         7,         0,  ecx,       3,    pku                    , Protection keys for user-space
         7,         0,  ecx,       4,    ospke                  , OS protection keys enable
         7,         0,  ecx,       5,    waitpkg                , WAITPKG instructions
         7,         0,  ecx,       6,    avx512_vbmi2           , AVX-512 vector byte manipulation instrs group 2
         7,         0,  ecx,       7,    cet_ss                 , CET shadow stack features
         7,         0,  ecx,       8,    gfni                   , Galois field new instructions
         7,         0,  ecx,       9,    vaes                   , Vector AES instrs
         7,         0,  ecx,      10,    vpclmulqdq             , VPCLMULQDQ 256-bit instruction support
         7,         0,  ecx,      11,    avx512_vnni            , Vector neural network instructions
         7,         0,  ecx,      12,    avx512_bitalg          , AVX-512 bit count/shiffle
         7,         0,  ecx,      13,    tme                    , Intel total memory encryption
         7,         0,  ecx,      14,    avx512_vpopcntdq       , AVX-512: POPCNT for vectors of DW/QW
         7,         0,  ecx,      16,    la57                   , 57-bit linear addreses (five-level paging)
         7,         0,  ecx,   21:17,    mawau_val_lm           , BNDLDX/BNDSTX MAWAU value in 64-bit mode
         7,         0,  ecx,      22,    rdpid                  , RDPID instruction
         7,         0,  ecx,      23,    key_locker             , Intel key locker support
         7,         0,  ecx,      24,    bus_lock_detect        , OS bus-lock detection
         7,         0,  ecx,      25,    cldemote               , CLDEMOTE instruction
         7,         0,  ecx,      27,    movdiri                , MOVDIRI instruction
         7,         0,  ecx,      28,    movdir64b              , MOVDIR64B instruction
         7,         0,  ecx,      29,    enqcmd                 , Enqueue stores supported (ENQCMD{,S})
         7,         0,  ecx,      30,    sgx_lc                 , Intel SGX launch configuration
         7,         0,  ecx,      31,    pks                    , Protection keys for supervisor-mode pages
         7,         0,  edx,       1,    sgx_keys               , Intel SGX attestation services
         7,         0,  edx,       2,    avx512_4vnniw          , AVX-512 neural network instructions
         7,         0,  edx,       3,    avx512_4fmaps          , AVX-512 multiply accumulation single precision
         7,         0,  edx,       4,    fsrm                   , Fast short REP MOV
         7,         0,  edx,       5,    uintr                  , CPU supports user interrupts
         7,         0,  edx,       8,    avx512_vp2intersect    , VP2INTERSECT{D,Q} instructions
         7,         0,  edx,       9,    srdbs_ctrl             , SRBDS mitigation MSR available
         7,         0,  edx,      10,    md_clear               , VERW MD_CLEAR microcode support
         7,         0,  edx,      11,    rtm_always_abort       , XBEGIN (RTM transaction) always aborts
         7,         0,  edx,      13,    tsx_force_abort        , MSR TSX_FORCE_ABORT, RTM_ABORT bit, supported
         7,         0,  edx,      14,    serialize              , SERIALIZE instruction
         7,         0,  edx,      15,    hybrid_cpu             , The CPU is identified as a 'hybrid part'
         7,         0,  edx,      16,    tsxldtrk               , TSX suspend/resume load address tracking
         7,         0,  edx,      18,    pconfig                , PCONFIG instruction
         7,         0,  edx,      19,    arch_lbr               , Intel architectural LBRs
         7,         0,  edx,      20,    ibt                    , CET indirect branch tracking
         7,         0,  edx,      22,    amx_bf16               , AMX-BF16: tile bfloat16 support
         7,         0,  edx,      23,    avx512_fp16            , AVX-512 FP16 instructions
         7,         0,  edx,      24,    amx_tile               , AMX-TILE: tile architecture support
         7,         0,  edx,      25,    amx_int8               , AMX-INT8: tile 8-bit integer support
         7,         0,  edx,      26,    spec_ctrl              , Speculation Control (IBRS/IBPB: indirect branch restrictions)
         7,         0,  edx,      27,    intel_stibp            , Single thread indirect branch predictors
         7,         0,  edx,      28,    flush_l1d              , FLUSH L1D cache: IA32_FLUSH_CMD MSR
         7,         0,  edx,      29,    arch_capabilities      , Intel IA32_ARCH_CAPABILITIES MSR
         7,         0,  edx,      30,    core_capabilities      , IA32_CORE_CAPABILITIES MSR
         7,         0,  edx,      31,    spec_ctrl_ssbd         , Speculative store bypass disable
         7,         1,  eax,       4,    avx_vnni               , AVX-VNNI instructions
         7,         1,  eax,       5,    avx512_bf16            , AVX-512 bFloat16 instructions
         7,         1,  eax,       6,    lass                   , Linear address space separation
         7,         1,  eax,       7,    cmpccxadd              , CMPccXADD instructions
         7,         1,  eax,       8,    arch_perfmon_ext       , ArchPerfmonExt: CPUID leaf 0x23 is supported
         7,         1,  eax,      10,    fzrm                   , Fast zero-length REP MOVSB
         7,         1,  eax,      11,    fsrs                   , Fast short REP STOSB
         7,         1,  eax,      12,    fsrc                   , Fast Short REP CMPSB/SCASB
         7,         1,  eax,      17,    fred                   , FRED: Flexible return and event delivery transitions
         7,         1,  eax,      18,    lkgs                   , LKGS: Load 'kernel' (userspace) GS
         7,         1,  eax,      19,    wrmsrns                , WRMSRNS instr (WRMSR-non-serializing)
         7,         1,  eax,      21,    amx_fp16               , AMX-FP16: FP16 tile operations
         7,         1,  eax,      22,    hreset                 , History reset support
         7,         1,  eax,      23,    avx_ifma               , Integer fused multiply add
         7,         1,  eax,      26,    lam                    , Linear address masking
         7,         1,  eax,      27,    rd_wr_msrlist          , RDMSRLIST/WRMSRLIST instructions
         7,         1,  ebx,       0,    intel_ppin             , Protected processor inventory number (PPIN{,_CTL} MSRs)
         7,         1,  edx,       4,    avx_vnni_int8          , AVX-VNNI-INT8 instructions
         7,         1,  edx,       5,    avx_ne_convert         , AVX-NE-CONVERT instructions
         7,         1,  edx,       8,    amx_complex            , AMX-COMPLEX instructions (starting from Granite Rapids)
         7,         1,  edx,      14,    prefetchit_0_1         , PREFETCHIT0/1 instructions
         7,         1,  edx,      18,    cet_sss                , CET supervisor shadow stacks safe to use
         7,         2,  edx,       0,    intel_psfd             , Intel predictive store forward disable
         7,         2,  edx,       1,    ipred_ctrl             , MSR bits IA32_SPEC_CTRL.IPRED_DIS_{U,S}
         7,         2,  edx,       2,    rrsba_ctrl             , MSR bits IA32_SPEC_CTRL.RRSBA_DIS_{U,S}
         7,         2,  edx,       3,    ddp_ctrl               , MSR bit  IA32_SPEC_CTRL.DDPD_U
         7,         2,  edx,       4,    bhi_ctrl               , MSR bit  IA32_SPEC_CTRL.BHI_DIS_S
         7,         2,  edx,       5,    mcdt_no                , MCDT mitigation not needed
         7,         2,  edx,       6,    uclock_disable         , UC-lock disable is supported

# Leaf 9H
# Intel DCA (Direct Cache Access) enumeration

         9,         0,  eax,       0,    dca_enabled_in_bios    , DCA is enabled in BIOS

# Leaf AH
# Intel PMU (Performance Monitoring Unit) enumeration

       0xa,         0,  eax,     7:0,    pmu_version            , Performance monitoring unit version ID
       0xa,         0,  eax,    15:8,    pmu_n_gcounters        , Number of general PMU counters per logical CPU
       0xa,         0,  eax,   23:16,    pmu_gcounters_nbits    , Bitwidth of PMU general counters
       0xa,         0,  eax,   31:24,    pmu_cpuid_ebx_bits     , Length of cpuid leaf 0xa EBX bit vector
       0xa,         0,  ebx,       0,    no_core_cycle_evt      , Core cycle event not available
       0xa,         0,  ebx,       1,    no_insn_retired_evt    , Instruction retired event not available
       0xa,         0,  ebx,       2,    no_refcycle_evt        , Reference cycles event not available
       0xa,         0,  ebx,       3,    no_llc_ref_evt         , LLC-reference event not available
       0xa,         0,  ebx,       4,    no_llc_miss_evt        , LLC-misses event not available
       0xa,         0,  ebx,       5,    no_br_insn_ret_evt     , Branch instruction retired event not available
       0xa,         0,  ebx,       6,    no_br_mispredict_evt   , Branch mispredict retired event not available
       0xa,         0,  ebx,       7,    no_td_slots_evt        , Topdown slots event not available
       0xa,         0,  ecx,    31:0,    pmu_fcounters_bitmap   , Fixed-function PMU counters support bitmap
       0xa,         0,  edx,     4:0,    pmu_n_fcounters        , Number of fixed PMU counters
       0xa,         0,  edx,    12:5,    pmu_fcounters_nbits    , Bitwidth of PMU fixed counters
       0xa,         0,  edx,      15,    anythread_depr         , AnyThread deprecation

# Leaf BH
# CPUs v1 extended topology enumeration

       0xb,       1:0,  eax,     4:0,    x2apic_id_shift        , Bit width of this level (previous levels inclusive)
       0xb,       1:0,  ebx,    15:0,    domain_lcpus_count     , Logical CPUs count across all instances of this domain
       0xb,       1:0,  ecx,     7:0,    domain_nr              , This domain level (subleaf ID)
       0xb,       1:0,  ecx,    15:8,    domain_type            , This domain type
       0xb,       1:0,  edx,    31:0,    x2apic_id              , x2APIC ID of current logical CPU

# Leaf DH
# Processor extended state enumeration

       0xd,         0,  eax,       0,    xcr0_x87               , XCR0.X87 (bit 0) supported
       0xd,         0,  eax,       1,    xcr0_sse               , XCR0.SEE (bit 1) supported
       0xd,         0,  eax,       2,    xcr0_avx               , XCR0.AVX (bit 2) supported
       0xd,         0,  eax,       3,    xcr0_mpx_bndregs       , XCR0.BNDREGS (bit 3) supported (MPX BND0-BND3 regs)
       0xd,         0,  eax,       4,    xcr0_mpx_bndcsr        , XCR0.BNDCSR (bit 4) supported (MPX BNDCFGU/BNDSTATUS regs)
       0xd,         0,  eax,       5,    xcr0_avx512_opmask     , XCR0.OPMASK (bit 5) supported (AVX-512 k0-k7 regs)
       0xd,         0,  eax,       6,    xcr0_avx512_zmm_hi256  , XCR0.ZMM_Hi256 (bit 6) supported (AVX-512 ZMM0->ZMM7/15 regs)
       0xd,         0,  eax,       7,    xcr0_avx512_hi16_zmm   , XCR0.HI16_ZMM (bit 7) supported (AVX-512 ZMM16->ZMM31 regs)
       0xd,         0,  eax,       9,    xcr0_pkru              , XCR0.PKRU (bit 9) supported (XSAVE PKRU reg)
       0xd,         0,  eax,      11,    xcr0_cet_u             , AMD XCR0.CET_U (bit 11) supported (CET supervisor state)
       0xd,         0,  eax,      12,    xcr0_cet_s             , AMD XCR0.CET_S (bit 12) support (CET user state)
       0xd,         0,  eax,      17,    xcr0_tileconfig        , XCR0.TILECONFIG (bit 17) supported (AMX can manage TILECONFIG)
       0xd,         0,  eax,      18,    xcr0_tiledata          , XCR0.TILEDATA (bit 18) supported (AMX can manage TILEDATA)
       0xd,         0,  ebx,    31:0,    xsave_sz_xcr0_enabled  , XSAVE/XRSTR area byte size, for XCR0 enabled features
       0xd,         0,  ecx,    31:0,    xsave_sz_max           , XSAVE/XRSTR area max byte size, all CPU features
       0xd,         0,  edx,      30,    xcr0_lwp               , AMD XCR0.LWP (bit 62) supported (Light-weight Profiling)
       0xd,         1,  eax,       0,    xsaveopt               , XSAVEOPT instruction
       0xd,         1,  eax,       1,    xsavec                 , XSAVEC instruction
       0xd,         1,  eax,       2,    xgetbv1                , XGETBV instruction with ECX = 1
       0xd,         1,  eax,       3,    xsaves                 , XSAVES/XRSTORS instructions (and XSS MSR)
       0xd,         1,  eax,       4,    xfd                    , Extended feature disable support
       0xd,         1,  ebx,    31:0,    xsave_sz_xcr0_xmms_enabled, XSAVE area size, all XCR0 and XMMS features enabled
       0xd,         1,  ecx,       8,    xss_pt                 , PT state, supported
       0xd,         1,  ecx,      10,    xss_pasid              , PASID state, supported
       0xd,         1,  ecx,      11,    xss_cet_u              , CET user state, supported
       0xd,         1,  ecx,      12,    xss_cet_p              , CET supervisor state, supported
       0xd,         1,  ecx,      13,    xss_hdc                , HDC state, supported
       0xd,         1,  ecx,      14,    xss_uintr              , UINTR state, supported
       0xd,         1,  ecx,      15,    xss_lbr                , LBR state, supported
       0xd,         1,  ecx,      16,    xss_hwp                , HWP state, supported
       0xd,      63:2,  eax,    31:0,    xsave_sz               , Size of save area for subleaf-N feature, in bytes
       0xd,      63:2,  ebx,    31:0,    xsave_offset           , Offset of save area for subleaf-N feature, in bytes
       0xd,      63:2,  ecx,       0,    is_xss_bit             , Subleaf N describes an XSS bit, otherwise XCR0 bit
       0xd,      63:2,  ecx,       1,    compacted_xsave_64byte_aligned, When compacted, subleaf-N feature xsave area is 64-byte aligned

# Leaf FH
# Intel RDT / AMD PQoS resource monitoring

       0xf,         0,  ebx,    31:0,    core_rmid_max          , RMID max, within this core, all types (0-based)
       0xf,         0,  edx,       1,    cqm_llc                , LLC QoS-monitoring supported
       0xf,         1,  eax,     7:0,    l3c_qm_bitwidth        , L3 QoS-monitoring counter bitwidth (24-based)
       0xf,         1,  eax,       8,    l3c_qm_overflow_bit    , QM_CTR MSR bit 61 is an overflow bit
       0xf,         1,  ebx,    31:0,    l3c_qm_conver_factor   , QM_CTR MSR conversion factor to bytes
       0xf,         1,  ecx,    31:0,    l3c_qm_rmid_max        , L3 QoS-monitoring max RMID
       0xf,         1,  edx,       0,    cqm_occup_llc          , L3 QoS occupancy monitoring supported
       0xf,         1,  edx,       1,    cqm_mbm_total          , L3 QoS total bandwidth monitoring supported
       0xf,         1,  edx,       2,    cqm_mbm_local          , L3 QoS local bandwidth monitoring supported

# Leaf 10H
# Intel RDT / AMD PQoS allocation enumeration

      0x10,         0,  ebx,       1,    cat_l3                 , L3 Cache Allocation Technology supported
      0x10,         0,  ebx,       2,    cat_l2                 , L2 Cache Allocation Technology supported
      0x10,         0,  ebx,       3,    mba                    , Memory Bandwidth Allocation supported
      0x10,       2:1,  eax,     4:0,    cat_cbm_len            , L3/L2_CAT capacity bitmask length, minus-one notation
      0x10,       2:1,  ebx,    31:0,    cat_units_bitmap       , L3/L2_CAT bitmap of allocation units
      0x10,       2:1,  ecx,       1,    l3_cat_cos_infreq_updates, L3_CAT COS updates should be infrequent
      0x10,       2:1,  ecx,       2,    cdp_l3                 , L3/L2_CAT CDP (Code and Data Prioritization)
      0x10,       2:1,  ecx,       3,    cat_sparse_1s          , L3/L2_CAT non-contiguous 1s value supported
      0x10,       2:1,  edx,    15:0,    cat_cos_max            , L3/L2_CAT max COS (Class of Service) supported
      0x10,         3,  eax,    11:0,    mba_max_delay          , Max MBA throttling value; minus-one notation
      0x10,         3,  ecx,       0,    per_thread_mba         , Per-thread MBA controls are supported
      0x10,         3,  ecx,       2,    mba_delay_linear       , Delay values are linear
      0x10,         3,  edx,    15:0,    mba_cos_max            , MBA max Class of Service supported

# Leaf 12H
# Intel Software Guard Extensions (SGX) enumeration

      0x12,         0,  eax,       0,    sgx1                   , SGX1 leaf functions supported
      0x12,         0,  eax,       1,    sgx2                   , SGX2 leaf functions supported
      0x12,         0,  eax,       5,    enclv_leaves           , ENCLV leaves (E{INC,DEC}VIRTCHILD, ESETCONTEXT) supported
      0x12,         0,  eax,       6,    encls_leaves           , ENCLS leaves (ENCLS ETRACKC, ERDINFO, ELDBC, ELDUC) supported
      0x12,         0,  eax,       7,    enclu_everifyreport2   , ENCLU leaf EVERIFYREPORT2 supported
      0x12,         0,  eax,      10,    encls_eupdatesvn       , ENCLS leaf EUPDATESVN supported
      0x12,         0,  eax,      11,    sgx_edeccssa           , ENCLU leaf EDECCSSA supported
      0x12,         0,  ebx,       0,    miscselect_exinfo      , SSA.MISC frame: reporting #PF and #GP exceptions inside enclave supported
      0x12,         0,  ebx,       1,    miscselect_cpinfo      , SSA.MISC frame: reporting #CP exceptions inside enclave supported
      0x12,         0,  edx,     7:0,    max_enclave_sz_not64   , Maximum enclave size in non-64-bit mode (log2)
      0x12,         0,  edx,    15:8,    max_enclave_sz_64      , Maximum enclave size in 64-bit mode (log2)
      0x12,         1,  eax,       0,    secs_attr_init         , ATTRIBUTES.INIT supported (enclave initialized by EINIT)
      0x12,         1,  eax,       1,    secs_attr_debug        , ATTRIBUTES.DEBUG supported (enclave permits debugger read/write)
      0x12,         1,  eax,       2,    secs_attr_mode64bit    , ATTRIBUTES.MODE64BIT supported (enclave runs in 64-bit mode)
      0x12,         1,  eax,       4,    secs_attr_provisionkey , ATTRIBUTES.PROVISIONKEY supported (provisioning key available)
      0x12,         1,  eax,       5,    secs_attr_einittoken_key, ATTRIBUTES.EINITTOKEN_KEY supported (EINIT token key available)
      0x12,         1,  eax,       6,    secs_attr_cet          , ATTRIBUTES.CET supported (enable CET attributes)
      0x12,         1,  eax,       7,    secs_attr_kss          , ATTRIBUTES.KSS supported (Key Separation and Sharing enabled)
      0x12,         1,  eax,      10,    secs_attr_aexnotify    , ATTRIBUTES.AEXNOTIFY supported (enclave threads may get AEX notifications
      0x12,         1,  ecx,       0,    xfrm_x87               , Enclave XFRM.X87 (bit 0) supported
      0x12,         1,  ecx,       1,    xfrm_sse               , Enclave XFRM.SEE (bit 1) supported
      0x12,         1,  ecx,       2,    xfrm_avx               , Enclave XFRM.AVX (bit 2) supported
      0x12,         1,  ecx,       3,    xfrm_mpx_bndregs       , Enclave XFRM.BNDREGS (bit 3) supported (MPX BND0-BND3 regs)
      0x12,         1,  ecx,       4,    xfrm_mpx_bndcsr        , Enclave XFRM.BNDCSR (bit 4) supported (MPX BNDCFGU/BNDSTATUS regs)
      0x12,         1,  ecx,       5,    xfrm_avx512_opmask     , Enclave XFRM.OPMASK (bit 5) supported (AVX-512 k0-k7 regs)
      0x12,         1,  ecx,       6,    xfrm_avx512_zmm_hi256  , Enclave XFRM.ZMM_Hi256 (bit 6) supported (AVX-512 ZMM0->ZMM7/15 regs)
      0x12,         1,  ecx,       7,    xfrm_avx512_hi16_zmm   , Enclave XFRM.HI16_ZMM (bit 7) supported (AVX-512 ZMM16->ZMM31 regs)
      0x12,         1,  ecx,       9,    xfrm_pkru              , Enclave XFRM.PKRU (bit 9) supported (XSAVE PKRU reg)
      0x12,         1,  ecx,      17,    xfrm_tileconfig        , Enclave XFRM.TILECONFIG (bit 17) supported (AMX can manage TILECONFIG)
      0x12,         1,  ecx,      18,    xfrm_tiledata          , Enclave XFRM.TILEDATA (bit 18) supported (AMX can manage TILEDATA)
      0x12,      31:2,  eax,     3:0,    subleaf_type           , Subleaf type (dictates output layout)
      0x12,      31:2,  eax,   31:12,    epc_sec_base_addr_0    , EPC section base addr, bits[12:31]
      0x12,      31:2,  ebx,    19:0,    epc_sec_base_addr_1    , EPC section base addr, bits[32:51]
      0x12,      31:2,  ecx,     3:0,    epc_sec_type           , EPC section type / property encoding
      0x12,      31:2,  ecx,   31:12,    epc_sec_size_0         , EPC section size, bits[12:31]
      0x12,      31:2,  edx,    19:0,    epc_sec_size_1         , EPC section size, bits[32:51]

# Leaf 14H
# Intel Processor Trace enumeration

      0x14,         0,  eax,    31:0,    pt_max_subleaf         , Max cpuid 0x14 subleaf
      0x14,         0,  ebx,       0,    cr3_filtering          , IA32_RTIT_CR3_MATCH is accessible
      0x14,         0,  ebx,       1,    psb_cyc                , Configurable PSB and cycle-accurate mode
      0x14,         0,  ebx,       2,    ip_filtering           , IP/TraceStop filtering; Warm-reset PT MSRs preservation
      0x14,         0,  ebx,       3,    mtc_timing             , MTC timing packet; COFI-based packets suppression
      0x14,         0,  ebx,       4,    ptwrite                , PTWRITE support
      0x14,         0,  ebx,       5,    power_event_trace      , Power Event Trace support
      0x14,         0,  ebx,       6,    psb_pmi_preserve       , PSB and PMI preservation support
      0x14,         0,  ebx,       7,    event_trace            , Event Trace packet generation through IA32_RTIT_CTL.EventEn
      0x14,         0,  ebx,       8,    tnt_disable            , TNT packet generation disable through IA32_RTIT_CTL.DisTNT
      0x14,         0,  ecx,       0,    topa_output            , ToPA output scheme support
      0x14,         0,  ecx,       1,    topa_multiple_entries  , ToPA tables can hold multiple entries
      0x14,         0,  ecx,       2,    single_range_output    , Single-range output scheme supported
      0x14,         0,  ecx,       3,    trance_transport_output, Trace Transport subsystem output support
      0x14,         0,  ecx,      31,    ip_payloads_lip        , IP payloads have LIP values (CS base included)
      0x14,         1,  eax,     2:0,    num_address_ranges     , Filtering number of configurable Address Ranges
      0x14,         1,  eax,   31:16,    mtc_periods_bmp        , Bitmap of supported MTC period encodings
      0x14,         1,  ebx,    15:0,    cycle_thresholds_bmp   , Bitmap of supported Cycle Threshold encodings
      0x14,         1,  ebx,   31:16,    psb_periods_bmp        , Bitmap of supported Configurable PSB frequency encodings

# Leaf 15H
# Intel TSC (Time Stamp Counter) enumeration

      0x15,         0,  eax,    31:0,    tsc_denominator        , Denominator of the TSC/'core crystal clock' ratio
      0x15,         0,  ebx,    31:0,    tsc_numerator          , Numerator of the TSC/'core crystal clock' ratio
      0x15,         0,  ecx,    31:0,    cpu_crystal_hz         , Core crystal clock nominal frequency, in Hz

# Leaf 16H
# Intel processor fequency enumeration

      0x16,         0,  eax,    15:0,    cpu_base_mhz           , Processor base frequency, in MHz
      0x16,         0,  ebx,    15:0,    cpu_max_mhz            , Processor max frequency, in MHz
      0x16,         0,  ecx,    15:0,    bus_mhz                , Bus reference frequency, in MHz

# Leaf 17H
# Intel SoC vendor attributes enumeration

      0x17,         0,  eax,    31:0,    soc_max_subleaf        , Max cpuid leaf 0x17 subleaf
      0x17,         0,  ebx,    15:0,    soc_vendor_id          , SoC vendor ID
      0x17,         0,  ebx,      16,    is_vendor_scheme       , Assigned by industry enumaeratoion scheme (not Intel)
      0x17,         0,  ecx,    31:0,    soc_proj_id            , SoC project ID, assigned by vendor
      0x17,         0,  edx,    31:0,    soc_stepping_id        , Soc project stepping ID, assigned by vendor
      0x17,       3:1,  eax,    31:0,    vendor_brand_a         , Vendor Brand ID string, bytes subleaf_nr * (0 -> 3)
      0x17,       3:1,  ebx,    31:0,    vendor_brand_b         , Vendor Brand ID string, bytes subleaf_nr * (4 -> 7)
      0x17,       3:1,  ecx,    31:0,    vendor_brand_c         , Vendor Brand ID string, bytes subleaf_nr * (8 -> 11)
      0x17,       3:1,  edx,    31:0,    vendor_brand_d         , Vendor Brand ID string, bytes subleaf_nr * (12 -> 15)

# Leaf 18H
# Intel determenestic address translation (TLB) parameters

      0x18,      31:0,  eax,    31:0,    tlb_max_subleaf        , Max cpuid 0x18 subleaf
      0x18,      31:0,  ebx,       0,    tlb_4k_page            , TLB 4KB-page entries supported
      0x18,      31:0,  ebx,       1,    tlb_2m_page            , TLB 2MB-page entries supported
      0x18,      31:0,  ebx,       2,    tlb_4m_page            , TLB 4MB-page entries supported
      0x18,      31:0,  ebx,       3,    tlb_1g_page            , TLB 1GB-page entries supported
      0x18,      31:0,  ebx,    10:8,    hard_partitioning      , (Hard/Soft) partitioning between logical CPUs sharing this struct
      0x18,      31:0,  ebx,   31:16,    n_way_associative      , Ways of associativity
      0x18,      31:0,  ecx,    31:0,    n_sets                 , Number of sets
      0x18,      31:0,  edx,     4:0,    tlb_type               , Translation cache type (TLB type)
      0x18,      31:0,  edx,     7:5,    tlb_cache_level        , Translation cache level (1-based)
      0x18,      31:0,  edx,       8,    is_fully_associative   , Fully-associative structure
      0x18,      31:0,  edx,   25:14,    tlb_max_addressible_ids, Max num of addressible IDs for logical CPUs sharing this TLB - 1

# Leaf 19H
# Intel Key Locker enumeration

      0x19,         0,  eax,       0,    kl_cpl0_only           , CPL0-only key Locker restriction supported
      0x19,         0,  eax,       1,    kl_no_encrypt          , No-encrypt key locker restriction supported
      0x19,         0,  eax,       2,    kl_no_decrypt          , No-decrypt key locker restriction supported
      0x19,         0,  ebx,       0,    aes_keylocker          , AES key locker instructions supported
      0x19,         0,  ebx,       2,    aes_keylocker_wide     , AES wide key locker instructions supported
      0x19,         0,  ebx,       4,    kl_msr_iwkey           , Key locker MSRs and IWKEY backups supported
      0x19,         0,  ecx,       0,    loadiwkey_no_backup    , LOADIWKEY NoBackup parameter supported
      0x19,         0,  ecx,       1,    iwkey_rand             , IWKEY randomization (KeySource encoding 1) supported

# Leaf 1AH
# Intel hybrid CPUs identification (e.g. Atom, Core)

      0x1a,         0,  eax,    23:0,    core_native_model      , This core's native model ID
      0x1a,         0,  eax,   31:24,    core_type              , This core's type

# Leaf 1BH
# Intel PCONFIG (Platform configuration) enumeration

      0x1b,      31:0,  eax,    11:0,    pconfig_subleaf_type   , CPUID 0x1b subleaf type
      0x1b,      31:0,  ebx,    31:0,    pconfig_target_id_x    , A supported PCONFIG target ID
      0x1b,      31:0,  ecx,    31:0,    pconfig_target_id_y    , A supported PCONFIG target ID
      0x1b,      31:0,  edx,    31:0,    pconfig_target_id_z    , A supported PCONFIG target ID

# Leaf 1CH
# Intel LBR (Last Branch Record) enumeration

      0x1c,         0,  eax,       0,    lbr_depth_8            , Max stack depth (number of LBR entries) = 8
      0x1c,         0,  eax,       1,    lbr_depth_16           , Max stack depth (number of LBR entries) = 16
      0x1c,         0,  eax,       2,    lbr_depth_24           , Max stack depth (number of LBR entries) = 24
      0x1c,         0,  eax,       3,    lbr_depth_32           , Max stack depth (number of LBR entries) = 32
      0x1c,         0,  eax,       4,    lbr_depth_40           , Max stack depth (number of LBR entries) = 40
      0x1c,         0,  eax,       5,    lbr_depth_48           , Max stack depth (number of LBR entries) = 48
      0x1c,         0,  eax,       6,    lbr_depth_56           , Max stack depth (number of LBR entries) = 56
      0x1c,         0,  eax,       7,    lbr_depth_64           , Max stack depth (number of LBR entries) = 64
      0x1c,         0,  eax,      30,    lbr_deep_c_reset       , LBRs maybe cleared on MWAIT C-state > C1
      0x1c,         0,  eax,      31,    lbr_ip_is_lip          , LBR IP contain Last IP, otherwise effective IP
      0x1c,         0,  ebx,       0,    lbr_cpl                , CPL filtering (non-zero IA32_LBR_CTL[2:1]) supported
      0x1c,         0,  ebx,       1,    lbr_branch_filter      , Branch filtering (non-zero IA32_LBR_CTL[22:16]) supported
      0x1c,         0,  ebx,       2,    lbr_call_stack         , Call-stack mode (IA32_LBR_CTL[3] = 1) supported
      0x1c,         0,  ecx,       0,    lbr_mispredict         , Branch misprediction bit supported (IA32_LBR_x_INFO[63])
      0x1c,         0,  ecx,       1,    lbr_timed_lbr          , Timed LBRs (CPU cycles since last LBR entry) supported
      0x1c,         0,  ecx,       2,    lbr_branch_type        , Branch type field (IA32_LBR_INFO_x[59:56]) supported
      0x1c,         0,  ecx,   19:16,    lbr_events_gpc_bmp     , LBR PMU-events logging support; bitmap for first 4 GP (general-purpose) Counters

# Leaf 1DH
# Intel AMX (Advanced Matrix Extensions) tile information

      0x1d,         0,  eax,    31:0,    amx_max_palette        , Highest palette ID / subleaf ID
      0x1d,         1,  eax,    15:0,    amx_palette_size       , AMX palette total tiles size, in bytes
      0x1d,         1,  eax,   31:16,    amx_tile_size          , AMX single tile's size, in bytes
      0x1d,         1,  ebx,    15:0,    amx_tile_row_size      , AMX tile single row's size, in bytes
      0x1d,         1,  ebx,   31:16,    amx_palette_nr_tiles   , AMX palette number of tiles
      0x1d,         1,  ecx,    15:0,    amx_tile_nr_rows       , AMX tile max number of rows

# Leaf 1EH
# Intel AMX, TMUL (Tile-matrix MULtiply) accelerator unit enumeration

      0x1e,         0,  ebx,     7:0,    tmul_maxk              , TMUL unit maximum height, K (rows or columns)
      0x1e,         0,  ebx,    23:8,    tmul_maxn              , TMUL unit maxiumum SIMD dimension, N (column bytes)

# Leaf 1FH
# Intel extended topology enumeration v2

      0x1f,       5:0,  eax,     4:0,    x2apic_id_shift        , Bit width of this level (previous levels inclusive)
      0x1f,       5:0,  ebx,    15:0,    domain_lcpus_count     , Logical CPUs count across all instances of this domain
      0x1f,       5:0,  ecx,     7:0,    domain_level           , This domain level (subleaf ID)
      0x1f,       5:0,  ecx,    15:8,    domain_type            , This domain type
      0x1f,       5:0,  edx,    31:0,    x2apic_id              , x2APIC ID of current logical CPU

# Leaf 20H
# Intel HRESET (History Reset) enumeration

      0x20,         0,  eax,    31:0,    hreset_nr_subleaves    , CPUID 0x20 max subleaf + 1
      0x20,         0,  ebx,       0,    hreset_thread_director , HRESET of Intel thread director is supported

# Leaf 21H
# Intel TD (Trust Domain) guest execution environment enumeration

      0x21,         0,  ebx,    31:0,    tdx_vendorid_0         , TDX vendor ID string bytes 0 - 3
      0x21,         0,  ecx,    31:0,    tdx_vendorid_2         , CPU vendor ID string bytes 8 - 11
      0x21,         0,  edx,    31:0,    tdx_vendorid_1         , CPU vendor ID string bytes 4 - 7

# Leaf 23H
# Intel Architectural Performance Monitoring Extended (ArchPerfmonExt)

      0x23,         0,  eax,       1,    subleaf_1_counters     , Subleaf 1, PMU counters bitmaps, is valid
      0x23,         0,  eax,       3,    subleaf_3_events       , Subleaf 3, PMU events bitmaps, is valid
      0x23,         0,  ebx,       0,    unitmask2              , IA32_PERFEVTSELx MSRs UnitMask2 is supported
      0x23,         0,  ebx,       1,    zbit                   , IA32_PERFEVTSELx MSRs Z-bit is supported
      0x23,         1,  eax,    31:0,    pmu_gp_counters_bitmap , General-purpose PMU counters bitmap
      0x23,         1,  ebx,    31:0,    pmu_f_counters_bitmap  , Fixed PMU counters bitmap
      0x23,         3,  eax,       0,    core_cycles_evt        , Core cycles event supported
      0x23,         3,  eax,       1,    insn_retired_evt       , Instructions retired event supported
      0x23,         3,  eax,       2,    ref_cycles_evt         , Reference cycles event supported
      0x23,         3,  eax,       3,    llc_refs_evt           , Last-level cache references event supported
      0x23,         3,  eax,       4,    llc_misses_evt         , Last-level cache misses event supported
      0x23,         3,  eax,       5,    br_insn_ret_evt        , Branch instruction retired event supported
      0x23,         3,  eax,       6,    br_mispr_evt           , Branch mispredict retired event supported
      0x23,         3,  eax,       7,    td_slots_evt           , Topdown slots event supported
      0x23,         3,  eax,       8,    td_backend_bound_evt   , Topdown backend bound event supported
      0x23,         3,  eax,       9,    td_bad_spec_evt        , Topdown bad speculation event supported
      0x23,         3,  eax,      10,    td_frontend_bound_evt  , Topdown frontend bound event supported
      0x23,         3,  eax,      11,    td_retiring_evt        , Topdown retiring event support

# Leaf 40000000H
# Maximum hypervisor standard leaf + hypervisor vendor string

0x40000000,         0,  eax,    31:0,    max_hyp_leaf           , Maximum hypervisor standard leaf number
0x40000000,         0,  ebx,    31:0,    hypervisor_id_0        , Hypervisor ID string bytes 0 - 3
0x40000000,         0,  ecx,    31:0,    hypervisor_id_1        , Hypervisor ID string bytes 4 - 7
0x40000000,         0,  edx,    31:0,    hypervisor_id_2        , Hypervisor ID string bytes 8 - 11

# Leaf 80000000H
# Maximum extended leaf number + CPU vendor string (AMD)

0x80000000,         0,  eax,    31:0,    max_ext_leaf           , Maximum extended cpuid leaf supported
0x80000000,         0,  ebx,    31:0,    cpu_vendorid_0         , Vendor ID string bytes 0 - 3
0x80000000,         0,  ecx,    31:0,    cpu_vendorid_2         , Vendor ID string bytes 8 - 11
0x80000000,         0,  edx,    31:0,    cpu_vendorid_1         , Vendor ID string bytes 4 - 7

# Leaf 80000001H
# Extended CPU feature identifiers

0x80000001,         0,  eax,     3:0,    e_stepping_id          , Stepping ID
0x80000001,         0,  eax,     7:4,    e_base_model           , Base processor model
0x80000001,         0,  eax,    11:8,    e_base_family          , Base processor family
0x80000001,         0,  eax,   19:16,    e_ext_model            , Extended processor model
0x80000001,         0,  eax,   27:20,    e_ext_family           , Extended processor family
0x80000001,         0,  ebx,    15:0,    brand_id               , Brand ID
0x80000001,         0,  ebx,   31:28,    pkg_type               , Package type
0x80000001,         0,  ecx,       0,    lahf_lm                , LAHF and SAHF in 64-bit mode
0x80000001,         0,  ecx,       1,    cmp_legacy             , Multi-processing legacy mode (No HT)
0x80000001,         0,  ecx,       2,    svm                    , Secure Virtual Machine
0x80000001,         0,  ecx,       3,    extapic                , Extended APIC space
0x80000001,         0,  ecx,       4,    cr8_legacy             , LOCK MOV CR0 means MOV CR8
0x80000001,         0,  ecx,       5,    abm                    , LZCNT advanced bit manipulation
0x80000001,         0,  ecx,       6,    sse4a                  , SSE4A support
0x80000001,         0,  ecx,       7,    misalignsse            , Misaligned SSE mode
0x80000001,         0,  ecx,       8,    3dnowprefetch          , 3DNow PREFETCH/PREFETCHW support
0x80000001,         0,  ecx,       9,    osvw                   , OS visible workaround
0x80000001,         0,  ecx,      10,    ibs                    , Instruction based sampling
0x80000001,         0,  ecx,      11,    xop                    , XOP: extended operation (AVX instructions)
0x80000001,         0,  ecx,      12,    skinit                 , SKINIT/STGI support
0x80000001,         0,  ecx,      13,    wdt                    , Watchdog timer support
0x80000001,         0,  ecx,      15,    lwp                    , Lightweight profiling
0x80000001,         0,  ecx,      16,    fma4                   , 4-operand FMA instruction
0x80000001,         0,  ecx,      17,    tce                    , Translation cache extension
0x80000001,         0,  ecx,      19,    nodeid_msr             , NodeId MSR (0xc001100c)
0x80000001,         0,  ecx,      21,    tbm                    , Trailing bit manipulations
0x80000001,         0,  ecx,      22,    topoext                , Topology Extensions (cpuid leaf 0x8000001d)
0x80000001,         0,  ecx,      23,    perfctr_core           , Core performance counter extensions
0x80000001,         0,  ecx,      24,    perfctr_nb             , NB/DF performance counter extensions
0x80000001,         0,  ecx,      26,    bpext                  , Data access breakpoint extension
0x80000001,         0,  ecx,      27,    ptsc                   , Performance time-stamp counter
0x80000001,         0,  ecx,      28,    perfctr_llc            , LLC (L3) performance counter extensions
0x80000001,         0,  ecx,      29,    mwaitx                 , MWAITX/MONITORX support
0x80000001,         0,  ecx,      30,    addr_mask_ext          , Breakpoint address mask extension (to bit 31)
0x80000001,         0,  edx,       0,    e_fpu                  , Floating-Point Unit on-chip (x87)
0x80000001,         0,  edx,       1,    e_vme                  , Virtual-8086 Mode Extensions
0x80000001,         0,  edx,       2,    e_de                   , Debugging Extensions
0x80000001,         0,  edx,       3,    e_pse                  , Page Size Extension
0x80000001,         0,  edx,       4,    e_tsc                  , Time Stamp Counter
0x80000001,         0,  edx,       5,    e_msr                  , Model-Specific Registers (RDMSR and WRMSR support)
0x80000001,         0,  edx,       6,    pae                    , Physical Address Extensions
0x80000001,         0,  edx,       7,    mce                    , Machine Check Exception
0x80000001,         0,  edx,       8,    cx8                    , CMPXCHG8B instruction
0x80000001,         0,  edx,       9,    apic                   , APIC on-chip
0x80000001,         0,  edx,      11,    syscall                , SYSCALL and SYSRET instructions
0x80000001,         0,  edx,      12,    mtrr                   , Memory Type Range Registers
0x80000001,         0,  edx,      13,    pge                    , Page Global Extensions
0x80000001,         0,  edx,      14,    mca                    , Machine Check Architecture
0x80000001,         0,  edx,      15,    cmov                   , Conditional Move Instruction
0x80000001,         0,  edx,      16,    pat                    , Page Attribute Table
0x80000001,         0,  edx,      17,    pse36                  , Page Size Extension (36-bit)
0x80000001,         0,  edx,      19,    mp                     , Out-of-spec AMD Multiprocessing bit
0x80000001,         0,  edx,      20,    nx                     , No-execute page protection
0x80000001,         0,  edx,      22,    mmxext                 , AMD MMX extensions
0x80000001,         0,  edx,      24,    e_fxsr                 , FXSAVE and FXRSTOR instructions
0x80000001,         0,  edx,      25,    fxsr_opt               , FXSAVE and FXRSTOR optimizations
0x80000001,         0,  edx,      26,    pdpe1gb                , 1-GB large page support
0x80000001,         0,  edx,      27,    rdtscp                 , RDTSCP instruction
0x80000001,         0,  edx,      29,    lm                     , Long mode (x86-64, 64-bit support)
0x80000001,         0,  edx,      30,    3dnowext               , AMD 3DNow extensions
0x80000001,         0,  edx,      31,    3dnow                  , 3DNow instructions

# Leaf 80000002H
# CPU brand ID string, bytes 0 - 15

0x80000002,         0,  eax,    31:0,    cpu_brandid_0          , CPU brand ID string, bytes 0 - 3
0x80000002,         0,  ebx,    31:0,    cpu_brandid_1          , CPU brand ID string, bytes 4 - 7
0x80000002,         0,  ecx,    31:0,    cpu_brandid_2          , CPU brand ID string, bytes 8 - 11
0x80000002,         0,  edx,    31:0,    cpu_brandid_3          , CPU brand ID string, bytes 12 - 15

# Leaf 80000003H
# CPU brand ID string, bytes 16 - 31

0x80000003,         0,  eax,    31:0,    cpu_brandid_4          , CPU brand ID string bytes, 16 - 19
0x80000003,         0,  ebx,    31:0,    cpu_brandid_5          , CPU brand ID string bytes, 20 - 23
0x80000003,         0,  ecx,    31:0,    cpu_brandid_6          , CPU brand ID string bytes, 24 - 27
0x80000003,         0,  edx,    31:0,    cpu_brandid_7          , CPU brand ID string bytes, 28 - 31

# Leaf 80000004H
# CPU brand ID string, bytes 32 - 47

0x80000004,         0,  eax,    31:0,    cpu_brandid_8          , CPU brand ID string, bytes 32 - 35
0x80000004,         0,  ebx,    31:0,    cpu_brandid_9          , CPU brand ID string, bytes 36 - 39
0x80000004,         0,  ecx,    31:0,    cpu_brandid_10         , CPU brand ID string, bytes 40 - 43
0x80000004,         0,  edx,    31:0,    cpu_brandid_11         , CPU brand ID string, bytes 44 - 47

# Leaf 80000005H
# AMD L1 cache and L1 TLB enumeration

0x80000005,         0,  eax,     7:0,    l1_itlb_2m_4m_nentries , L1 ITLB #entires, 2M and 4M pages
0x80000005,         0,  eax,    15:8,    l1_itlb_2m_4m_assoc    , L1 ITLB associativity, 2M and 4M pages
0x80000005,         0,  eax,   23:16,    l1_dtlb_2m_4m_nentries , L1 DTLB #entires, 2M and 4M pages
0x80000005,         0,  eax,   31:24,    l1_dtlb_2m_4m_assoc    , L1 DTLB associativity, 2M and 4M pages
0x80000005,         0,  ebx,     7:0,    l1_itlb_4k_nentries    , L1 ITLB #entries, 4K pages
0x80000005,         0,  ebx,    15:8,    l1_itlb_4k_assoc       , L1 ITLB associativity, 4K pages
0x80000005,         0,  ebx,   23:16,    l1_dtlb_4k_nentries    , L1 DTLB #entries, 4K pages
0x80000005,         0,  ebx,   31:24,    l1_dtlb_4k_assoc       , L1 DTLB associativity, 4K pages
0x80000005,         0,  ecx,     7:0,    l1_dcache_line_size    , L1 dcache line size, in bytes
0x80000005,         0,  ecx,    15:8,    l1_dcache_nlines       , L1 dcache lines per tag
0x80000005,         0,  ecx,   23:16,    l1_dcache_assoc        , L1 dcache associativity
0x80000005,         0,  ecx,   31:24,    l1_dcache_size_kb      , L1 dcache size, in KB
0x80000005,         0,  edx,     7:0,    l1_icache_line_size    , L1 icache line size, in bytes
0x80000005,         0,  edx,    15:8,    l1_icache_nlines       , L1 icache lines per tag
0x80000005,         0,  edx,   23:16,    l1_icache_assoc        , L1 icache associativity
0x80000005,         0,  edx,   31:24,    l1_icache_size_kb      , L1 icache size, in KB

# Leaf 80000006H
# (Mostly AMD) L2 TLB, L2 cache, and L3 cache enumeration

0x80000006,         0,  eax,    11:0,    l2_itlb_2m_4m_nentries , L2 iTLB #entries, 2M and 4M pages
0x80000006,         0,  eax,   15:12,    l2_itlb_2m_4m_assoc    , L2 iTLB associativity, 2M and 4M pages
0x80000006,         0,  eax,   27:16,    l2_dtlb_2m_4m_nentries , L2 dTLB #entries, 2M and 4M pages
0x80000006,         0,  eax,   31:28,    l2_dtlb_2m_4m_assoc    , L2 dTLB associativity, 2M and 4M pages
0x80000006,         0,  ebx,    11:0,    l2_itlb_4k_nentries    , L2 iTLB #entries, 4K pages
0x80000006,         0,  ebx,   15:12,    l2_itlb_4k_assoc       , L2 iTLB associativity, 4K pages
0x80000006,         0,  ebx,   27:16,    l2_dtlb_4k_nentries    , L2 dTLB #entries, 4K pages
0x80000006,         0,  ebx,   31:28,    l2_dtlb_4k_assoc       , L2 dTLB associativity, 4K pages
0x80000006,         0,  ecx,     7:0,    l2_line_size           , L2 cache line size, in bytes
0x80000006,         0,  ecx,    11:8,    l2_nlines              , L2 cache number of lines per tag
0x80000006,         0,  ecx,   15:12,    l2_assoc               , L2 cache associativity
0x80000006,         0,  ecx,   31:16,    l2_size_kb             , L2 cache size, in KB
0x80000006,         0,  edx,     7:0,    l3_line_size           , L3 cache line size, in bytes
0x80000006,         0,  edx,    11:8,    l3_nlines              , L3 cache number of lines per tag
0x80000006,         0,  edx,   15:12,    l3_assoc               , L3 cache associativity
0x80000006,         0,  edx,   31:18,    l3_size_range          , L3 cache size range

# Leaf 80000007H
# CPU power management (mostly AMD) and AMD RAS enumeration

0x80000007,         0,  ebx,       0,    overflow_recov         , MCA overflow conditions not fatal
0x80000007,         0,  ebx,       1,    succor                 , Software containment of UnCORRectable errors
0x80000007,         0,  ebx,       2,    hw_assert              , Hardware assert MSRs
0x80000007,         0,  ebx,       3,    smca                   , Scalable MCA (MCAX MSRs)
0x80000007,         0,  ecx,    31:0,    cpu_pwr_sample_ratio   , CPU power sample time ratio
0x80000007,         0,  edx,       0,    digital_temp           , Digital temprature sensor
0x80000007,         0,  edx,       1,    powernow_freq_id       , PowerNOW! frequency scaling
0x80000007,         0,  edx,       2,    powernow_volt_id       , PowerNOW! voltage scaling
0x80000007,         0,  edx,       3,    thermal_trip           , THERMTRIP (Thermal Trip)
0x80000007,         0,  edx,       4,    hw_thermal_control     , Hardware thermal control
0x80000007,         0,  edx,       5,    sw_thermal_control     , Software thermal control
0x80000007,         0,  edx,       6,    100mhz_steps           , 100 MHz multiplier control
0x80000007,         0,  edx,       7,    hw_pstate              , Hardware P-state control
0x80000007,         0,  edx,       8,    constant_tsc           , TSC ticks at constant rate across all P and C states
0x80000007,         0,  edx,       9,    cpb                    , Core performance boost
0x80000007,         0,  edx,      10,    eff_freq_ro            , Read-only effective frequency interface
0x80000007,         0,  edx,      11,    proc_feedback          , Processor feedback interface (deprecated)
0x80000007,         0,  edx,      12,    acc_power              , Processor power reporting interface
0x80000007,         0,  edx,      13,    connected_standby      , CPU Connected Standby support
0x80000007,         0,  edx,      14,    rapl                   , Runtime Average Power Limit interface

# Leaf 80000008H
# CPU capacity parameters and extended feature flags (mostly AMD)

0x80000008,         0,  eax,     7:0,    phys_addr_bits         , Max physical address bits
0x80000008,         0,  eax,    15:8,    virt_addr_bits         , Max virtual address bits
0x80000008,         0,  eax,   23:16,    guest_phys_addr_bits   , Max nested-paging guest physical address bits
0x80000008,         0,  ebx,       0,    clzero                 , CLZERO supported
0x80000008,         0,  ebx,       1,    irperf                 , Instruction retired counter MSR
0x80000008,         0,  ebx,       2,    xsaveerptr             , XSAVE/XRSTOR always saves/restores FPU error pointers
0x80000008,         0,  ebx,       3,    invlpgb                , INVLPGB broadcasts a TLB invalidate to all threads
0x80000008,         0,  ebx,       4,    rdpru                  , RDPRU (Read Processor Register at User level) supported
0x80000008,         0,  ebx,       6,    mba                    , Memory Bandwidth Allocation (AMD bit)
0x80000008,         0,  ebx,       8,    mcommit                , MCOMMIT (Memory commit) supported
0x80000008,         0,  ebx,       9,    wbnoinvd               , WBNOINVD supported
0x80000008,         0,  ebx,      12,    amd_ibpb               , Indirect Branch Prediction Barrier
0x80000008,         0,  ebx,      13,    wbinvd_int             , Interruptible WBINVD/WBNOINVD
0x80000008,         0,  ebx,      14,    amd_ibrs               , Indirect Branch Restricted Speculation
0x80000008,         0,  ebx,      15,    amd_stibp              , Single Thread Indirect Branch Prediction mode
0x80000008,         0,  ebx,      16,    ibrs_always_on         , IBRS always-on preferred
0x80000008,         0,  ebx,      17,    amd_stibp_always_on    , STIBP always-on preferred
0x80000008,         0,  ebx,      18,    ibrs_fast              , IBRS is preferred over software solution
0x80000008,         0,  ebx,      19,    ibrs_same_mode         , IBRS provides same mode protection
0x80000008,         0,  ebx,      20,    no_efer_lmsle          , EFER[LMSLE] bit (Long-Mode Segment Limit Enable) unsupported
0x80000008,         0,  ebx,      21,    tlb_flush_nested       , INVLPGB RAX[5] bit can be set (nested translations)
0x80000008,         0,  ebx,      23,    amd_ppin               , Protected Processor Inventory Number
0x80000008,         0,  ebx,      24,    amd_ssbd               , Speculative Store Bypass Disable
0x80000008,         0,  ebx,      25,    virt_ssbd              , virtualized SSBD (Speculative Store Bypass Disable)
0x80000008,         0,  ebx,      26,    amd_ssb_no             , SSBD not needed (fixed in HW)
0x80000008,         0,  ebx,      27,    cppc                   , Collaborative Processor Performance Control
0x80000008,         0,  ebx,      28,    amd_psfd               , Predictive Store Forward Disable
0x80000008,         0,  ebx,      29,    btc_no                 , CPU not affected by Branch Type Confusion
0x80000008,         0,  ebx,      30,    ibpb_ret               , IBPB clears RSB/RAS too
0x80000008,         0,  ebx,      31,    brs                    , Branch Sampling supported
0x80000008,         0,  ecx,     7:0,    cpu_nthreads           , Number of physical threads - 1
0x80000008,         0,  ecx,   15:12,    apicid_coreid_len      , Number of thread core ID bits (shift) in APIC ID
0x80000008,         0,  ecx,   17:16,    perf_tsc_len           , Performance time-stamp counter size
0x80000008,         0,  edx,    15:0,    invlpgb_max_pages      , INVLPGB maximum page count
0x80000008,         0,  edx,   31:16,    rdpru_max_reg_id       , RDPRU max register ID (ECX input)

# Leaf 8000000AH
# AMD SVM (Secure Virtual Machine) enumeration

0x8000000a,         0,  eax,     7:0,    svm_version            , SVM revision number
0x8000000a,         0,  ebx,    31:0,    svm_nasid              , Number of address space identifiers (ASID)
0x8000000a,         0,  edx,       0,    npt                    , Nested paging
0x8000000a,         0,  edx,       1,    lbrv                   , LBR virtualization
0x8000000a,         0,  edx,       2,    svm_lock               , SVM lock
0x8000000a,         0,  edx,       3,    nrip_save              , NRIP save support on #VMEXIT
0x8000000a,         0,  edx,       4,    tsc_scale              , MSR based TSC rate control
0x8000000a,         0,  edx,       5,    vmcb_clean             , VMCB clean bits support
0x8000000a,         0,  edx,       6,    flushbyasid            , Flush by ASID + Extended VMCB TLB_Control
0x8000000a,         0,  edx,       7,    decodeassists          , Decode Assists support
0x8000000a,         0,  edx,      10,    pausefilter            , Pause intercept filter
0x8000000a,         0,  edx,      12,    pfthreshold            , Pause filter threshold
0x8000000a,         0,  edx,      13,    avic                   , Advanced virtual interrupt controller
0x8000000a,         0,  edx,      15,    v_vmsave_vmload        , Virtual VMSAVE/VMLOAD (nested virt)
0x8000000a,         0,  edx,      16,    vgif                   , Virtualize the Global Interrupt Flag
0x8000000a,         0,  edx,      17,    gmet                   , Guest mode execution trap
0x8000000a,         0,  edx,      18,    x2avic                 , Virtual x2APIC
0x8000000a,         0,  edx,      19,    sss_check              , Supervisor Shadow Stack restrictions
0x8000000a,         0,  edx,      20,    v_spec_ctrl            , Virtual SPEC_CTRL
0x8000000a,         0,  edx,      21,    ro_gpt                 , Read-Only guest page table support
0x8000000a,         0,  edx,      23,    h_mce_override         , Host MCE override
0x8000000a,         0,  edx,      24,    tlbsync_int            , TLBSYNC intercept + INVLPGB/TLBSYNC in VMCB
0x8000000a,         0,  edx,      25,    vnmi                   , NMI virtualization
0x8000000a,         0,  edx,      26,    ibs_virt               , IBS Virtualization
0x8000000a,         0,  edx,      27,    ext_lvt_off_chg        , Extended LVT offset fault change
0x8000000a,         0,  edx,      28,    svme_addr_chk          , Guest SVME addr check

# Leaf 80000019H
# AMD TLB 1G-pages enumeration

0x80000019,         0,  eax,    11:0,    l1_itlb_1g_nentries    , L1 iTLB #entries, 1G pages
0x80000019,         0,  eax,   15:12,    l1_itlb_1g_assoc       , L1 iTLB associativity, 1G pages
0x80000019,         0,  eax,   27:16,    l1_dtlb_1g_nentries    , L1 dTLB #entries, 1G pages
0x80000019,         0,  eax,   31:28,    l1_dtlb_1g_assoc       , L1 dTLB associativity, 1G pages
0x80000019,         0,  ebx,    11:0,    l2_itlb_1g_nentries    , L2 iTLB #entries, 1G pages
0x80000019,         0,  ebx,   15:12,    l2_itlb_1g_assoc       , L2 iTLB associativity, 1G pages
0x80000019,         0,  ebx,   27:16,    l2_dtlb_1g_nentries    , L2 dTLB #entries, 1G pages
0x80000019,         0,  ebx,   31:28,    l2_dtlb_1g_assoc       , L2 dTLB associativity, 1G pages

# Leaf 8000001AH
# AMD instruction optimizations enumeration

0x8000001a,         0,  eax,       0,    fp_128                 , Internal FP/SIMD exec data path is 128-bits wide
0x8000001a,         0,  eax,       1,    movu_preferred         , SSE: MOVU* better than MOVL*/MOVH*
0x8000001a,         0,  eax,       2,    fp_256                 , internal FP/SSE exec data path is 256-bits wide

# Leaf 8000001BH
# AMD IBS (Instruction-Based Sampling) enumeration

0x8000001b,         0,  eax,       0,    ibs_flags_valid        , IBS feature flags valid
0x8000001b,         0,  eax,       1,    ibs_fetch_sampling     , IBS fetch sampling supported
0x8000001b,         0,  eax,       2,    ibs_op_sampling        , IBS execution sampling supported
0x8000001b,         0,  eax,       3,    ibs_rdwr_op_counter    , IBS read/write of op counter supported
0x8000001b,         0,  eax,       4,    ibs_op_count           , IBS OP counting mode supported
0x8000001b,         0,  eax,       5,    ibs_branch_target      , IBS branch target address reporting supported
0x8000001b,         0,  eax,       6,    ibs_op_counters_ext    , IBS IbsOpCurCnt/IbsOpMaxCnt extend by 7 bits
0x8000001b,         0,  eax,       7,    ibs_rip_invalid_chk    , IBS invalid RIP indication supported
0x8000001b,         0,  eax,       8,    ibs_op_branch_fuse     , IBS fused branch micro-op indication supported
0x8000001b,         0,  eax,       9,    ibs_fetch_ctl_ext      , IBS Fetch Control Extended MSR (0xc001103c) supported
0x8000001b,         0,  eax,      10,    ibs_op_data_4          , IBS op data 4 MSR supported
0x8000001b,         0,  eax,      11,    ibs_l3_miss_filter     , IBS L3-miss filtering supported (Zen4+)

# Leaf 8000001CH
# AMD LWP (Lightweight Profiling)

0x8000001c,         0,  eax,       0,    os_lwp_avail           , LWP is available to application programs (supported by OS)
0x8000001c,         0,  eax,       1,    os_lpwval              , LWPVAL instruction (EventId=1) is supported by OS
0x8000001c,         0,  eax,       2,    os_lwp_ire             , Instructions Retired Event (EventId=2) is supported by OS
0x8000001c,         0,  eax,       3,    os_lwp_bre             , Branch Retired Event (EventId=3) is supported by OS
0x8000001c,         0,  eax,       4,    os_lwp_dme             , DCache Miss Event (EventId=4) is supported by OS
0x8000001c,         0,  eax,       5,    os_lwp_cnh             , CPU Clocks Not Halted event (EventId=5) is supported by OS
0x8000001c,         0,  eax,       6,    os_lwp_rnh             , CPU Reference clocks Not Halted event (EventId=6) is supported by OS
0x8000001c,         0,  eax,      29,    os_lwp_cont            , LWP sampling in continuous mode is supported by OS
0x8000001c,         0,  eax,      30,    os_lwp_ptsc            , Performance Time Stamp Counter in event records is supported by OS
0x8000001c,         0,  eax,      31,    os_lwp_int             , Interrupt on threshold overflow is supported by OS
0x8000001c,         0,  ebx,     7:0,    lwp_lwpcb_sz           , LWP Control Block size, in quadwords
0x8000001c,         0,  ebx,    15:8,    lwp_event_sz           , LWP event record size, in bytes
0x8000001c,         0,  ebx,   23:16,    lwp_max_events         , LWP max supported EventId value (EventID 255 not included)
0x8000001c,         0,  ebx,   31:24,    lwp_event_offset       , LWP events area offset in the LWP Control Block
0x8000001c,         0,  ecx,     4:0,    lwp_latency_max        , Num of bits in cache latency counters (10 to 31)
0x8000001c,         0,  ecx,       5,    lwp_data_adddr         , Cache miss events report the data address of the reference
0x8000001c,         0,  ecx,     8:6,    lwp_latency_rnd        , Amount by which cache latency is rounded
0x8000001c,         0,  ecx,    15:9,    lwp_version            , LWP implementation version
0x8000001c,         0,  ecx,   23:16,    lwp_buf_min_sz         , LWP event ring buffer min size, in units of 32 event records
0x8000001c,         0,  ecx,      28,    lwp_branch_predict     , Branches Retired events can be filtered
0x8000001c,         0,  ecx,      29,    lwp_ip_filtering       , IP filtering (IPI, IPF, BaseIP, and LimitIP @ LWPCP) supported
0x8000001c,         0,  ecx,      30,    lwp_cache_levels       , Cache-related events can be filtered by cache level
0x8000001c,         0,  ecx,      31,    lwp_cache_latency      , Cache-related events can be filtered by latency
0x8000001c,         0,  edx,       0,    hw_lwp_avail           , LWP is available in Hardware
0x8000001c,         0,  edx,       1,    hw_lpwval              , LWPVAL instruction (EventId=1) is available in HW
0x8000001c,         0,  edx,       2,    hw_lwp_ire             , Instructions Retired Event (EventId=2) is available in HW
0x8000001c,         0,  edx,       3,    hw_lwp_bre             , Branch Retired Event (EventId=3) is available in HW
0x8000001c,         0,  edx,       4,    hw_lwp_dme             , DCache Miss Event (EventId=4) is available in HW
0x8000001c,         0,  edx,       5,    hw_lwp_cnh             , CPU Clocks Not Halted event (EventId=5) is available in HW
0x8000001c,         0,  edx,       6,    hw_lwp_rnh             , CPU Reference clocks Not Halted event (EventId=6) is available in HW
0x8000001c,         0,  edx,      29,    hw_lwp_cont            , LWP sampling in continuous mode is available in HW
0x8000001c,         0,  edx,      30,    hw_lwp_ptsc            , Performance Time Stamp Counter in event records is available in HW
0x8000001c,         0,  edx,      31,    hw_lwp_int             , Interrupt on threshold overflow is available in HW

# Leaf 8000001DH
# AMD deterministic cache parameters

0x8000001d,      31:0,  eax,     4:0,    cache_type             , Cache type field
0x8000001d,      31:0,  eax,     7:5,    cache_level            , Cache level (1-based)
0x8000001d,      31:0,  eax,       8,    cache_self_init        , Self-initializing cache level
0x8000001d,      31:0,  eax,       9,    fully_associative      , Fully-associative cache
0x8000001d,      31:0,  eax,   25:14,    num_threads_sharing    , Number of logical CPUs sharing cache
0x8000001d,      31:0,  ebx,    11:0,    cache_linesize         , System coherency line size (0-based)
0x8000001d,      31:0,  ebx,   21:12,    cache_npartitions      , Physical line partitions (0-based)
0x8000001d,      31:0,  ebx,   31:22,    cache_nways            , Ways of associativity (0-based)
0x8000001d,      31:0,  ecx,    30:0,    cache_nsets            , Cache number of sets (0-based)
0x8000001d,      31:0,  edx,       0,    wbinvd_rll_no_guarantee, WBINVD/INVD not guaranteed for Remote Lower-Level caches
0x8000001d,      31:0,  edx,       1,    ll_inclusive           , Cache is inclusive of Lower-Level caches

# Leaf 8000001EH
# AMD CPU topology enumeration

0x8000001e,         0,  eax,    31:0,    ext_apic_id            , Extended APIC ID
0x8000001e,         0,  ebx,     7:0,    core_id                , Unique per-socket logical core unit ID
0x8000001e,         0,  ebx,    15:8,    core_nthreas           , #Threads per core (zero-based)
0x8000001e,         0,  ecx,     7:0,    node_id                , Node (die) ID of invoking logical CPU
0x8000001e,         0,  ecx,    10:8,    nnodes_per_socket      , #nodes in invoking logical CPU's package/socket

# Leaf 8000001FH
# AMD encrypted memory capabilities enumeration (SME/SEV)

0x8000001f,         0,  eax,       0,    sme                    , Secure Memory Encryption supported
0x8000001f,         0,  eax,       1,    sev                    , Secure Encrypted Virtualization supported
0x8000001f,         0,  eax,       2,    vm_page_flush          , VM Page Flush MSR (0xc001011e) available
0x8000001f,         0,  eax,       3,    sev_es                 , SEV Encrypted State supported
0x8000001f,         0,  eax,       4,    sev_nested_paging      , SEV secure nested paging supported
0x8000001f,         0,  eax,       5,    vm_permission_levels   , VMPL supported
0x8000001f,         0,  eax,       6,    rpmquery               , RPMQUERY instruction supported
0x8000001f,         0,  eax,       7,    vmpl_sss               , VMPL supervisor shadwo stack supported
0x8000001f,         0,  eax,       8,    secure_tsc             , Secure TSC supported
0x8000001f,         0,  eax,       9,    v_tsc_aux              , Hardware virtualizes TSC_AUX
0x8000001f,         0,  eax,      10,    sme_coherent           , HW enforces cache coherency across encryption domains
0x8000001f,         0,  eax,      11,    req_64bit_hypervisor   , SEV guest mandates 64-bit hypervisor
0x8000001f,         0,  eax,      12,    restricted_injection   , Restricted Injection supported
0x8000001f,         0,  eax,      13,    alternate_injection    , Alternate Injection supported
0x8000001f,         0,  eax,      14,    debug_swap             , SEV-ES: full debug state swap is supported
0x8000001f,         0,  eax,      15,    disallow_host_ibs      , SEV-ES: Disallowing IBS use by the host is supported
0x8000001f,         0,  eax,      16,    virt_transparent_enc   , Virtual Transparent Encryption
0x8000001f,         0,  eax,      17,    vmgexit_paremeter      , VmgexitParameter is supported in SEV_FEATURES
0x8000001f,         0,  eax,      18,    virt_tom_msr           , Virtual TOM MSR is supported
0x8000001f,         0,  eax,      19,    virt_ibs               , IBS state virtualization is supported for SEV-ES guests
0x8000001f,         0,  eax,      24,    vmsa_reg_protection    , VMSA register protection is supported
0x8000001f,         0,  eax,      25,    smt_protection         , SMT protection is supported
0x8000001f,         0,  eax,      28,    svsm_page_msr          , SVSM communication page MSR (0xc001f000h) is supported
0x8000001f,         0,  eax,      29,    nested_virt_snp_msr    , VIRT_RMPUPDATE/VIRT_PSMASH MSRs are supported
0x8000001f,         0,  ebx,     5:0,    pte_cbit_pos           , PTE bit number used to enable memory encryption
0x8000001f,         0,  ebx,    11:6,    phys_addr_reduction_nbits, Reduction of phys address space when encryption is enabled, in bits
0x8000001f,         0,  ebx,   15:12,    vmpl_count             , Number of VM permission levels (VMPL) supported
0x8000001f,         0,  ecx,    31:0,    enc_guests_max         , Max supported number of simultaneous encrypted guests
0x8000001f,         0,  edx,    31:0,    min_sev_asid_no_sev_es , Mininum ASID for SEV-enabled SEV-ES-disabled guest

# Leaf 80000020H
# AMD Platform QoS extended feature IDs

0x80000020,         0,  ebx,       1,    mba                    , Memory Bandwidth Allocation support
0x80000020,         0,  ebx,       2,    smba                   , Slow Memory Bandwidth Allocation support
0x80000020,         0,  ebx,       3,    bmec                   , Bandwidth Monitoring Event Configuration support
0x80000020,         0,  ebx,       4,    l3rr                   , L3 Range Reservation support
0x80000020,         1,  eax,    31:0,    mba_limit_len          , MBA enforcement limit size
0x80000020,         1,  edx,    31:0,    mba_cos_max            , MBA max Class of Service number (zero-based)
0x80000020,         2,  eax,    31:0,    smba_limit_len         , SMBA enforcement limit size
0x80000020,         2,  edx,    31:0,    smba_cos_max           , SMBA max Class of Service number (zero-based)
0x80000020,         3,  ebx,     7:0,    bmec_num_events        , BMEC number of bandwidth events available
0x80000020,         3,  ecx,       0,    bmec_local_reads       , Local NUMA reads can be tracked
0x80000020,         3,  ecx,       1,    bmec_remote_reads      , Remote NUMA reads can be tracked
0x80000020,         3,  ecx,       2,    bmec_local_nontemp_wr  , Local NUMA non-temporal writes can be tracked
0x80000020,         3,  ecx,       3,    bmec_remote_nontemp_wr , Remote NUMA non-temporal writes can be tracked
0x80000020,         3,  ecx,       4,    bmec_local_slow_mem_rd , Local NUMA slow-memory reads can be tracked
0x80000020,         3,  ecx,       5,    bmec_remote_slow_mem_rd, Remote NUMA slow-memory reads can be tracked
0x80000020,         3,  ecx,       6,    bmec_all_dirty_victims , Dirty QoS victims to all types of memory can be tracked

# Leaf 80000021H
# AMD extended features enumeration 2

0x80000021,         0,  eax,       0,    no_nested_data_bp      , No nested data breakpoints
0x80000021,         0,  eax,       1,    fsgs_non_serializing   , WRMSR to {FS,GS,KERNEL_GS}_BASE is non-serializing
0x80000021,         0,  eax,       2,    lfence_rdtsc           , LFENCE always serializing / synchronizes RDTSC
0x80000021,         0,  eax,       3,    smm_page_cfg_lock      , SMM paging configuration lock is supported
0x80000021,         0,  eax,       6,    null_sel_clr_base      , Null selector clears base
0x80000021,         0,  eax,       7,    upper_addr_ignore      , EFER MSR Upper Address Ignore Enable bit supported
0x80000021,         0,  eax,       8,    autoibrs               , EFER MSR Automatic IBRS enable bit supported
0x80000021,         0,  eax,       9,    no_smm_ctl_msr         , SMM_CTL MSR (0xc0010116) is not present
0x80000021,         0,  eax,      10,    fsrs_supported         , Fast Short Rep Stosb (FSRS) is supported
0x80000021,         0,  eax,      11,    fsrc_supported         , Fast Short Repe Cmpsb (FSRC) is supported
0x80000021,         0,  eax,      13,    prefetch_ctl_msr       , Prefetch control MSR is supported
0x80000021,         0,  eax,      17,    user_cpuid_disable     , #GP when executing CPUID at CPL > 0 is supported
0x80000021,         0,  eax,      18,    epsf_supported         , Enhanced Predictive Store Forwarding (EPSF) is supported
0x80000021,         0,  ebx,    11:0,    microcode_patch_size   , Size of microcode patch, in 16-byte units

# Leaf 80000022H
# AMD Performance Monitoring v2 enumeration

0x80000022,         0,  eax,       0,    perfmon_v2             , Performance monitoring v2 supported
0x80000022,         0,  eax,       1,    lbr_v2                 , Last Branch Record v2 extensions (LBR Stack)
0x80000022,         0,  eax,       2,    lbr_pmc_freeze         , Freezing core performance counters / LBR Stack supported
0x80000022,         0,  ebx,     3:0,    n_pmc_core             , Number of core perfomance counters
0x80000022,         0,  ebx,     9:4,    lbr_v2_stack_size      , Number of available LBR stack entries
0x80000022,         0,  ebx,   15:10,    n_pmc_northbridge      , Number of available northbridge (data fabric) performance counters
0x80000022,         0,  ebx,   21:16,    n_pmc_umc              , Number of available UMC performance counters
0x80000022,         0,  ecx,    31:0,    active_umc_bitmask     , Active UMCs bitmask

# Leaf 80000023H
# AMD Secure Multi-key Encryption enumeration

0x80000023,         0,  eax,       0,    mem_hmk_mode           , MEM-HMK encryption mode is supported
0x80000023,         0,  ebx,    15:0,    mem_hmk_avail_keys     , MEM-HMK mode: total num of available encryption keys

# Leaf 80000026H
# AMD extended topology enumeration v2

0x80000026,       3:0,  eax,     4:0,    x2apic_id_shift        , Bit width of this level (previous levels inclusive)
0x80000026,       3:0,  eax,      29,    core_has_pwreff_ranking, This core has a power efficiency ranking
0x80000026,       3:0,  eax,      30,    domain_has_hybrid_cores, This domain level has hybrid (E, P) cores
0x80000026,       3:0,  eax,      31,    domain_core_count_asymm, The 'Core' domain has asymmetric cores count
0x80000026,       3:0,  ebx,    15:0,    domain_lcpus_count     , Number of logical CPUs at this domain instance
0x80000026,       3:0,  ebx,   23:16,    core_pwreff_ranking    , This core's static power efficiency ranking
0x80000026,       3:0,  ebx,   27:24,    core_native_model_id   , This core's native model ID
0x80000026,       3:0,  ebx,   31:28,    core_type              , This core's type
0x80000026,       3:0,  ecx,     7:0,    domain_level           , This domain level (subleaf ID)
0x80000026,       3:0,  ecx,    15:8,    domain_type            , This domain type
0x80000026,       3:0,  edx,    31:0,    x2apic_id              , x2APIC ID of current logical CPU