summaryrefslogtreecommitdiff
path: root/tools/arch/x86/kcpuid/cpuid.csv
blob: d751eb8585d09881dbb8a28e093be125e1a724b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
# 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