TianoCore EDK2 master
Loading...
Searching...
No Matches
GoldmontMsr.h
Go to the documentation of this file.
1
18#ifndef __GOLDMONT_MSR_H__
19#define __GOLDMONT_MSR_H__
20
22
32#define IS_GOLDMONT_PROCESSOR(DisplayFamily, DisplayModel) \
33 (DisplayFamily == 0x06 && \
34 ( \
35 DisplayModel == 0x5C \
36 ) \
37 )
38
57#define MSR_GOLDMONT_FEATURE_CONTROL 0x0000003A
58
62typedef union {
66 struct {
70 UINT32 Lock : 1;
79 UINT32 Reserved1 : 5;
88 UINT32 Reserved2 : 2;
92 UINT32 SgxEnable : 1;
93 UINT32 Reserved3 : 13;
94 UINT32 Reserved4 : 32;
95 } Bits;
99 UINT32 Uint32;
103 UINT64 Uint64;
105
124#define MSR_GOLDMONT_PLATFORM_INFO 0x000000CE
125
129typedef union {
133 struct {
134 UINT32 Reserved1 : 8;
141 UINT32 Reserved2 : 12;
148 UINT32 RatioLimit : 1;
155 UINT32 TDPLimit : 1;
161 UINT32 TJOFFSET : 1;
162 UINT32 Reserved3 : 1;
163 UINT32 Reserved4 : 8;
170 UINT32 Reserved5 : 16;
171 } Bits;
175 UINT64 Uint64;
177
200#define MSR_GOLDMONT_PKG_CST_CONFIG_CONTROL 0x000000E2
201
205typedef union {
209 struct {
218 UINT32 Limit : 4;
219 UINT32 Reserved1 : 6;
225 UINT32 IO_MWAIT : 1;
226 UINT32 Reserved2 : 4;
231 UINT32 CFGLock : 1;
232 UINT32 Reserved3 : 16;
233 UINT32 Reserved4 : 32;
234 } Bits;
238 UINT32 Uint32;
242 UINT64 Uint64;
244
264#define MSR_GOLDMONT_SMM_MCA_CAP 0x0000017D
265
269typedef union {
273 struct {
274 UINT32 Reserved1 : 32;
275 UINT32 Reserved2 : 26;
288 UINT32 Reserved3 : 4;
289 } Bits;
293 UINT64 Uint64;
295
315#define MSR_GOLDMONT_IA32_MISC_ENABLE 0x000001A0
316
320typedef union {
324 struct {
328 UINT32 FastStrings : 1;
329 UINT32 Reserved1 : 2;
335 UINT32 Reserved2 : 3;
340 UINT32 Reserved3 : 3;
344 UINT32 BTS : 1;
349 UINT32 PEBS : 1;
350 UINT32 Reserved4 : 3;
355 UINT32 EIST : 1;
356 UINT32 Reserved5 : 1;
360 UINT32 MONITOR : 1;
361 UINT32 Reserved6 : 3;
370 UINT32 Reserved7 : 8;
371 UINT32 Reserved8 : 2;
375 UINT32 XD : 1;
376 UINT32 Reserved9 : 3;
389 UINT32 Reserved10 : 25;
390 } Bits;
394 UINT64 Uint64;
396
415#define MSR_GOLDMONT_MISC_FEATURE_CONTROL 0x000001A4
416
420typedef union {
424 struct {
431 UINT32 Reserved1 : 1;
438 UINT32 Reserved2 : 29;
439 UINT32 Reserved3 : 32;
440 } Bits;
444 UINT32 Uint32;
448 UINT64 Uint64;
450
469#define MSR_GOLDMONT_MISC_PWR_MGMT 0x000001AA
470
474typedef union {
478 struct {
486 UINT32 Reserved1 : 21;
492 UINT32 Reserved2 : 9;
493 UINT32 Reserved3 : 32;
494 } Bits;
498 UINT32 Uint32;
502 UINT64 Uint64;
504
528#define MSR_GOLDMONT_TURBO_RATIO_LIMIT 0x000001AD
529
533typedef union {
537 struct {
586 } Bits;
590 UINT64 Uint64;
592
612#define MSR_GOLDMONT_TURBO_GROUP_CORECNT 0x000001AE
613
617typedef union {
621 struct {
670 } Bits;
674 UINT64 Uint64;
676
696#define MSR_GOLDMONT_LBR_SELECT 0x000001C8
697
701typedef union {
705 struct {
709 UINT32 CPL_EQ_0 : 1;
713 UINT32 CPL_NEQ_0 : 1;
717 UINT32 JCC : 1;
721 UINT32 NEAR_REL_CALL : 1;
725 UINT32 NEAR_IND_CALL : 1;
729 UINT32 NEAR_RET : 1;
733 UINT32 NEAR_IND_JMP : 1;
737 UINT32 NEAR_REL_JMP : 1;
741 UINT32 FAR_BRANCH : 1;
745 UINT32 EN_CALL_STACK : 1;
746 UINT32 Reserved1 : 22;
747 UINT32 Reserved2 : 32;
748 } Bits;
752 UINT32 Uint32;
756 UINT64 Uint64;
758
777#define MSR_GOLDMONT_LASTBRANCH_TOS 0x000001C9
778
797#define MSR_GOLDMONT_POWER_CTL 0x000001FC
798
802typedef union {
806 struct {
807 UINT32 Reserved1 : 1;
813 UINT32 C1EEnable : 1;
814 UINT32 Reserved2 : 30;
815 UINT32 Reserved3 : 32;
816 } Bits;
820 UINT32 Uint32;
824 UINT64 Uint64;
826
845#define MSR_GOLDMONT_SGXOWNEREPOCH0 0x00000300
846
847//
848// Define MSR_GOLDMONT_SGXOWNER0 for compatibility due to name change in the SDM.
849//
850#define MSR_GOLDMONT_SGXOWNER0 MSR_GOLDMONT_SGXOWNEREPOCH0
851
868#define MSR_GOLDMONT_SGXOWNEREPOCH1 0x00000301
869
870//
871// Define MSR_GOLDMONT_SGXOWNER1 for compatibility due to name change in the SDM.
872//
873#define MSR_GOLDMONT_SGXOWNER1 MSR_GOLDMONT_SGXOWNEREPOCH1
874
894#define MSR_GOLDMONT_IA32_PERF_GLOBAL_STATUS_RESET 0x00000390
895
900typedef union {
904 struct {
908 UINT32 Ovf_PMC0 : 1;
912 UINT32 Ovf_PMC1 : 1;
916 UINT32 Ovf_PMC2 : 1;
920 UINT32 Ovf_PMC3 : 1;
921 UINT32 Reserved1 : 28;
925 UINT32 Ovf_FixedCtr0 : 1;
929 UINT32 Ovf_FixedCtr1 : 1;
933 UINT32 Ovf_FixedCtr2 : 1;
934 UINT32 Reserved2 : 20;
938 UINT32 Trace_ToPA_PMI : 1;
939 UINT32 Reserved3 : 2;
943 UINT32 LBR_Frz : 1;
947 UINT32 CTR_Frz : 1;
951 UINT32 ASCI : 1;
955 UINT32 Ovf_Uncore : 1;
959 UINT32 Ovf_BufDSSAVE : 1;
963 UINT32 CondChgd : 1;
964 } Bits;
968 UINT64 Uint64;
970
990#define MSR_GOLDMONT_IA32_PERF_GLOBAL_STATUS_SET 0x00000391
991
996typedef union {
1000 struct {
1004 UINT32 Ovf_PMC0 : 1;
1008 UINT32 Ovf_PMC1 : 1;
1012 UINT32 Ovf_PMC2 : 1;
1016 UINT32 Ovf_PMC3 : 1;
1017 UINT32 Reserved1 : 28;
1021 UINT32 Ovf_FixedCtr0 : 1;
1025 UINT32 Ovf_FixedCtr1 : 1;
1029 UINT32 Ovf_FixedCtr2 : 1;
1030 UINT32 Reserved2 : 20;
1034 UINT32 Trace_ToPA_PMI : 1;
1035 UINT32 Reserved3 : 2;
1039 UINT32 LBR_Frz : 1;
1043 UINT32 CTR_Frz : 1;
1047 UINT32 ASCI : 1;
1051 UINT32 Ovf_Uncore : 1;
1055 UINT32 Ovf_BufDSSAVE : 1;
1056 UINT32 Reserved4 : 1;
1057 } Bits;
1061 UINT64 Uint64;
1063
1083#define MSR_GOLDMONT_PEBS_ENABLE 0x000003F1
1084
1088typedef union {
1092 struct {
1097 UINT32 Enable : 1;
1098 UINT32 Reserved1 : 31;
1099 UINT32 Reserved2 : 32;
1100 } Bits;
1104 UINT32 Uint32;
1108 UINT64 Uint64;
1110
1130#define MSR_GOLDMONT_PKG_C3_RESIDENCY 0x000003F8
1131
1151#define MSR_GOLDMONT_PKG_C6_RESIDENCY 0x000003F9
1152
1172#define MSR_GOLDMONT_CORE_C3_RESIDENCY 0x000003FC
1173
1193#define MSR_GOLDMONT_SMM_FEATURE_CONTROL 0x000004E0
1194
1198typedef union {
1202 struct {
1207 UINT32 Lock : 1;
1208 UINT32 Reserved1 : 1;
1218 UINT32 Reserved2 : 29;
1219 UINT32 Reserved3 : 32;
1220 } Bits;
1224 UINT32 Uint32;
1228 UINT64 Uint64;
1230
1251#define MSR_GOLDMONT_SMM_DELAYED 0x000004E2
1252
1272#define MSR_GOLDMONT_SMM_BLOCKED 0x000004E3
1273
1292#define MSR_IA32_RTIT_CTL 0x00000570
1293
1297typedef union {
1301 struct {
1305 UINT32 TraceEn : 1;
1309 UINT32 CYCEn : 1;
1313 UINT32 OS : 1;
1317 UINT32 User : 1;
1318 UINT32 Reserved1 : 3;
1322 UINT32 CR3 : 1;
1326 UINT32 ToPA : 1;
1330 UINT32 MTCEn : 1;
1334 UINT32 TSCEn : 1;
1338 UINT32 DisRETC : 1;
1339 UINT32 Reserved2 : 1;
1343 UINT32 BranchEn : 1;
1347 UINT32 MTCFreq : 4;
1348 UINT32 Reserved3 : 1;
1352 UINT32 CYCThresh : 4;
1353 UINT32 Reserved4 : 1;
1357 UINT32 PSBFreq : 4;
1358 UINT32 Reserved5 : 4;
1362 UINT32 ADDR0_CFG : 4;
1366 UINT32 ADDR1_CFG : 4;
1367 UINT32 Reserved6 : 24;
1368 } Bits;
1372 UINT64 Uint64;
1374
1393#define MSR_GOLDMONT_RAPL_POWER_UNIT 0x00000606
1394
1398typedef union {
1402 struct {
1409 UINT32 PowerUnits : 4;
1410 UINT32 Reserved1 : 4;
1418 UINT32 Reserved2 : 3;
1425 UINT32 TimeUnit : 4;
1426 UINT32 Reserved3 : 12;
1427 UINT32 Reserved4 : 32;
1428 } Bits;
1432 UINT32 Uint32;
1436 UINT64 Uint64;
1438
1459#define MSR_GOLDMONT_PKGC3_IRTL 0x0000060A
1460
1464typedef union {
1468 struct {
1480 UINT32 TimeUnit : 3;
1481 UINT32 Reserved1 : 2;
1486 UINT32 Valid : 1;
1487 UINT32 Reserved2 : 16;
1488 UINT32 Reserved3 : 32;
1489 } Bits;
1493 UINT32 Uint32;
1497 UINT64 Uint64;
1499
1522#define MSR_GOLDMONT_PKGC_IRTL1 0x0000060B
1523
1527typedef union {
1531 struct {
1543 UINT32 TimeUnit : 3;
1544 UINT32 Reserved1 : 2;
1549 UINT32 Valid : 1;
1550 UINT32 Reserved2 : 16;
1551 UINT32 Reserved3 : 32;
1552 } Bits;
1556 UINT32 Uint32;
1560 UINT64 Uint64;
1562
1584#define MSR_GOLDMONT_PKGC_IRTL2 0x0000060C
1585
1589typedef union {
1593 struct {
1605 UINT32 TimeUnit : 3;
1606 UINT32 Reserved1 : 2;
1611 UINT32 Valid : 1;
1612 UINT32 Reserved2 : 16;
1613 UINT32 Reserved3 : 32;
1614 } Bits;
1618 UINT32 Uint32;
1622 UINT64 Uint64;
1624
1644#define MSR_GOLDMONT_PKG_C2_RESIDENCY 0x0000060D
1645
1663#define MSR_GOLDMONT_PKG_POWER_LIMIT 0x00000610
1664
1680#define MSR_GOLDMONT_PKG_ENERGY_STATUS 0x00000611
1681
1697#define MSR_GOLDMONT_PKG_PERF_STATUS 0x00000613
1698
1717#define MSR_GOLDMONT_PKG_POWER_INFO 0x00000614
1718
1722typedef union {
1726 struct {
1731 UINT32 ThermalSpecPower : 15;
1732 UINT32 Reserved1 : 1;
1737 UINT32 MinimumPower : 15;
1738 UINT32 Reserved2 : 1;
1743 UINT32 MaximumPower : 15;
1744 UINT32 Reserved3 : 1;
1753 UINT32 Reserved4 : 9;
1754 } Bits;
1758 UINT64 Uint64;
1760
1778#define MSR_GOLDMONT_DRAM_POWER_LIMIT 0x00000618
1779
1795#define MSR_GOLDMONT_DRAM_ENERGY_STATUS 0x00000619
1796
1813#define MSR_GOLDMONT_DRAM_PERF_STATUS 0x0000061B
1814
1831#define MSR_GOLDMONT_DRAM_POWER_INFO 0x0000061C
1832
1851#define MSR_GOLDMONT_PKG_C10_RESIDENCY 0x00000632
1852
1869#define MSR_GOLDMONT_PP0_ENERGY_STATUS 0x00000639
1870
1887#define MSR_GOLDMONT_PP1_ENERGY_STATUS 0x00000641
1888
1907#define MSR_GOLDMONT_TURBO_ACTIVATION_RATIO 0x0000064C
1908
1912typedef union {
1916 struct {
1922 UINT32 Reserved1 : 23;
1928 UINT32 Reserved2 : 32;
1929 } Bits;
1933 UINT32 Uint32;
1937 UINT64 Uint64;
1939
1959#define MSR_GOLDMONT_CORE_PERF_LIMIT_REASONS 0x0000064F
1960
1964typedef union {
1968 struct {
1974 UINT32 PROCHOTStatus : 1;
1979 UINT32 ThermalStatus : 1;
1985 UINT32 PL1Status : 1;
1991 UINT32 PL2Status : 1;
1992 UINT32 Reserved1 : 5;
2027 UINT32 Reserved2 : 1;
2033 UINT32 PROCHOT : 1;
2039 UINT32 ThermalLog : 1;
2046 UINT32 PL1Log : 1;
2053 UINT32 PL2Log : 1;
2054 UINT32 Reserved3 : 5;
2094 UINT32 Reserved4 : 1;
2095 UINT32 Reserved5 : 32;
2096 } Bits;
2100 UINT32 Uint32;
2104 UINT64 Uint64;
2106
2161#define MSR_GOLDMONT_LASTBRANCH_0_FROM_IP 0x00000680
2162#define MSR_GOLDMONT_LASTBRANCH_1_FROM_IP 0x00000681
2163#define MSR_GOLDMONT_LASTBRANCH_2_FROM_IP 0x00000682
2164#define MSR_GOLDMONT_LASTBRANCH_3_FROM_IP 0x00000683
2165#define MSR_GOLDMONT_LASTBRANCH_4_FROM_IP 0x00000684
2166#define MSR_GOLDMONT_LASTBRANCH_5_FROM_IP 0x00000685
2167#define MSR_GOLDMONT_LASTBRANCH_6_FROM_IP 0x00000686
2168#define MSR_GOLDMONT_LASTBRANCH_7_FROM_IP 0x00000687
2169#define MSR_GOLDMONT_LASTBRANCH_8_FROM_IP 0x00000688
2170#define MSR_GOLDMONT_LASTBRANCH_9_FROM_IP 0x00000689
2171#define MSR_GOLDMONT_LASTBRANCH_10_FROM_IP 0x0000068A
2172#define MSR_GOLDMONT_LASTBRANCH_11_FROM_IP 0x0000068B
2173#define MSR_GOLDMONT_LASTBRANCH_12_FROM_IP 0x0000068C
2174#define MSR_GOLDMONT_LASTBRANCH_13_FROM_IP 0x0000068D
2175#define MSR_GOLDMONT_LASTBRANCH_14_FROM_IP 0x0000068E
2176#define MSR_GOLDMONT_LASTBRANCH_15_FROM_IP 0x0000068F
2177#define MSR_GOLDMONT_LASTBRANCH_16_FROM_IP 0x00000690
2178#define MSR_GOLDMONT_LASTBRANCH_17_FROM_IP 0x00000691
2179#define MSR_GOLDMONT_LASTBRANCH_18_FROM_IP 0x00000692
2180#define MSR_GOLDMONT_LASTBRANCH_19_FROM_IP 0x00000693
2181#define MSR_GOLDMONT_LASTBRANCH_20_FROM_IP 0x00000694
2182#define MSR_GOLDMONT_LASTBRANCH_21_FROM_IP 0x00000695
2183#define MSR_GOLDMONT_LASTBRANCH_22_FROM_IP 0x00000696
2184#define MSR_GOLDMONT_LASTBRANCH_23_FROM_IP 0x00000697
2185#define MSR_GOLDMONT_LASTBRANCH_24_FROM_IP 0x00000698
2186#define MSR_GOLDMONT_LASTBRANCH_25_FROM_IP 0x00000699
2187#define MSR_GOLDMONT_LASTBRANCH_26_FROM_IP 0x0000069A
2188#define MSR_GOLDMONT_LASTBRANCH_27_FROM_IP 0x0000069B
2189#define MSR_GOLDMONT_LASTBRANCH_28_FROM_IP 0x0000069C
2190#define MSR_GOLDMONT_LASTBRANCH_29_FROM_IP 0x0000069D
2191#define MSR_GOLDMONT_LASTBRANCH_30_FROM_IP 0x0000069E
2192#define MSR_GOLDMONT_LASTBRANCH_31_FROM_IP 0x0000069F
2194
2199typedef union {
2203 struct {
2215 UINT32 SignedExtension : 15;
2219 UINT32 Mispred : 1;
2220 } Bits;
2224 UINT32 Uint32;
2228 UINT64 Uint64;
2230
2284#define MSR_GOLDMONT_LASTBRANCH_0_TO_IP 0x000006C0
2285#define MSR_GOLDMONT_LASTBRANCH_1_TO_IP 0x000006C1
2286#define MSR_GOLDMONT_LASTBRANCH_2_TO_IP 0x000006C2
2287#define MSR_GOLDMONT_LASTBRANCH_3_TO_IP 0x000006C3
2288#define MSR_GOLDMONT_LASTBRANCH_4_TO_IP 0x000006C4
2289#define MSR_GOLDMONT_LASTBRANCH_5_TO_IP 0x000006C5
2290#define MSR_GOLDMONT_LASTBRANCH_6_TO_IP 0x000006C6
2291#define MSR_GOLDMONT_LASTBRANCH_7_TO_IP 0x000006C7
2292#define MSR_GOLDMONT_LASTBRANCH_8_TO_IP 0x000006C8
2293#define MSR_GOLDMONT_LASTBRANCH_9_TO_IP 0x000006C9
2294#define MSR_GOLDMONT_LASTBRANCH_10_TO_IP 0x000006CA
2295#define MSR_GOLDMONT_LASTBRANCH_11_TO_IP 0x000006CB
2296#define MSR_GOLDMONT_LASTBRANCH_12_TO_IP 0x000006CC
2297#define MSR_GOLDMONT_LASTBRANCH_13_TO_IP 0x000006CD
2298#define MSR_GOLDMONT_LASTBRANCH_14_TO_IP 0x000006CE
2299#define MSR_GOLDMONT_LASTBRANCH_15_TO_IP 0x000006CF
2300#define MSR_GOLDMONT_LASTBRANCH_16_TO_IP 0x000006D0
2301#define MSR_GOLDMONT_LASTBRANCH_17_TO_IP 0x000006D1
2302#define MSR_GOLDMONT_LASTBRANCH_18_TO_IP 0x000006D2
2303#define MSR_GOLDMONT_LASTBRANCH_19_TO_IP 0x000006D3
2304#define MSR_GOLDMONT_LASTBRANCH_20_TO_IP 0x000006D4
2305#define MSR_GOLDMONT_LASTBRANCH_21_TO_IP 0x000006D5
2306#define MSR_GOLDMONT_LASTBRANCH_22_TO_IP 0x000006D6
2307#define MSR_GOLDMONT_LASTBRANCH_23_TO_IP 0x000006D7
2308#define MSR_GOLDMONT_LASTBRANCH_24_TO_IP 0x000006D8
2309#define MSR_GOLDMONT_LASTBRANCH_25_TO_IP 0x000006D9
2310#define MSR_GOLDMONT_LASTBRANCH_26_TO_IP 0x000006DA
2311#define MSR_GOLDMONT_LASTBRANCH_27_TO_IP 0x000006DB
2312#define MSR_GOLDMONT_LASTBRANCH_28_TO_IP 0x000006DC
2313#define MSR_GOLDMONT_LASTBRANCH_29_TO_IP 0x000006DD
2314#define MSR_GOLDMONT_LASTBRANCH_30_TO_IP 0x000006DE
2315#define MSR_GOLDMONT_LASTBRANCH_31_TO_IP 0x000006DF
2317
2322typedef union {
2326 struct {
2338 UINT32 ElapsedCycles : 16;
2339 } Bits;
2343 UINT32 Uint32;
2347 UINT64 Uint64;
2349
2368#define MSR_GOLDMONT_IA32_PQR_ASSOC 0x00000C8F
2369
2373typedef union {
2377 struct {
2378 UINT32 Reserved1 : 32;
2382 UINT32 COS : 2;
2383 UINT32 Reserved2 : 30;
2384 } Bits;
2388 UINT64 Uint64;
2390
2413#define MSR_GOLDMONT_IA32_L2_QOS_MASK_0 0x00000D10
2414#define MSR_GOLDMONT_IA32_L2_QOS_MASK_1 0x00000D11
2415#define MSR_GOLDMONT_IA32_L2_QOS_MASK_2 0x00000D12
2417
2422typedef union {
2426 struct {
2430 UINT32 CBM : 8;
2431 UINT32 Reserved1 : 24;
2432 UINT32 Reserved2 : 32;
2433 } Bits;
2437 UINT32 Uint32;
2441 UINT64 Uint64;
2443
2463#define MSR_GOLDMONT_IA32_L2_QOS_MASK_3 0x00000D13
2464
2468typedef union {
2472 struct {
2476 UINT32 CBM : 20;
2477 UINT32 Reserved1 : 12;
2478 UINT32 Reserved2 : 32;
2479 } Bits;
2483 UINT32 Uint32;
2487 UINT64 Uint64;
2489
2490#endif