TianoCore EDK2 master
SandyBridgeMsr.h
Go to the documentation of this file.
1
18#ifndef __SANDY_BRIDGE_MSR_H__
19#define __SANDY_BRIDGE_MSR_H__
20
22
32#define IS_SANDY_BRIDGE_PROCESSOR(DisplayFamily, DisplayModel) \
33 (DisplayFamily == 0x06 && \
34 ( \
35 DisplayModel == 0x2A || \
36 DisplayModel == 0x2D \
37 ) \
38 )
39
57#define MSR_SANDY_BRIDGE_SMI_COUNT 0x00000034
58
62typedef union {
66 struct {
70 UINT32 SMICount : 32;
71 UINT32 Reserved : 32;
72 } Bits;
76 UINT32 Uint32;
80 UINT64 Uint64;
82
102#define MSR_SANDY_BRIDGE_PLATFORM_INFO 0x000000CE
103
107typedef union {
111 struct {
112 UINT32 Reserved1 : 8;
119 UINT32 Reserved2 : 12;
126 UINT32 RatioLimit : 1;
133 UINT32 TDPLimit : 1;
134 UINT32 Reserved3 : 2;
135 UINT32 Reserved4 : 8;
142 UINT32 Reserved5 : 16;
143 } Bits;
147 UINT64 Uint64;
149
170#define MSR_SANDY_BRIDGE_PKG_CST_CONFIG_CONTROL 0x000000E2
171
176typedef union {
180 struct {
190 UINT32 Limit : 3;
191 UINT32 Reserved1 : 7;
197 UINT32 IO_MWAIT : 1;
198 UINT32 Reserved2 : 4;
203 UINT32 CFGLock : 1;
204 UINT32 Reserved3 : 9;
210 UINT32 C3AutoDemotion : 1;
216 UINT32 C1AutoDemotion : 1;
221 UINT32 C3Undemotion : 1;
226 UINT32 C1Undemotion : 1;
227 UINT32 Reserved4 : 3;
228 UINT32 Reserved5 : 32;
229 } Bits;
233 UINT32 Uint32;
237 UINT64 Uint64;
239
259#define MSR_SANDY_BRIDGE_PMG_IO_CAPTURE_BASE 0x000000E4
260
264typedef union {
268 struct {
277 UINT32 Lvl2Base : 16;
285 UINT32 CStateRange : 3;
286 UINT32 Reserved1 : 13;
287 UINT32 Reserved2 : 32;
288 } Bits;
292 UINT32 Uint32;
296 UINT64 Uint64;
298
318#define MSR_SANDY_BRIDGE_FEATURE_CONFIG 0x0000013C
319
323typedef union {
327 struct {
338 UINT32 Reserved1 : 30;
339 UINT32 Reserved2 : 32;
340 } Bits;
344 UINT32 Uint32;
348 UINT64 Uint64;
350
371#define MSR_SANDY_BRIDGE_IA32_PERFEVTSEL4 0x0000018A
372#define MSR_SANDY_BRIDGE_IA32_PERFEVTSEL5 0x0000018B
373#define MSR_SANDY_BRIDGE_IA32_PERFEVTSEL6 0x0000018C
374#define MSR_SANDY_BRIDGE_IA32_PERFEVTSEL7 0x0000018D
376
395#define MSR_SANDY_BRIDGE_PERF_STATUS 0x00000198
396
400typedef union {
404 struct {
405 UINT32 Reserved1 : 32;
410 UINT32 CoreVoltage : 16;
411 UINT32 Reserved2 : 16;
412 } Bits;
416 UINT64 Uint64;
418
438#define MSR_SANDY_BRIDGE_IA32_CLOCK_MODULATION 0x0000019A
439
444typedef union {
448 struct {
458 UINT32 Reserved1 : 27;
459 UINT32 Reserved2 : 32;
460 } Bits;
464 UINT32 Uint32;
468 UINT64 Uint64;
470
490#define MSR_SANDY_BRIDGE_IA32_MISC_ENABLE 0x000001A0
491
495typedef union {
499 struct {
503 UINT32 FastStrings : 1;
504 UINT32 Reserved1 : 6;
509 UINT32 Reserved2 : 3;
513 UINT32 BTS : 1;
518 UINT32 PEBS : 1;
519 UINT32 Reserved3 : 3;
524 UINT32 EIST : 1;
525 UINT32 Reserved4 : 1;
529 UINT32 MONITOR : 1;
530 UINT32 Reserved5 : 3;
539 UINT32 Reserved6 : 8;
540 UINT32 Reserved7 : 2;
544 UINT32 XD : 1;
545 UINT32 Reserved8 : 3;
558 UINT32 Reserved9 : 25;
559 } Bits;
563 UINT64 Uint64;
565
584#define MSR_SANDY_BRIDGE_TEMPERATURE_TARGET 0x000001A2
585
589typedef union {
593 struct {
594 UINT32 Reserved1 : 16;
600 UINT32 Reserved2 : 8;
601 UINT32 Reserved3 : 32;
602 } Bits;
606 UINT32 Uint32;
610 UINT64 Uint64;
612
631#define MSR_SANDY_BRIDGE_MISC_FEATURE_CONTROL 0x000001A4
632
636typedef union {
640 struct {
666 UINT32 Reserved1 : 28;
667 UINT32 Reserved2 : 32;
668 } Bits;
672 UINT32 Uint32;
676 UINT64 Uint64;
678
695#define MSR_SANDY_BRIDGE_OFFCORE_RSP_0 0x000001A6
696
713#define MSR_SANDY_BRIDGE_OFFCORE_RSP_1 0x000001A7
714
731#define MSR_SANDY_BRIDGE_MISC_PWR_MGMT 0x000001AA
732
752#define MSR_SANDY_BRIDGE_LBR_SELECT 0x000001C8
753
757typedef union {
761 struct {
765 UINT32 CPL_EQ_0 : 1;
769 UINT32 CPL_NEQ_0 : 1;
773 UINT32 JCC : 1;
777 UINT32 NEAR_REL_CALL : 1;
781 UINT32 NEAR_IND_CALL : 1;
785 UINT32 NEAR_RET : 1;
789 UINT32 NEAR_IND_JMP : 1;
793 UINT32 NEAR_REL_JMP : 1;
797 UINT32 FAR_BRANCH : 1;
798 UINT32 Reserved1 : 23;
799 UINT32 Reserved2 : 32;
800 } Bits;
804 UINT32 Uint32;
808 UINT64 Uint64;
810
829#define MSR_SANDY_BRIDGE_LASTBRANCH_TOS 0x000001C9
830
848#define MSR_SANDY_BRIDGE_LER_FROM_LIP 0x000001DD
849
868#define MSR_SANDY_BRIDGE_LER_TO_LIP 0x000001DE
869
886#define MSR_SANDY_BRIDGE_POWER_CTL 0x000001FC
887
904#define MSR_SANDY_BRIDGE_IA32_MC4_CTL2 0x00000284
905
924#define MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_STATUS 0x0000038E
925
930typedef union {
934 struct {
938 UINT32 Ovf_PMC0 : 1;
942 UINT32 Ovf_PMC1 : 1;
946 UINT32 Ovf_PMC2 : 1;
950 UINT32 Ovf_PMC3 : 1;
954 UINT32 Ovf_PMC4 : 1;
958 UINT32 Ovf_PMC5 : 1;
962 UINT32 Ovf_PMC6 : 1;
966 UINT32 Ovf_PMC7 : 1;
967 UINT32 Reserved1 : 24;
971 UINT32 Ovf_FixedCtr0 : 1;
975 UINT32 Ovf_FixedCtr1 : 1;
979 UINT32 Ovf_FixedCtr2 : 1;
980 UINT32 Reserved2 : 26;
984 UINT32 Ovf_Uncore : 1;
988 UINT32 Ovf_BufDSSAVE : 1;
992 UINT32 CondChgd : 1;
993 } Bits;
997 UINT64 Uint64;
999
1019#define MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_CTRL 0x0000038F
1020
1025typedef union {
1029 struct {
1033 UINT32 PCM0_EN : 1;
1037 UINT32 PCM1_EN : 1;
1041 UINT32 PCM2_EN : 1;
1045 UINT32 PCM3_EN : 1;
1050 UINT32 PCM4_EN : 1;
1055 UINT32 PCM5_EN : 1;
1060 UINT32 PCM6_EN : 1;
1065 UINT32 PCM7_EN : 1;
1066 UINT32 Reserved1 : 24;
1070 UINT32 FIXED_CTR0 : 1;
1074 UINT32 FIXED_CTR1 : 1;
1078 UINT32 FIXED_CTR2 : 1;
1079 UINT32 Reserved2 : 29;
1080 } Bits;
1084 UINT64 Uint64;
1086
1105#define MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_OVF_CTRL 0x00000390
1106
1111typedef union {
1115 struct {
1119 UINT32 Ovf_PMC0 : 1;
1123 UINT32 Ovf_PMC1 : 1;
1127 UINT32 Ovf_PMC2 : 1;
1131 UINT32 Ovf_PMC3 : 1;
1135 UINT32 Ovf_PMC4 : 1;
1139 UINT32 Ovf_PMC5 : 1;
1143 UINT32 Ovf_PMC6 : 1;
1147 UINT32 Ovf_PMC7 : 1;
1148 UINT32 Reserved1 : 24;
1152 UINT32 Ovf_FixedCtr0 : 1;
1156 UINT32 Ovf_FixedCtr1 : 1;
1160 UINT32 Ovf_FixedCtr2 : 1;
1161 UINT32 Reserved2 : 26;
1165 UINT32 Ovf_Uncore : 1;
1169 UINT32 Ovf_BufDSSAVE : 1;
1173 UINT32 CondChgd : 1;
1174 } Bits;
1178 UINT64 Uint64;
1180
1199#define MSR_SANDY_BRIDGE_PEBS_ENABLE 0x000003F1
1200
1204typedef union {
1208 struct {
1212 UINT32 PEBS_EN_PMC0 : 1;
1216 UINT32 PEBS_EN_PMC1 : 1;
1220 UINT32 PEBS_EN_PMC2 : 1;
1224 UINT32 PEBS_EN_PMC3 : 1;
1225 UINT32 Reserved1 : 28;
1229 UINT32 LL_EN_PMC0 : 1;
1233 UINT32 LL_EN_PMC1 : 1;
1237 UINT32 LL_EN_PMC2 : 1;
1241 UINT32 LL_EN_PMC3 : 1;
1242 UINT32 Reserved2 : 27;
1246 UINT32 PS_EN : 1;
1247 } Bits;
1251 UINT64 Uint64;
1253
1273#define MSR_SANDY_BRIDGE_PEBS_LD_LAT 0x000003F6
1274
1278typedef union {
1282 struct {
1287 UINT32 MinimumThreshold : 16;
1288 UINT32 Reserved1 : 16;
1289 UINT32 Reserved2 : 32;
1290 } Bits;
1294 UINT32 Uint32;
1298 UINT64 Uint64;
1300
1320#define MSR_SANDY_BRIDGE_PKG_C3_RESIDENCY 0x000003F8
1321
1341#define MSR_SANDY_BRIDGE_PKG_C6_RESIDENCY 0x000003F9
1342
1362#define MSR_SANDY_BRIDGE_PKG_C7_RESIDENCY 0x000003FA
1363
1383#define MSR_SANDY_BRIDGE_CORE_C3_RESIDENCY 0x000003FC
1384
1404#define MSR_SANDY_BRIDGE_CORE_C6_RESIDENCY 0x000003FD
1405
1425#define MSR_SANDY_BRIDGE_CORE_C7_RESIDENCY 0x000003FE
1426
1445#define MSR_SANDY_BRIDGE_IA32_MC4_CTL 0x00000410
1446
1450typedef union {
1454 struct {
1470 UINT32 Reserved1 : 29;
1471 UINT32 Reserved2 : 32;
1472 } Bits;
1476 UINT32 Uint32;
1480 UINT64 Uint64;
1482
1498#define MSR_SANDY_BRIDGE_IA32_VMX_EPT_VPID_ENUM 0x0000048C
1499
1516#define MSR_SANDY_BRIDGE_RAPL_POWER_UNIT 0x00000606
1517
1538#define MSR_SANDY_BRIDGE_PKGC3_IRTL 0x0000060A
1539
1543typedef union {
1547 struct {
1553 UINT32 TimeLimit : 10;
1560 UINT32 TimeUnit : 3;
1561 UINT32 Reserved1 : 2;
1566 UINT32 Valid : 1;
1567 UINT32 Reserved2 : 16;
1568 UINT32 Reserved3 : 32;
1569 } Bits;
1573 UINT32 Uint32;
1577 UINT64 Uint64;
1579
1603#define MSR_SANDY_BRIDGE_PKGC6_IRTL 0x0000060B
1604
1608typedef union {
1612 struct {
1618 UINT32 TimeLimit : 10;
1625 UINT32 TimeUnit : 3;
1626 UINT32 Reserved1 : 2;
1631 UINT32 Valid : 1;
1632 UINT32 Reserved2 : 16;
1633 UINT32 Reserved3 : 32;
1634 } Bits;
1638 UINT32 Uint32;
1642 UINT64 Uint64;
1644
1664#define MSR_SANDY_BRIDGE_PKG_C2_RESIDENCY 0x0000060D
1665
1683#define MSR_SANDY_BRIDGE_PKG_POWER_LIMIT 0x00000610
1684
1700#define MSR_SANDY_BRIDGE_PKG_ENERGY_STATUS 0x00000611
1701
1719#define MSR_SANDY_BRIDGE_PKG_POWER_INFO 0x00000614
1720
1738#define MSR_SANDY_BRIDGE_PP0_POWER_LIMIT 0x00000638
1739
1756#define MSR_SANDY_BRIDGE_PP0_ENERGY_STATUS 0x00000639
1757
1794#define MSR_SANDY_BRIDGE_LASTBRANCH_0_FROM_IP 0x00000680
1795#define MSR_SANDY_BRIDGE_LASTBRANCH_1_FROM_IP 0x00000681
1796#define MSR_SANDY_BRIDGE_LASTBRANCH_2_FROM_IP 0x00000682
1797#define MSR_SANDY_BRIDGE_LASTBRANCH_3_FROM_IP 0x00000683
1798#define MSR_SANDY_BRIDGE_LASTBRANCH_4_FROM_IP 0x00000684
1799#define MSR_SANDY_BRIDGE_LASTBRANCH_5_FROM_IP 0x00000685
1800#define MSR_SANDY_BRIDGE_LASTBRANCH_6_FROM_IP 0x00000686
1801#define MSR_SANDY_BRIDGE_LASTBRANCH_7_FROM_IP 0x00000687
1802#define MSR_SANDY_BRIDGE_LASTBRANCH_8_FROM_IP 0x00000688
1803#define MSR_SANDY_BRIDGE_LASTBRANCH_9_FROM_IP 0x00000689
1804#define MSR_SANDY_BRIDGE_LASTBRANCH_10_FROM_IP 0x0000068A
1805#define MSR_SANDY_BRIDGE_LASTBRANCH_11_FROM_IP 0x0000068B
1806#define MSR_SANDY_BRIDGE_LASTBRANCH_12_FROM_IP 0x0000068C
1807#define MSR_SANDY_BRIDGE_LASTBRANCH_13_FROM_IP 0x0000068D
1808#define MSR_SANDY_BRIDGE_LASTBRANCH_14_FROM_IP 0x0000068E
1809#define MSR_SANDY_BRIDGE_LASTBRANCH_15_FROM_IP 0x0000068F
1811
1846#define MSR_SANDY_BRIDGE_LASTBRANCH_0_TO_IP 0x000006C0
1847#define MSR_SANDY_BRIDGE_LASTBRANCH_1_TO_IP 0x000006C1
1848#define MSR_SANDY_BRIDGE_LASTBRANCH_2_TO_IP 0x000006C2
1849#define MSR_SANDY_BRIDGE_LASTBRANCH_3_TO_IP 0x000006C3
1850#define MSR_SANDY_BRIDGE_LASTBRANCH_4_TO_IP 0x000006C4
1851#define MSR_SANDY_BRIDGE_LASTBRANCH_5_TO_IP 0x000006C5
1852#define MSR_SANDY_BRIDGE_LASTBRANCH_6_TO_IP 0x000006C6
1853#define MSR_SANDY_BRIDGE_LASTBRANCH_7_TO_IP 0x000006C7
1854#define MSR_SANDY_BRIDGE_LASTBRANCH_8_TO_IP 0x000006C8
1855#define MSR_SANDY_BRIDGE_LASTBRANCH_9_TO_IP 0x000006C9
1856#define MSR_SANDY_BRIDGE_LASTBRANCH_10_TO_IP 0x000006CA
1857#define MSR_SANDY_BRIDGE_LASTBRANCH_11_TO_IP 0x000006CB
1858#define MSR_SANDY_BRIDGE_LASTBRANCH_12_TO_IP 0x000006CC
1859#define MSR_SANDY_BRIDGE_LASTBRANCH_13_TO_IP 0x000006CD
1860#define MSR_SANDY_BRIDGE_LASTBRANCH_14_TO_IP 0x000006CE
1861#define MSR_SANDY_BRIDGE_LASTBRANCH_15_TO_IP 0x000006CF
1863
1882#define MSR_SANDY_BRIDGE_TURBO_RATIO_LIMIT 0x000001AD
1883
1887typedef union {
1891 struct {
1896 UINT32 Maximum1C : 8;
1901 UINT32 Maximum2C : 8;
1906 UINT32 Maximum3C : 8;
1911 UINT32 Maximum4C : 8;
1916 UINT32 Maximum5C : 8;
1921 UINT32 Maximum6C : 8;
1926 UINT32 Maximum7C : 8;
1931 UINT32 Maximum8C : 8;
1932 } Bits;
1936 UINT64 Uint64;
1938
1957#define MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_CTRL 0x00000391
1958
1962typedef union {
1966 struct {
1970 UINT32 PMI_Sel_Slice0 : 1;
1974 UINT32 PMI_Sel_Slice1 : 1;
1978 UINT32 PMI_Sel_Slice2 : 1;
1982 UINT32 PMI_Sel_Slice3 : 1;
1986 UINT32 PMI_Sel_Slice4 : 1;
1987 UINT32 Reserved1 : 14;
1988 UINT32 Reserved2 : 10;
1992 UINT32 EN : 1;
1996 UINT32 WakePMI : 1;
2000 UINT32 FREEZE : 1;
2001 UINT32 Reserved3 : 32;
2002 } Bits;
2006 UINT32 Uint32;
2010 UINT64 Uint64;
2012
2031#define MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_STATUS 0x00000392
2032
2037typedef union {
2041 struct {
2045 UINT32 Fixed : 1;
2049 UINT32 ARB : 1;
2050 UINT32 Reserved1 : 1;
2054 UINT32 CBox : 1;
2055 UINT32 Reserved2 : 28;
2056 UINT32 Reserved3 : 32;
2057 } Bits;
2061 UINT32 Uint32;
2065 UINT64 Uint64;
2067
2086#define MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTRL 0x00000394
2087
2091typedef union {
2095 struct {
2096 UINT32 Reserved1 : 20;
2100 UINT32 EnableOverflow : 1;
2101 UINT32 Reserved2 : 1;
2105 UINT32 EnableCounting : 1;
2106 UINT32 Reserved3 : 9;
2107 UINT32 Reserved4 : 32;
2108 } Bits;
2112 UINT32 Uint32;
2116 UINT64 Uint64;
2118
2137#define MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTR 0x00000395
2138
2142typedef union {
2146 struct {
2150 UINT32 CurrentCount : 32;
2154 UINT32 CurrentCountHi : 16;
2155 UINT32 Reserved : 16;
2156 } Bits;
2160 UINT64 Uint64;
2162
2180#define MSR_SANDY_BRIDGE_UNC_CBO_CONFIG 0x00000396
2181
2185typedef union {
2189 struct {
2194 UINT32 CBox : 4;
2195 UINT32 Reserved1 : 28;
2196 UINT32 Reserved2 : 32;
2197 } Bits;
2201 UINT32 Uint32;
2205 UINT64 Uint64;
2207
2224#define MSR_SANDY_BRIDGE_UNC_ARB_PERFCTR0 0x000003B0
2225
2242#define MSR_SANDY_BRIDGE_UNC_ARB_PERFCTR1 0x000003B1
2243
2260#define MSR_SANDY_BRIDGE_UNC_ARB_PERFEVTSEL0 0x000003B2
2261
2278#define MSR_SANDY_BRIDGE_UNC_ARB_PERFEVTSEL1 0x000003B3
2279
2303#define MSR_SANDY_BRIDGE_PKGC7_IRTL 0x0000060C
2304
2308typedef union {
2312 struct {
2318 UINT32 TimeLimit : 10;
2325 UINT32 TimeUnit : 3;
2326 UINT32 Reserved1 : 2;
2331 UINT32 Valid : 1;
2332 UINT32 Reserved2 : 16;
2333 UINT32 Reserved3 : 32;
2334 } Bits;
2338 UINT32 Uint32;
2342 UINT64 Uint64;
2344
2362#define MSR_SANDY_BRIDGE_PP0_POLICY 0x0000063A
2363
2381#define MSR_SANDY_BRIDGE_PP1_POWER_LIMIT 0x00000640
2382
2399#define MSR_SANDY_BRIDGE_PP1_ENERGY_STATUS 0x00000641
2400
2418#define MSR_SANDY_BRIDGE_PP1_POLICY 0x00000642
2419
2440#define MSR_SANDY_BRIDGE_UNC_CBO_0_PERFEVTSEL0 0x00000700
2441#define MSR_SANDY_BRIDGE_UNC_CBO_0_PERFEVTSEL1 0x00000701
2442#define MSR_SANDY_BRIDGE_UNC_CBO_0_PERFEVTSEL2 0x00000702
2443#define MSR_SANDY_BRIDGE_UNC_CBO_0_PERFEVTSEL3 0x00000703
2445
2467#define MSR_SANDY_BRIDGE_UNC_CBO_0_UNIT_STATUS 0x00000705
2468#define MSR_SANDY_BRIDGE_UNC_CBO_1_UNIT_STATUS 0x00000715
2469#define MSR_SANDY_BRIDGE_UNC_CBO_2_UNIT_STATUS 0x00000725
2470#define MSR_SANDY_BRIDGE_UNC_CBO_3_UNIT_STATUS 0x00000735
2471#define MSR_SANDY_BRIDGE_UNC_CBO_4_UNIT_STATUS 0x00000745
2473
2494#define MSR_SANDY_BRIDGE_UNC_CBO_0_PERFCTR0 0x00000706
2495#define MSR_SANDY_BRIDGE_UNC_CBO_0_PERFCTR1 0x00000707
2496#define MSR_SANDY_BRIDGE_UNC_CBO_0_PERFCTR2 0x00000708
2497#define MSR_SANDY_BRIDGE_UNC_CBO_0_PERFCTR3 0x00000709
2499
2520#define MSR_SANDY_BRIDGE_UNC_CBO_1_PERFEVTSEL0 0x00000710
2521#define MSR_SANDY_BRIDGE_UNC_CBO_1_PERFEVTSEL1 0x00000711
2522#define MSR_SANDY_BRIDGE_UNC_CBO_1_PERFEVTSEL2 0x00000712
2523#define MSR_SANDY_BRIDGE_UNC_CBO_1_PERFEVTSEL3 0x00000713
2525
2546#define MSR_SANDY_BRIDGE_UNC_CBO_1_PERFCTR0 0x00000716
2547#define MSR_SANDY_BRIDGE_UNC_CBO_1_PERFCTR1 0x00000717
2548#define MSR_SANDY_BRIDGE_UNC_CBO_1_PERFCTR2 0x00000718
2549#define MSR_SANDY_BRIDGE_UNC_CBO_1_PERFCTR3 0x00000719
2551
2572#define MSR_SANDY_BRIDGE_UNC_CBO_2_PERFEVTSEL0 0x00000720
2573#define MSR_SANDY_BRIDGE_UNC_CBO_2_PERFEVTSEL1 0x00000721
2574#define MSR_SANDY_BRIDGE_UNC_CBO_2_PERFEVTSEL2 0x00000722
2575#define MSR_SANDY_BRIDGE_UNC_CBO_2_PERFEVTSEL3 0x00000723
2577
2598#define MSR_SANDY_BRIDGE_UNC_CBO_2_PERFCTR0 0x00000726
2599#define MSR_SANDY_BRIDGE_UNC_CBO_2_PERFCTR1 0x00000727
2600#define MSR_SANDY_BRIDGE_UNC_CBO_2_PERFCTR2 0x00000728
2601#define MSR_SANDY_BRIDGE_UNC_CBO_2_PERFCTR3 0x00000729
2603
2624#define MSR_SANDY_BRIDGE_UNC_CBO_3_PERFEVTSEL0 0x00000730
2625#define MSR_SANDY_BRIDGE_UNC_CBO_3_PERFEVTSEL1 0x00000731
2626#define MSR_SANDY_BRIDGE_UNC_CBO_3_PERFEVTSEL2 0x00000732
2627#define MSR_SANDY_BRIDGE_UNC_CBO_3_PERFEVTSEL3 0x00000733
2629
2650#define MSR_SANDY_BRIDGE_UNC_CBO_3_PERFCTR0 0x00000736
2651#define MSR_SANDY_BRIDGE_UNC_CBO_3_PERFCTR1 0x00000737
2652#define MSR_SANDY_BRIDGE_UNC_CBO_3_PERFCTR2 0x00000738
2653#define MSR_SANDY_BRIDGE_UNC_CBO_3_PERFCTR3 0x00000739
2655
2676#define MSR_SANDY_BRIDGE_UNC_CBO_4_PERFEVTSEL0 0x00000740
2677#define MSR_SANDY_BRIDGE_UNC_CBO_4_PERFEVTSEL1 0x00000741
2678#define MSR_SANDY_BRIDGE_UNC_CBO_4_PERFEVTSEL2 0x00000742
2679#define MSR_SANDY_BRIDGE_UNC_CBO_4_PERFEVTSEL3 0x00000743
2681
2702#define MSR_SANDY_BRIDGE_UNC_CBO_4_PERFCTR0 0x00000746
2703#define MSR_SANDY_BRIDGE_UNC_CBO_4_PERFCTR1 0x00000747
2704#define MSR_SANDY_BRIDGE_UNC_CBO_4_PERFCTR2 0x00000748
2705#define MSR_SANDY_BRIDGE_UNC_CBO_4_PERFCTR3 0x00000749
2707
2726#define MSR_SANDY_BRIDGE_ERROR_CONTROL 0x0000017F
2727
2731typedef union {
2735 struct {
2736 UINT32 Reserved1 : 1;
2742 UINT32 Reserved2 : 30;
2743 UINT32 Reserved3 : 32;
2744 } Bits;
2748 UINT32 Uint32;
2752 UINT64 Uint64;
2754
2773#define MSR_SANDY_BRIDGE_PEBS_NUM_ALT 0x0000039C
2774
2778typedef union {
2782 struct {
2789 UINT32 Reserved1 : 31;
2790 UINT32 Reserved2 : 32;
2791 } Bits;
2795 UINT32 Uint32;
2799 UINT64 Uint64;
2801
2817#define MSR_SANDY_BRIDGE_PKG_PERF_STATUS 0x00000613
2818
2836#define MSR_SANDY_BRIDGE_DRAM_POWER_LIMIT 0x00000618
2837
2853#define MSR_SANDY_BRIDGE_DRAM_ENERGY_STATUS 0x00000619
2854
2871#define MSR_SANDY_BRIDGE_DRAM_PERF_STATUS 0x0000061B
2872
2889#define MSR_SANDY_BRIDGE_DRAM_POWER_INFO 0x0000061C
2890
2907#define MSR_SANDY_BRIDGE_U_PMON_UCLK_FIXED_CTL 0x00000C08
2908
2925#define MSR_SANDY_BRIDGE_U_PMON_UCLK_FIXED_CTR 0x00000C09
2926
2943#define MSR_SANDY_BRIDGE_U_PMON_EVNTSEL0 0x00000C10
2944
2961#define MSR_SANDY_BRIDGE_U_PMON_EVNTSEL1 0x00000C11
2962
2979#define MSR_SANDY_BRIDGE_U_PMON_CTR0 0x00000C16
2980
2997#define MSR_SANDY_BRIDGE_U_PMON_CTR1 0x00000C17
2998
3015#define MSR_SANDY_BRIDGE_PCU_PMON_BOX_CTL 0x00000C24
3016
3033#define MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL0 0x00000C30
3034
3051#define MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL1 0x00000C31
3052
3069#define MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL2 0x00000C32
3070
3087#define MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL3 0x00000C33
3088
3105#define MSR_SANDY_BRIDGE_PCU_PMON_BOX_FILTER 0x00000C34
3106
3123#define MSR_SANDY_BRIDGE_PCU_PMON_CTR0 0x00000C36
3124
3141#define MSR_SANDY_BRIDGE_PCU_PMON_CTR1 0x00000C37
3142
3159#define MSR_SANDY_BRIDGE_PCU_PMON_CTR2 0x00000C38
3160
3177#define MSR_SANDY_BRIDGE_PCU_PMON_CTR3 0x00000C39
3178
3195#define MSR_SANDY_BRIDGE_C0_PMON_BOX_CTL 0x00000D04
3196
3213#define MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL0 0x00000D10
3214
3231#define MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL1 0x00000D11
3232
3249#define MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL2 0x00000D12
3250
3267#define MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL3 0x00000D13
3268
3285#define MSR_SANDY_BRIDGE_C0_PMON_BOX_FILTER 0x00000D14
3286
3303#define MSR_SANDY_BRIDGE_C0_PMON_CTR0 0x00000D16
3304
3321#define MSR_SANDY_BRIDGE_C0_PMON_CTR1 0x00000D17
3322
3339#define MSR_SANDY_BRIDGE_C0_PMON_CTR2 0x00000D18
3340
3357#define MSR_SANDY_BRIDGE_C0_PMON_CTR3 0x00000D19
3358
3375#define MSR_SANDY_BRIDGE_C1_PMON_BOX_CTL 0x00000D24
3376
3393#define MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL0 0x00000D30
3394
3411#define MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL1 0x00000D31
3412
3429#define MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL2 0x00000D32
3430
3447#define MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL3 0x00000D33
3448
3465#define MSR_SANDY_BRIDGE_C1_PMON_BOX_FILTER 0x00000D34
3466
3483#define MSR_SANDY_BRIDGE_C1_PMON_CTR0 0x00000D36
3484
3501#define MSR_SANDY_BRIDGE_C1_PMON_CTR1 0x00000D37
3502
3519#define MSR_SANDY_BRIDGE_C1_PMON_CTR2 0x00000D38
3520
3537#define MSR_SANDY_BRIDGE_C1_PMON_CTR3 0x00000D39
3538
3555#define MSR_SANDY_BRIDGE_C2_PMON_BOX_CTL 0x00000D44
3556
3573#define MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL0 0x00000D50
3574
3591#define MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL1 0x00000D51
3592
3609#define MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL2 0x00000D52
3610
3627#define MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL3 0x00000D53
3628
3645#define MSR_SANDY_BRIDGE_C2_PMON_BOX_FILTER 0x00000D54
3646
3663#define MSR_SANDY_BRIDGE_C2_PMON_CTR0 0x00000D56
3664
3681#define MSR_SANDY_BRIDGE_C2_PMON_CTR1 0x00000D57
3682
3699#define MSR_SANDY_BRIDGE_C2_PMON_CTR2 0x00000D58
3700
3717#define MSR_SANDY_BRIDGE_C2_PMON_CTR3 0x00000D59
3718
3735#define MSR_SANDY_BRIDGE_C3_PMON_BOX_CTL 0x00000D64
3736
3753#define MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL0 0x00000D70
3754
3771#define MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL1 0x00000D71
3772
3789#define MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL2 0x00000D72
3790
3807#define MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL3 0x00000D73
3808
3825#define MSR_SANDY_BRIDGE_C3_PMON_BOX_FILTER 0x00000D74
3826
3843#define MSR_SANDY_BRIDGE_C3_PMON_CTR0 0x00000D76
3844
3861#define MSR_SANDY_BRIDGE_C3_PMON_CTR1 0x00000D77
3862
3879#define MSR_SANDY_BRIDGE_C3_PMON_CTR2 0x00000D78
3880
3897#define MSR_SANDY_BRIDGE_C3_PMON_CTR3 0x00000D79
3898
3915#define MSR_SANDY_BRIDGE_C4_PMON_BOX_CTL 0x00000D84
3916
3933#define MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL0 0x00000D90
3934
3951#define MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL1 0x00000D91
3952
3969#define MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL2 0x00000D92
3970
3987#define MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL3 0x00000D93
3988
4005#define MSR_SANDY_BRIDGE_C4_PMON_BOX_FILTER 0x00000D94
4006
4023#define MSR_SANDY_BRIDGE_C4_PMON_CTR0 0x00000D96
4024
4041#define MSR_SANDY_BRIDGE_C4_PMON_CTR1 0x00000D97
4042
4059#define MSR_SANDY_BRIDGE_C4_PMON_CTR2 0x00000D98
4060
4077#define MSR_SANDY_BRIDGE_C4_PMON_CTR3 0x00000D99
4078
4095#define MSR_SANDY_BRIDGE_C5_PMON_BOX_CTL 0x00000DA4
4096
4113#define MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL0 0x00000DB0
4114
4131#define MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL1 0x00000DB1
4132
4149#define MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL2 0x00000DB2
4150
4167#define MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL3 0x00000DB3
4168
4185#define MSR_SANDY_BRIDGE_C5_PMON_BOX_FILTER 0x00000DB4
4186
4203#define MSR_SANDY_BRIDGE_C5_PMON_CTR0 0x00000DB6
4204
4221#define MSR_SANDY_BRIDGE_C5_PMON_CTR1 0x00000DB7
4222
4239#define MSR_SANDY_BRIDGE_C5_PMON_CTR2 0x00000DB8
4240
4257#define MSR_SANDY_BRIDGE_C5_PMON_CTR3 0x00000DB9
4258
4275#define MSR_SANDY_BRIDGE_C6_PMON_BOX_CTL 0x00000DC4
4276
4293#define MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL0 0x00000DD0
4294
4311#define MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL1 0x00000DD1
4312
4329#define MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL2 0x00000DD2
4330
4347#define MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL3 0x00000DD3
4348
4365#define MSR_SANDY_BRIDGE_C6_PMON_BOX_FILTER 0x00000DD4
4366
4383#define MSR_SANDY_BRIDGE_C6_PMON_CTR0 0x00000DD6
4384
4401#define MSR_SANDY_BRIDGE_C6_PMON_CTR1 0x00000DD7
4402
4419#define MSR_SANDY_BRIDGE_C6_PMON_CTR2 0x00000DD8
4420
4437#define MSR_SANDY_BRIDGE_C6_PMON_CTR3 0x00000DD9
4438
4455#define MSR_SANDY_BRIDGE_C7_PMON_BOX_CTL 0x00000DE4
4456
4473#define MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL0 0x00000DF0
4474
4491#define MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL1 0x00000DF1
4492
4509#define MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL2 0x00000DF2
4510
4527#define MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL3 0x00000DF3
4528
4545#define MSR_SANDY_BRIDGE_C7_PMON_BOX_FILTER 0x00000DF4
4546
4563#define MSR_SANDY_BRIDGE_C7_PMON_CTR0 0x00000DF6
4564
4581#define MSR_SANDY_BRIDGE_C7_PMON_CTR1 0x00000DF7
4582
4599#define MSR_SANDY_BRIDGE_C7_PMON_CTR2 0x00000DF8
4600
4617#define MSR_SANDY_BRIDGE_C7_PMON_CTR3 0x00000DF9
4618
4619#endif