TianoCore EDK2 master
BroadwellMsr.h
Go to the documentation of this file.
1
18#ifndef __BROADWELL_MSR_H__
19#define __BROADWELL_MSR_H__
20
22
32#define IS_BROADWELL_PROCESSOR(DisplayFamily, DisplayModel) \
33 (DisplayFamily == 0x06 && \
34 ( \
35 DisplayModel == 0x3D || \
36 DisplayModel == 0x47 || \
37 DisplayModel == 0x4F || \
38 DisplayModel == 0x56 \
39 ) \
40 )
41
61#define MSR_BROADWELL_IA32_PERF_GLOBAL_STATUS 0x0000038E
62
66typedef union {
70 struct {
74 UINT32 Ovf_PMC0 : 1;
78 UINT32 Ovf_PMC1 : 1;
82 UINT32 Ovf_PMC2 : 1;
86 UINT32 Ovf_PMC3 : 1;
87 UINT32 Reserved1 : 28;
91 UINT32 Ovf_FixedCtr0 : 1;
95 UINT32 Ovf_FixedCtr1 : 1;
99 UINT32 Ovf_FixedCtr2 : 1;
100 UINT32 Reserved2 : 20;
105 UINT32 Trace_ToPA_PMI : 1;
106 UINT32 Reserved3 : 5;
110 UINT32 Ovf_Uncore : 1;
114 UINT32 OvfBuf : 1;
118 UINT32 CondChgd : 1;
119 } Bits;
123 UINT64 Uint64;
125
146#define MSR_BROADWELL_PKG_CST_CONFIG_CONTROL 0x000000E2
147
151typedef union {
155 struct {
164 UINT32 Limit : 4;
165 UINT32 Reserved1 : 6;
169 UINT32 IO_MWAIT : 1;
170 UINT32 Reserved2 : 4;
174 UINT32 CFGLock : 1;
175 UINT32 Reserved3 : 9;
179 UINT32 C3AutoDemotion : 1;
183 UINT32 C1AutoDemotion : 1;
187 UINT32 C3Undemotion : 1;
191 UINT32 C1Undemotion : 1;
200 UINT32 Reserved4 : 1;
201 UINT32 Reserved5 : 32;
202 } Bits;
206 UINT32 Uint32;
210 UINT64 Uint64;
212
231#define MSR_BROADWELL_TURBO_RATIO_LIMIT 0x000001AD
232
236typedef union {
240 struct {
245 UINT32 Maximum1C : 8;
250 UINT32 Maximum2C : 8;
255 UINT32 Maximum3C : 8;
260 UINT32 Maximum4C : 8;
265 UINT32 Maximum5C : 8;
270 UINT32 Maximum6C : 8;
271 UINT32 Reserved : 16;
272 } Bits;
276 UINT64 Uint64;
278
299#define MSR_BROADWELL_MSRUNCORE_RATIO_LIMIT 0x00000620
300
304typedef union {
308 struct {
313 UINT32 MAX_RATIO : 7;
314 UINT32 Reserved2 : 1;
319 UINT32 MIN_RATIO : 7;
320 UINT32 Reserved3 : 17;
321 UINT32 Reserved4 : 32;
322 } Bits;
326 UINT32 Uint32;
330 UINT64 Uint64;
332
349#define MSR_BROADWELL_PP0_ENERGY_STATUS 0x00000639
350
351#endif