TianoCore EDK2 master
Loading...
Searching...
No Matches
IvyBridgeMsr.h
Go to the documentation of this file.
1
18#ifndef __IVY_BRIDGE_MSR_H__
19#define __IVY_BRIDGE_MSR_H__
20
22
32#define IS_IVY_BRIDGE_PROCESSOR(DisplayFamily, DisplayModel) \
33 (DisplayFamily == 0x06 && \
34 ( \
35 DisplayModel == 0x3A || \
36 DisplayModel == 0x3E \
37 ) \
38 )
39
58#define MSR_IVY_BRIDGE_PLATFORM_INFO 0x000000CE
59
63typedef union {
67 struct {
68 UINT32 Reserved1 : 8;
75 UINT32 Reserved2 : 12;
82 UINT32 RatioLimit : 1;
89 UINT32 TDPLimit : 1;
90 UINT32 Reserved3 : 2;
102 UINT32 ConfigTDPLevels : 2;
103 UINT32 Reserved4 : 5;
115 UINT32 Reserved5 : 8;
116 } Bits;
120 UINT64 Uint64;
122
143#define MSR_IVY_BRIDGE_PKG_CST_CONFIG_CONTROL 0x000000E2
144
148typedef union {
152 struct {
162 UINT32 Limit : 3;
163 UINT32 Reserved1 : 7;
169 UINT32 IO_MWAIT : 1;
170 UINT32 Reserved2 : 4;
175 UINT32 CFGLock : 1;
176 UINT32 Reserved3 : 9;
182 UINT32 C3AutoDemotion : 1;
188 UINT32 C1AutoDemotion : 1;
193 UINT32 C3Undemotion : 1;
198 UINT32 C1Undemotion : 1;
199 UINT32 Reserved4 : 3;
200 UINT32 Reserved5 : 32;
201 } Bits;
205 UINT32 Uint32;
209 UINT64 Uint64;
211
228#define MSR_IVY_BRIDGE_PP0_ENERGY_STATUS 0x00000639
229
247#define MSR_IVY_BRIDGE_CONFIG_TDP_NOMINAL 0x00000648
248
252typedef union {
256 struct {
261 UINT32 Config_TDP_Base : 8;
262 UINT32 Reserved1 : 24;
263 UINT32 Reserved2 : 32;
264 } Bits;
268 UINT32 Uint32;
272 UINT64 Uint64;
274
292#define MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL1 0x00000649
293
297typedef union {
301 struct {
305 UINT32 PKG_TDP_LVL1 : 15;
306 UINT32 Reserved1 : 1;
312 UINT32 Reserved2 : 8;
317 UINT32 PKG_MAX_PWR_LVL1 : 15;
318 UINT32 Reserved3 : 1;
323 UINT32 PKG_MIN_PWR_LVL1 : 15;
324 UINT32 Reserved4 : 1;
325 } Bits;
329 UINT64 Uint64;
331
349#define MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL2 0x0000064A
350
354typedef union {
358 struct {
362 UINT32 PKG_TDP_LVL2 : 15;
363 UINT32 Reserved1 : 1;
369 UINT32 Reserved2 : 8;
374 UINT32 PKG_MAX_PWR_LVL2 : 15;
375 UINT32 Reserved3 : 1;
380 UINT32 PKG_MIN_PWR_LVL2 : 15;
381 UINT32 Reserved4 : 1;
382 } Bits;
386 UINT64 Uint64;
388
407#define MSR_IVY_BRIDGE_CONFIG_TDP_CONTROL 0x0000064B
408
412typedef union {
416 struct {
420 UINT32 TDP_LEVEL : 2;
421 UINT32 Reserved1 : 29;
426 UINT32 Config_TDP_Lock : 1;
427 UINT32 Reserved2 : 32;
428 } Bits;
432 UINT32 Uint32;
436 UINT64 Uint64;
438
457#define MSR_IVY_BRIDGE_TURBO_ACTIVATION_RATIO 0x0000064C
458
462typedef union {
466 struct {
472 UINT32 Reserved1 : 23;
478 UINT32 Reserved2 : 32;
479 } Bits;
483 UINT32 Uint32;
487 UINT64 Uint64;
489
508#define MSR_IVY_BRIDGE_PPIN_CTL 0x0000004E
509
513typedef union {
517 struct {
528 UINT32 LockOut : 1;
535 UINT32 Enable_PPIN : 1;
536 UINT32 Reserved1 : 30;
537 UINT32 Reserved2 : 32;
538 } Bits;
542 UINT32 Uint32;
546 UINT64 Uint64;
548
569#define MSR_IVY_BRIDGE_PPIN 0x0000004F
570
589#define MSR_IVY_BRIDGE_PLATFORM_INFO_1 0x000000CE
590
594typedef union {
598 struct {
599 UINT32 Reserved1 : 8;
606 UINT32 Reserved2 : 7;
614 UINT32 PPIN_CAP : 1;
615 UINT32 Reserved3 : 4;
622 UINT32 RatioLimit : 1;
629 UINT32 TDPLimit : 1;
635 UINT32 TJOFFSET : 1;
636 UINT32 Reserved4 : 1;
637 UINT32 Reserved5 : 8;
644 UINT32 Reserved6 : 16;
645 } Bits;
649 UINT64 Uint64;
651
670#define MSR_IVY_BRIDGE_ERROR_CONTROL 0x0000017F
671
675typedef union {
679 struct {
680 UINT32 Reserved1 : 1;
686 UINT32 Reserved2 : 30;
687 UINT32 Reserved3 : 32;
688 } Bits;
692 UINT32 Uint32;
696 UINT64 Uint64;
698
717#define MSR_IVY_BRIDGE_TEMPERATURE_TARGET 0x000001A2
718
722typedef union {
726 struct {
727 UINT32 Reserved1 : 16;
740 UINT32 Reserved2 : 4;
741 UINT32 Reserved3 : 32;
742 } Bits;
746 UINT32 Uint32;
750 UINT64 Uint64;
752
771#define MSR_IVY_BRIDGE_TURBO_RATIO_LIMIT1 0x000001AE
772
776typedef union {
780 struct {
785 UINT32 Maximum9C : 8;
790 UINT32 Maximum10C : 8;
795 UINT32 Maximum11C : 8;
800 UINT32 Maximum12C : 8;
805 UINT32 Maximum13C : 8;
810 UINT32 Maximum14C : 8;
815 UINT32 Maximum15C : 8;
816 UINT32 Reserved : 7;
824 } Bits;
828 UINT64 Uint64;
830
848#define MSR_IVY_BRIDGE_IA32_MC6_MISC 0x0000041B
849
853typedef union {
857 struct {
865 UINT32 AddressMode : 3;
866 UINT32 Reserved1 : 7;
875 UINT32 Reserved2 : 24;
876 } Bits;
880 UINT64 Uint64;
882
906#define MSR_IVY_BRIDGE_IA32_MC29_CTL 0x00000474
907#define MSR_IVY_BRIDGE_IA32_MC30_CTL 0x00000478
908#define MSR_IVY_BRIDGE_IA32_MC31_CTL 0x0000047C
910
934#define MSR_IVY_BRIDGE_IA32_MC29_STATUS 0x00000475
935#define MSR_IVY_BRIDGE_IA32_MC30_STATUS 0x00000479
936#define MSR_IVY_BRIDGE_IA32_MC31_STATUS 0x0000047D
938
962#define MSR_IVY_BRIDGE_IA32_MC29_ADDR 0x00000476
963#define MSR_IVY_BRIDGE_IA32_MC30_ADDR 0x0000047A
964#define MSR_IVY_BRIDGE_IA32_MC31_ADDR 0x0000047E
966
990#define MSR_IVY_BRIDGE_IA32_MC29_MISC 0x00000477
991#define MSR_IVY_BRIDGE_IA32_MC30_MISC 0x0000047B
992#define MSR_IVY_BRIDGE_IA32_MC31_MISC 0x0000047F
994
1010#define MSR_IVY_BRIDGE_PKG_PERF_STATUS 0x00000613
1011
1029#define MSR_IVY_BRIDGE_DRAM_POWER_LIMIT 0x00000618
1030
1046#define MSR_IVY_BRIDGE_DRAM_ENERGY_STATUS 0x00000619
1047
1064#define MSR_IVY_BRIDGE_DRAM_PERF_STATUS 0x0000061B
1065
1082#define MSR_IVY_BRIDGE_DRAM_POWER_INFO 0x0000061C
1083
1102#define MSR_IVY_BRIDGE_PEBS_ENABLE 0x000003F1
1103
1107typedef union {
1111 struct {
1115 UINT32 PEBS_EN_PMC0 : 1;
1119 UINT32 PEBS_EN_PMC1 : 1;
1123 UINT32 PEBS_EN_PMC2 : 1;
1127 UINT32 PEBS_EN_PMC3 : 1;
1128 UINT32 Reserved1 : 28;
1132 UINT32 LL_EN_PMC0 : 1;
1136 UINT32 LL_EN_PMC1 : 1;
1140 UINT32 LL_EN_PMC2 : 1;
1144 UINT32 LL_EN_PMC3 : 1;
1145 UINT32 Reserved2 : 28;
1146 } Bits;
1150 UINT64 Uint64;
1152
1169#define MSR_IVY_BRIDGE_PMON_GLOBAL_CTL 0x00000C00
1170
1187#define MSR_IVY_BRIDGE_PMON_GLOBAL_STATUS 0x00000C01
1188
1205#define MSR_IVY_BRIDGE_PMON_GLOBAL_CONFIG 0x00000C06
1206
1223#define MSR_IVY_BRIDGE_U_PMON_BOX_STATUS 0x00000C15
1224
1241#define MSR_IVY_BRIDGE_PCU_PMON_BOX_STATUS 0x00000C35
1242
1259#define MSR_IVY_BRIDGE_C0_PMON_BOX_FILTER1 0x00000D1A
1260
1277#define MSR_IVY_BRIDGE_C1_PMON_BOX_FILTER1 0x00000D3A
1278
1295#define MSR_IVY_BRIDGE_C2_PMON_BOX_FILTER1 0x00000D5A
1296
1313#define MSR_IVY_BRIDGE_C3_PMON_BOX_FILTER1 0x00000D7A
1314
1331#define MSR_IVY_BRIDGE_C4_PMON_BOX_FILTER1 0x00000D9A
1332
1349#define MSR_IVY_BRIDGE_C5_PMON_BOX_FILTER1 0x00000DBA
1350
1367#define MSR_IVY_BRIDGE_C6_PMON_BOX_FILTER1 0x00000DDA
1368
1385#define MSR_IVY_BRIDGE_C7_PMON_BOX_FILTER1 0x00000DFA
1386
1403#define MSR_IVY_BRIDGE_C8_PMON_BOX_CTL 0x00000E04
1404
1421#define MSR_IVY_BRIDGE_C8_PMON_EVNTSEL0 0x00000E10
1422
1439#define MSR_IVY_BRIDGE_C8_PMON_EVNTSEL1 0x00000E11
1440
1457#define MSR_IVY_BRIDGE_C8_PMON_EVNTSEL2 0x00000E12
1458
1475#define MSR_IVY_BRIDGE_C8_PMON_EVNTSEL3 0x00000E13
1476
1493#define MSR_IVY_BRIDGE_C8_PMON_BOX_FILTER 0x00000E14
1494
1511#define MSR_IVY_BRIDGE_C8_PMON_CTR0 0x00000E16
1512
1529#define MSR_IVY_BRIDGE_C8_PMON_CTR1 0x00000E17
1530
1547#define MSR_IVY_BRIDGE_C8_PMON_CTR2 0x00000E18
1548
1565#define MSR_IVY_BRIDGE_C8_PMON_CTR3 0x00000E19
1566
1583#define MSR_IVY_BRIDGE_C8_PMON_BOX_FILTER1 0x00000E1A
1584
1601#define MSR_IVY_BRIDGE_C9_PMON_BOX_CTL 0x00000E24
1602
1619#define MSR_IVY_BRIDGE_C9_PMON_EVNTSEL0 0x00000E30
1620
1637#define MSR_IVY_BRIDGE_C9_PMON_EVNTSEL1 0x00000E31
1638
1655#define MSR_IVY_BRIDGE_C9_PMON_EVNTSEL2 0x00000E32
1656
1673#define MSR_IVY_BRIDGE_C9_PMON_EVNTSEL3 0x00000E33
1674
1691#define MSR_IVY_BRIDGE_C9_PMON_BOX_FILTER 0x00000E34
1692
1709#define MSR_IVY_BRIDGE_C9_PMON_CTR0 0x00000E36
1710
1727#define MSR_IVY_BRIDGE_C9_PMON_CTR1 0x00000E37
1728
1745#define MSR_IVY_BRIDGE_C9_PMON_CTR2 0x00000E38
1746
1763#define MSR_IVY_BRIDGE_C9_PMON_CTR3 0x00000E39
1764
1781#define MSR_IVY_BRIDGE_C9_PMON_BOX_FILTER1 0x00000E3A
1782
1799#define MSR_IVY_BRIDGE_C10_PMON_BOX_CTL 0x00000E44
1800
1817#define MSR_IVY_BRIDGE_C10_PMON_EVNTSEL0 0x00000E50
1818
1835#define MSR_IVY_BRIDGE_C10_PMON_EVNTSEL1 0x00000E51
1836
1853#define MSR_IVY_BRIDGE_C10_PMON_EVNTSEL2 0x00000E52
1854
1871#define MSR_IVY_BRIDGE_C10_PMON_EVNTSEL3 0x00000E53
1872
1889#define MSR_IVY_BRIDGE_C10_PMON_BOX_FILTER 0x00000E54
1890
1907#define MSR_IVY_BRIDGE_C10_PMON_CTR0 0x00000E56
1908
1925#define MSR_IVY_BRIDGE_C10_PMON_CTR1 0x00000E57
1926
1943#define MSR_IVY_BRIDGE_C10_PMON_CTR2 0x00000E58
1944
1961#define MSR_IVY_BRIDGE_C10_PMON_CTR3 0x00000E59
1962
1979#define MSR_IVY_BRIDGE_C10_PMON_BOX_FILTER1 0x00000E5A
1980
1997#define MSR_IVY_BRIDGE_C11_PMON_BOX_CTL 0x00000E64
1998
2015#define MSR_IVY_BRIDGE_C11_PMON_EVNTSEL0 0x00000E70
2016
2033#define MSR_IVY_BRIDGE_C11_PMON_EVNTSEL1 0x00000E71
2034
2051#define MSR_IVY_BRIDGE_C11_PMON_EVNTSEL2 0x00000E72
2052
2069#define MSR_IVY_BRIDGE_C11_PMON_EVNTSEL3 0x00000E73
2070
2087#define MSR_IVY_BRIDGE_C11_PMON_BOX_FILTER 0x00000E74
2088
2105#define MSR_IVY_BRIDGE_C11_PMON_CTR0 0x00000E76
2106
2123#define MSR_IVY_BRIDGE_C11_PMON_CTR1 0x00000E77
2124
2141#define MSR_IVY_BRIDGE_C11_PMON_CTR2 0x00000E78
2142
2159#define MSR_IVY_BRIDGE_C11_PMON_CTR3 0x00000E79
2160
2177#define MSR_IVY_BRIDGE_C11_PMON_BOX_FILTER1 0x00000E7A
2178
2195#define MSR_IVY_BRIDGE_C12_PMON_BOX_CTL 0x00000E84
2196
2213#define MSR_IVY_BRIDGE_C12_PMON_EVNTSEL0 0x00000E90
2214
2231#define MSR_IVY_BRIDGE_C12_PMON_EVNTSEL1 0x00000E91
2232
2249#define MSR_IVY_BRIDGE_C12_PMON_EVNTSEL2 0x00000E92
2250
2267#define MSR_IVY_BRIDGE_C12_PMON_EVNTSEL3 0x00000E93
2268
2285#define MSR_IVY_BRIDGE_C12_PMON_BOX_FILTER 0x00000E94
2286
2303#define MSR_IVY_BRIDGE_C12_PMON_CTR0 0x00000E96
2304
2321#define MSR_IVY_BRIDGE_C12_PMON_CTR1 0x00000E97
2322
2339#define MSR_IVY_BRIDGE_C12_PMON_CTR2 0x00000E98
2340
2357#define MSR_IVY_BRIDGE_C12_PMON_CTR3 0x00000E99
2358
2375#define MSR_IVY_BRIDGE_C12_PMON_BOX_FILTER1 0x00000E9A
2376
2393#define MSR_IVY_BRIDGE_C13_PMON_BOX_CTL 0x00000EA4
2394
2411#define MSR_IVY_BRIDGE_C13_PMON_EVNTSEL0 0x00000EB0
2412
2429#define MSR_IVY_BRIDGE_C13_PMON_EVNTSEL1 0x00000EB1
2430
2447#define MSR_IVY_BRIDGE_C13_PMON_EVNTSEL2 0x00000EB2
2448
2465#define MSR_IVY_BRIDGE_C13_PMON_EVNTSEL3 0x00000EB3
2466
2483#define MSR_IVY_BRIDGE_C13_PMON_BOX_FILTER 0x00000EB4
2484
2501#define MSR_IVY_BRIDGE_C13_PMON_CTR0 0x00000EB6
2502
2519#define MSR_IVY_BRIDGE_C13_PMON_CTR1 0x00000EB7
2520
2537#define MSR_IVY_BRIDGE_C13_PMON_CTR2 0x00000EB8
2538
2555#define MSR_IVY_BRIDGE_C13_PMON_CTR3 0x00000EB9
2556
2573#define MSR_IVY_BRIDGE_C13_PMON_BOX_FILTER1 0x00000EBA
2574
2591#define MSR_IVY_BRIDGE_C14_PMON_BOX_CTL 0x00000EC4
2592
2609#define MSR_IVY_BRIDGE_C14_PMON_EVNTSEL0 0x00000ED0
2610
2627#define MSR_IVY_BRIDGE_C14_PMON_EVNTSEL1 0x00000ED1
2628
2645#define MSR_IVY_BRIDGE_C14_PMON_EVNTSEL2 0x00000ED2
2646
2663#define MSR_IVY_BRIDGE_C14_PMON_EVNTSEL3 0x00000ED3
2664
2681#define MSR_IVY_BRIDGE_C14_PMON_BOX_FILTER 0x00000ED4
2682
2699#define MSR_IVY_BRIDGE_C14_PMON_CTR0 0x00000ED6
2700
2717#define MSR_IVY_BRIDGE_C14_PMON_CTR1 0x00000ED7
2718
2735#define MSR_IVY_BRIDGE_C14_PMON_CTR2 0x00000ED8
2736
2753#define MSR_IVY_BRIDGE_C14_PMON_CTR3 0x00000ED9
2754
2771#define MSR_IVY_BRIDGE_C14_PMON_BOX_FILTER1 0x00000EDA
2772
2773#endif