]> git.proxmox.com Git - mirror_edk2.git/blame - UefiCpuPkg/Include/Register/Msr/IvyBridgeMsr.h
UefiCpuPkg/Include: Update MSR header files with SDM (Sep.2016)
[mirror_edk2.git] / UefiCpuPkg / Include / Register / Msr / IvyBridgeMsr.h
CommitLineData
84ada87c
MK
1/** @file\r
2 MSR Definitions for Intel processors based on the Ivy Bridge microarchitecture.\r
3\r
4 Provides defines for Machine Specific Registers(MSR) indexes. Data structures\r
5 are provided for MSRs that contain one or more bit fields. If the MSR value\r
6 returned is a single 32-bit or 64-bit value, then a data structure is not\r
7 provided for that MSR.\r
8\r
9 Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>\r
10 This program and the accompanying materials\r
11 are licensed and made available under the terms and conditions of the BSD License\r
12 which accompanies this distribution. The full text of the license may be found at\r
13 http://opensource.org/licenses/bsd-license.php\r
14\r
15 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
16 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
17\r
18 @par Specification Reference:\r
19 Intel(R) 64 and IA-32 Architectures Software Developer's Manual, Volume 3,\r
0f16be6d 20 September 2016, Chapter 35 Model-Specific-Registers (MSR), Section 35.10.\r
84ada87c
MK
21\r
22**/\r
23\r
24#ifndef __IVY_BRIDGE_MSR_H__\r
25#define __IVY_BRIDGE_MSR_H__\r
26\r
27#include <Register/ArchitecturalMsr.h>\r
28\r
29/**\r
30 Package. See http://biosbits.org.\r
31\r
32 @param ECX MSR_IVY_BRIDGE_PLATFORM_INFO (0x000000CE)\r
33 @param EAX Lower 32-bits of MSR value.\r
34 Described by the type MSR_IVY_BRIDGE_PLATFORM_INFO_REGISTER.\r
35 @param EDX Upper 32-bits of MSR value.\r
36 Described by the type MSR_IVY_BRIDGE_PLATFORM_INFO_REGISTER.\r
37\r
38 <b>Example usage</b>\r
39 @code\r
40 MSR_IVY_BRIDGE_PLATFORM_INFO_REGISTER Msr;\r
41\r
42 Msr.Uint64 = AsmReadMsr64 (MSR_IVY_BRIDGE_PLATFORM_INFO);\r
43 AsmWriteMsr64 (MSR_IVY_BRIDGE_PLATFORM_INFO, Msr.Uint64);\r
44 @endcode\r
fed6c37b 45 @note MSR_IVY_BRIDGE_PLATFORM_INFO is defined as MSR_PLATFORM_INFO in SDM.\r
84ada87c
MK
46**/\r
47#define MSR_IVY_BRIDGE_PLATFORM_INFO 0x000000CE\r
48\r
49/**\r
50 MSR information returned for MSR index #MSR_IVY_BRIDGE_PLATFORM_INFO\r
51**/\r
52typedef union {\r
53 ///\r
54 /// Individual bit fields\r
55 ///\r
56 struct {\r
57 UINT32 Reserved1:8;\r
58 ///\r
59 /// [Bits 15:8] Package. Maximum Non-Turbo Ratio (R/O) The is the ratio\r
60 /// of the frequency that invariant TSC runs at. Frequency = ratio * 100\r
61 /// MHz.\r
62 ///\r
63 UINT32 MaximumNonTurboRatio:8;\r
64 UINT32 Reserved2:12;\r
65 ///\r
66 /// [Bit 28] Package. Programmable Ratio Limit for Turbo Mode (R/O) When\r
67 /// set to 1, indicates that Programmable Ratio Limits for Turbo mode is\r
68 /// enabled, and when set to 0, indicates Programmable Ratio Limits for\r
69 /// Turbo mode is disabled.\r
70 ///\r
71 UINT32 RatioLimit:1;\r
72 ///\r
73 /// [Bit 29] Package. Programmable TDP Limit for Turbo Mode (R/O) When\r
74 /// set to 1, indicates that TDP Limits for Turbo mode are programmable,\r
75 /// and when set to 0, indicates TDP Limit for Turbo mode is not\r
76 /// programmable.\r
77 ///\r
78 UINT32 TDPLimit:1;\r
79 UINT32 Reserved3:2;\r
80 ///\r
81 /// [Bit 32] Package. Low Power Mode Support (LPM) (R/O) When set to 1,\r
82 /// indicates that LPM is supported, and when set to 0, indicates LPM is\r
83 /// not supported.\r
84 ///\r
85 UINT32 LowPowerModeSupport:1;\r
86 ///\r
87 /// [Bits 34:33] Package. Number of ConfigTDP Levels (R/O) 00: Only Base\r
88 /// TDP level available. 01: One additional TDP level available. 02: Two\r
89 /// additional TDP level available. 11: Reserved.\r
90 ///\r
91 UINT32 ConfigTDPLevels:2;\r
92 UINT32 Reserved4:5;\r
93 ///\r
94 /// [Bits 47:40] Package. Maximum Efficiency Ratio (R/O) The is the\r
95 /// minimum ratio (maximum efficiency) that the processor can operates, in\r
96 /// units of 100MHz.\r
97 ///\r
98 UINT32 MaximumEfficiencyRatio:8;\r
99 ///\r
100 /// [Bits 55:48] Package. Minimum Operating Ratio (R/O) Contains the\r
101 /// minimum supported operating ratio in units of 100 MHz.\r
102 ///\r
103 UINT32 MinimumOperatingRatio:8;\r
104 UINT32 Reserved5:8;\r
105 } Bits;\r
106 ///\r
107 /// All bit fields as a 64-bit value\r
108 ///\r
109 UINT64 Uint64;\r
110} MSR_IVY_BRIDGE_PLATFORM_INFO_REGISTER;\r
111\r
112\r
113/**\r
114 Core. C-State Configuration Control (R/W) Note: C-state values are\r
115 processor specific C-state code names, unrelated to MWAIT extension C-state\r
116 parameters or ACPI C-States. See http://biosbits.org.\r
117\r
118 @param ECX MSR_IVY_BRIDGE_PKG_CST_CONFIG_CONTROL (0x000000E2)\r
119 @param EAX Lower 32-bits of MSR value.\r
120 Described by the type MSR_IVY_BRIDGE_PKG_CST_CONFIG_CONTROL_REGISTER.\r
121 @param EDX Upper 32-bits of MSR value.\r
122 Described by the type MSR_IVY_BRIDGE_PKG_CST_CONFIG_CONTROL_REGISTER.\r
123\r
124 <b>Example usage</b>\r
125 @code\r
126 MSR_IVY_BRIDGE_PKG_CST_CONFIG_CONTROL_REGISTER Msr;\r
127\r
128 Msr.Uint64 = AsmReadMsr64 (MSR_IVY_BRIDGE_PKG_CST_CONFIG_CONTROL);\r
129 AsmWriteMsr64 (MSR_IVY_BRIDGE_PKG_CST_CONFIG_CONTROL, Msr.Uint64);\r
130 @endcode\r
fed6c37b 131 @note MSR_IVY_BRIDGE_PKG_CST_CONFIG_CONTROL is defined as MSR_PKG_CST_CONFIG_CONTROL in SDM.\r
84ada87c
MK
132**/\r
133#define MSR_IVY_BRIDGE_PKG_CST_CONFIG_CONTROL 0x000000E2\r
134\r
135/**\r
136 MSR information returned for MSR index #MSR_IVY_BRIDGE_PKG_CST_CONFIG_CONTROL\r
137**/\r
138typedef union {\r
139 ///\r
140 /// Individual bit fields\r
141 ///\r
142 struct {\r
143 ///\r
144 /// [Bits 2:0] Package C-State Limit (R/W) Specifies the lowest\r
145 /// processor-specific C-state code name (consuming the least power). for\r
146 /// the package. The default is set as factory-configured package C-state\r
147 /// limit. The following C-state code name encodings are supported: 000b:\r
148 /// C0/C1 (no package C-sate support) 001b: C2 010b: C6 no retention 011b:\r
149 /// C6 retention 100b: C7 101b: C7s 111: No package C-state limit. Note:\r
150 /// This field cannot be used to limit package C-state to C3.\r
151 ///\r
152 UINT32 Limit:3;\r
153 UINT32 Reserved1:7;\r
154 ///\r
155 /// [Bit 10] I/O MWAIT Redirection Enable (R/W) When set, will map\r
156 /// IO_read instructions sent to IO register specified by\r
157 /// MSR_PMG_IO_CAPTURE_BASE to MWAIT instructions.\r
158 ///\r
159 UINT32 IO_MWAIT:1;\r
160 UINT32 Reserved2:4;\r
161 ///\r
162 /// [Bit 15] CFG Lock (R/WO) When set, lock bits 15:0 of this register\r
163 /// until next reset.\r
164 ///\r
165 UINT32 CFGLock:1;\r
166 UINT32 Reserved3:9;\r
167 ///\r
168 /// [Bit 25] C3 state auto demotion enable (R/W) When set, the processor\r
169 /// will conditionally demote C6/C7 requests to C3 based on uncore\r
170 /// auto-demote information.\r
171 ///\r
172 UINT32 C3AutoDemotion:1;\r
173 ///\r
174 /// [Bit 26] C1 state auto demotion enable (R/W) When set, the processor\r
175 /// will conditionally demote C3/C6/C7 requests to C1 based on uncore\r
176 /// auto-demote information.\r
177 ///\r
178 UINT32 C1AutoDemotion:1;\r
179 ///\r
180 /// [Bit 27] Enable C3 undemotion (R/W) When set, enables undemotion from\r
181 /// demoted C3.\r
182 ///\r
183 UINT32 C3Undemotion:1;\r
184 ///\r
185 /// [Bit 28] Enable C1 undemotion (R/W) When set, enables undemotion from\r
186 /// demoted C1.\r
187 ///\r
188 UINT32 C1Undemotion:1;\r
189 UINT32 Reserved4:3;\r
190 UINT32 Reserved5:32;\r
191 } Bits;\r
192 ///\r
193 /// All bit fields as a 32-bit value\r
194 ///\r
195 UINT32 Uint32;\r
196 ///\r
197 /// All bit fields as a 64-bit value\r
198 ///\r
199 UINT64 Uint64;\r
200} MSR_IVY_BRIDGE_PKG_CST_CONFIG_CONTROL_REGISTER;\r
201\r
202\r
0f16be6d
HW
203/**\r
204 Package. PP0 Energy Status (R/O) See Section 14.9.4, "PP0/PP1 RAPL\r
205 Domains.".\r
206\r
207 @param ECX MSR_IVY_BRIDGE_PP0_ENERGY_STATUS (0x00000639)\r
208 @param EAX Lower 32-bits of MSR value.\r
209 @param EDX Upper 32-bits of MSR value.\r
210\r
211 <b>Example usage</b>\r
212 @code\r
213 UINT64 Msr;\r
214\r
215 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_PP0_ENERGY_STATUS);\r
216 @endcode\r
217 @note MSR_IVY_BRIDGE_PP0_ENERGY_STATUS is defined as MSR_PP0_ENERGY_STATUS in SDM.\r
218**/\r
219#define MSR_IVY_BRIDGE_PP0_ENERGY_STATUS 0x00000639\r
220\r
221\r
84ada87c
MK
222/**\r
223 Package. Base TDP Ratio (R/O).\r
224\r
225 @param ECX MSR_IVY_BRIDGE_CONFIG_TDP_NOMINAL (0x00000648)\r
226 @param EAX Lower 32-bits of MSR value.\r
227 Described by the type MSR_IVY_BRIDGE_CONFIG_TDP_NOMINAL_REGISTER.\r
228 @param EDX Upper 32-bits of MSR value.\r
229 Described by the type MSR_IVY_BRIDGE_CONFIG_TDP_NOMINAL_REGISTER.\r
230\r
231 <b>Example usage</b>\r
232 @code\r
233 MSR_IVY_BRIDGE_CONFIG_TDP_NOMINAL_REGISTER Msr;\r
234\r
235 Msr.Uint64 = AsmReadMsr64 (MSR_IVY_BRIDGE_CONFIG_TDP_NOMINAL);\r
236 @endcode\r
fed6c37b 237 @note MSR_IVY_BRIDGE_CONFIG_TDP_NOMINAL is defined as MSR_CONFIG_TDP_NOMINAL in SDM.\r
84ada87c
MK
238**/\r
239#define MSR_IVY_BRIDGE_CONFIG_TDP_NOMINAL 0x00000648\r
240\r
241/**\r
242 MSR information returned for MSR index #MSR_IVY_BRIDGE_CONFIG_TDP_NOMINAL\r
243**/\r
244typedef union {\r
245 ///\r
246 /// Individual bit fields\r
247 ///\r
248 struct {\r
249 ///\r
250 /// [Bits 7:0] Config_TDP_Base Base TDP level ratio to be used for this\r
251 /// specific processor (in units of 100 MHz).\r
252 ///\r
253 UINT32 Config_TDP_Base:8;\r
254 UINT32 Reserved1:24;\r
255 UINT32 Reserved2:32;\r
256 } Bits;\r
257 ///\r
258 /// All bit fields as a 32-bit value\r
259 ///\r
260 UINT32 Uint32;\r
261 ///\r
262 /// All bit fields as a 64-bit value\r
263 ///\r
264 UINT64 Uint64;\r
265} MSR_IVY_BRIDGE_CONFIG_TDP_NOMINAL_REGISTER;\r
266\r
267\r
268/**\r
269 Package. ConfigTDP Level 1 ratio and power level (R/O).\r
270\r
271 @param ECX MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL1 (0x00000649)\r
272 @param EAX Lower 32-bits of MSR value.\r
273 Described by the type MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL1_REGISTER.\r
274 @param EDX Upper 32-bits of MSR value.\r
275 Described by the type MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL1_REGISTER.\r
276\r
277 <b>Example usage</b>\r
278 @code\r
279 MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL1_REGISTER Msr;\r
280\r
281 Msr.Uint64 = AsmReadMsr64 (MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL1);\r
282 @endcode\r
fed6c37b 283 @note MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL1 is defined as MSR_CONFIG_TDP_LEVEL1 in SDM.\r
84ada87c
MK
284**/\r
285#define MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL1 0x00000649\r
286\r
287/**\r
288 MSR information returned for MSR index #MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL1\r
289**/\r
290typedef union {\r
291 ///\r
292 /// Individual bit fields\r
293 ///\r
294 struct {\r
295 ///\r
296 /// [Bits 14:0] PKG_TDP_LVL1. Power setting for ConfigTDP Level 1.\r
297 ///\r
298 UINT32 PKG_TDP_LVL1:15;\r
299 UINT32 Reserved1:1;\r
300 ///\r
301 /// [Bits 23:16] Config_TDP_LVL1_Ratio. ConfigTDP level 1 ratio to be used\r
302 /// for this specific processor.\r
303 ///\r
304 UINT32 Config_TDP_LVL1_Ratio:8;\r
305 UINT32 Reserved2:8;\r
306 ///\r
307 /// [Bits 46:32] PKG_MAX_PWR_LVL1. Max Power setting allowed for ConfigTDP\r
308 /// Level 1.\r
309 ///\r
310 UINT32 PKG_MAX_PWR_LVL1:15;\r
311 UINT32 Reserved3:1;\r
312 ///\r
313 /// [Bits 62:48] PKG_MIN_PWR_LVL1. MIN Power setting allowed for ConfigTDP\r
314 /// Level 1.\r
315 ///\r
316 UINT32 PKG_MIN_PWR_LVL1:15;\r
317 UINT32 Reserved4:1;\r
318 } Bits;\r
319 ///\r
320 /// All bit fields as a 64-bit value\r
321 ///\r
322 UINT64 Uint64;\r
323} MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL1_REGISTER;\r
324\r
325\r
326/**\r
327 Package. ConfigTDP Level 2 ratio and power level (R/O).\r
328\r
329 @param ECX MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL2 (0x0000064A)\r
330 @param EAX Lower 32-bits of MSR value.\r
331 Described by the type MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL2_REGISTER.\r
332 @param EDX Upper 32-bits of MSR value.\r
333 Described by the type MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL2_REGISTER.\r
334\r
335 <b>Example usage</b>\r
336 @code\r
337 MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL2_REGISTER Msr;\r
338\r
339 Msr.Uint64 = AsmReadMsr64 (MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL2);\r
340 @endcode\r
fed6c37b 341 @note MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL2 is defined as MSR_CONFIG_TDP_LEVEL2 in SDM.\r
84ada87c
MK
342**/\r
343#define MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL2 0x0000064A\r
344\r
345/**\r
346 MSR information returned for MSR index #MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL2\r
347**/\r
348typedef union {\r
349 ///\r
350 /// Individual bit fields\r
351 ///\r
352 struct {\r
353 ///\r
354 /// [Bits 14:0] PKG_TDP_LVL2. Power setting for ConfigTDP Level 2.\r
355 ///\r
356 UINT32 PKG_TDP_LVL2:15;\r
357 UINT32 Reserved1:1;\r
358 ///\r
359 /// [Bits 23:16] Config_TDP_LVL2_Ratio. ConfigTDP level 2 ratio to be used\r
360 /// for this specific processor.\r
361 ///\r
362 UINT32 Config_TDP_LVL2_Ratio:8;\r
363 UINT32 Reserved2:8;\r
364 ///\r
365 /// [Bits 46:32] PKG_MAX_PWR_LVL2. Max Power setting allowed for ConfigTDP\r
366 /// Level 2.\r
367 ///\r
368 UINT32 PKG_MAX_PWR_LVL2:15;\r
369 UINT32 Reserved3:1;\r
370 ///\r
371 /// [Bits 62:48] PKG_MIN_PWR_LVL2. MIN Power setting allowed for ConfigTDP\r
372 /// Level 2.\r
373 ///\r
374 UINT32 PKG_MIN_PWR_LVL2:15;\r
375 UINT32 Reserved4:1;\r
376 } Bits;\r
377 ///\r
378 /// All bit fields as a 64-bit value\r
379 ///\r
380 UINT64 Uint64;\r
381} MSR_IVY_BRIDGE_CONFIG_TDP_LEVEL2_REGISTER;\r
382\r
383\r
384/**\r
385 Package. ConfigTDP Control (R/W).\r
386\r
387 @param ECX MSR_IVY_BRIDGE_CONFIG_TDP_CONTROL (0x0000064B)\r
388 @param EAX Lower 32-bits of MSR value.\r
389 Described by the type MSR_IVY_BRIDGE_CONFIG_TDP_CONTROL_REGISTER.\r
390 @param EDX Upper 32-bits of MSR value.\r
391 Described by the type MSR_IVY_BRIDGE_CONFIG_TDP_CONTROL_REGISTER.\r
392\r
393 <b>Example usage</b>\r
394 @code\r
395 MSR_IVY_BRIDGE_CONFIG_TDP_CONTROL_REGISTER Msr;\r
396\r
397 Msr.Uint64 = AsmReadMsr64 (MSR_IVY_BRIDGE_CONFIG_TDP_CONTROL);\r
398 AsmWriteMsr64 (MSR_IVY_BRIDGE_CONFIG_TDP_CONTROL, Msr.Uint64);\r
399 @endcode\r
fed6c37b 400 @note MSR_IVY_BRIDGE_CONFIG_TDP_CONTROL is defined as MSR_CONFIG_TDP_CONTROL in SDM.\r
84ada87c
MK
401**/\r
402#define MSR_IVY_BRIDGE_CONFIG_TDP_CONTROL 0x0000064B\r
403\r
404/**\r
405 MSR information returned for MSR index #MSR_IVY_BRIDGE_CONFIG_TDP_CONTROL\r
406**/\r
407typedef union {\r
408 ///\r
409 /// Individual bit fields\r
410 ///\r
411 struct {\r
412 ///\r
413 /// [Bits 1:0] TDP_LEVEL (RW/L) System BIOS can program this field.\r
414 ///\r
415 UINT32 TDP_LEVEL:2;\r
416 UINT32 Reserved1:29;\r
417 ///\r
418 /// [Bit 31] Config_TDP_Lock (RW/L) When this bit is set, the content of\r
419 /// this register is locked until a reset.\r
420 ///\r
421 UINT32 Config_TDP_Lock:1;\r
422 UINT32 Reserved2:32;\r
423 } Bits;\r
424 ///\r
425 /// All bit fields as a 32-bit value\r
426 ///\r
427 UINT32 Uint32;\r
428 ///\r
429 /// All bit fields as a 64-bit value\r
430 ///\r
431 UINT64 Uint64;\r
432} MSR_IVY_BRIDGE_CONFIG_TDP_CONTROL_REGISTER;\r
433\r
434\r
435/**\r
436 Package. ConfigTDP Control (R/W).\r
437\r
438 @param ECX MSR_IVY_BRIDGE_TURBO_ACTIVATION_RATIO (0x0000064C)\r
439 @param EAX Lower 32-bits of MSR value.\r
440 Described by the type MSR_IVY_BRIDGE_TURBO_ACTIVATION_RATIO_REGISTER.\r
441 @param EDX Upper 32-bits of MSR value.\r
442 Described by the type MSR_IVY_BRIDGE_TURBO_ACTIVATION_RATIO_REGISTER.\r
443\r
444 <b>Example usage</b>\r
445 @code\r
446 MSR_IVY_BRIDGE_TURBO_ACTIVATION_RATIO_REGISTER Msr;\r
447\r
448 Msr.Uint64 = AsmReadMsr64 (MSR_IVY_BRIDGE_TURBO_ACTIVATION_RATIO);\r
449 AsmWriteMsr64 (MSR_IVY_BRIDGE_TURBO_ACTIVATION_RATIO, Msr.Uint64);\r
450 @endcode\r
fed6c37b 451 @note MSR_IVY_BRIDGE_TURBO_ACTIVATION_RATIO is defined as MSR_TURBO_ACTIVATION_RATIO in SDM.\r
84ada87c
MK
452**/\r
453#define MSR_IVY_BRIDGE_TURBO_ACTIVATION_RATIO 0x0000064C\r
454\r
455/**\r
456 MSR information returned for MSR index #MSR_IVY_BRIDGE_TURBO_ACTIVATION_RATIO\r
457**/\r
458typedef union {\r
459 ///\r
460 /// Individual bit fields\r
461 ///\r
462 struct {\r
463 ///\r
464 /// [Bits 7:0] MAX_NON_TURBO_RATIO (RW/L) System BIOS can program this\r
465 /// field.\r
466 ///\r
467 UINT32 MAX_NON_TURBO_RATIO:8;\r
468 UINT32 Reserved1:23;\r
469 ///\r
470 /// [Bit 31] TURBO_ACTIVATION_RATIO_Lock (RW/L) When this bit is set, the\r
471 /// content of this register is locked until a reset.\r
472 ///\r
473 UINT32 TURBO_ACTIVATION_RATIO_Lock:1;\r
474 UINT32 Reserved2:32;\r
475 } Bits;\r
476 ///\r
477 /// All bit fields as a 32-bit value\r
478 ///\r
479 UINT32 Uint32;\r
480 ///\r
481 /// All bit fields as a 64-bit value\r
482 ///\r
483 UINT64 Uint64;\r
484} MSR_IVY_BRIDGE_TURBO_ACTIVATION_RATIO_REGISTER;\r
485\r
486\r
487/**\r
488 Package. Protected Processor Inventory Number Enable Control (R/W).\r
489\r
490 @param ECX MSR_IVY_BRIDGE_PPIN_CTL (0x0000004E)\r
491 @param EAX Lower 32-bits of MSR value.\r
492 Described by the type MSR_IVY_BRIDGE_PPIN_CTL_REGISTER.\r
493 @param EDX Upper 32-bits of MSR value.\r
494 Described by the type MSR_IVY_BRIDGE_PPIN_CTL_REGISTER.\r
495\r
496 <b>Example usage</b>\r
497 @code\r
498 MSR_IVY_BRIDGE_PPIN_CTL_REGISTER Msr;\r
499\r
500 Msr.Uint64 = AsmReadMsr64 (MSR_IVY_BRIDGE_PPIN_CTL);\r
501 AsmWriteMsr64 (MSR_IVY_BRIDGE_PPIN_CTL, Msr.Uint64);\r
502 @endcode\r
fed6c37b 503 @note MSR_IVY_BRIDGE_PPIN_CTL is defined as MSR_PPIN_CTL in SDM.\r
84ada87c
MK
504**/\r
505#define MSR_IVY_BRIDGE_PPIN_CTL 0x0000004E\r
506\r
507/**\r
508 MSR information returned for MSR index #MSR_IVY_BRIDGE_PPIN_CTL\r
509**/\r
510typedef union {\r
511 ///\r
512 /// Individual bit fields\r
513 ///\r
514 struct {\r
515 ///\r
516 /// [Bit 0] LockOut (R/WO) Set 1to prevent further writes to MSR_PPIN_CTL.\r
517 /// Writing 1 to MSR_PPINCTL[bit 0] is permitted only if MSR_PPIN_CTL[bit\r
518 /// 1] is clear, Default is 0. BIOS should provide an opt-in menu to\r
519 /// enable the user to turn on MSR_PPIN_CTL[bit 1] for privileged\r
520 /// inventory initialization agent to access MSR_PPIN. After reading\r
521 /// MSR_PPIN, the privileged inventory initialization agent should write\r
522 /// '01b' to MSR_PPIN_CTL to disable further access to MSR_PPIN and\r
523 /// prevent unauthorized modification to MSR_PPIN_CTL.\r
524 ///\r
525 UINT32 LockOut:1;\r
526 ///\r
527 /// [Bit 1] Enable_PPIN (R/W) If 1, enables MSR_PPIN to be accessible\r
528 /// using RDMSR. Once set, attempt to write 1 to MSR_PPIN_CTL[bit 0] will\r
529 /// cause #GP. If 0, an attempt to read MSR_PPIN will cause #GP. Default\r
530 /// is 0.\r
531 ///\r
532 UINT32 Enable_PPIN:1;\r
533 UINT32 Reserved1:30;\r
534 UINT32 Reserved2:32;\r
535 } Bits;\r
536 ///\r
537 /// All bit fields as a 32-bit value\r
538 ///\r
539 UINT32 Uint32;\r
540 ///\r
541 /// All bit fields as a 64-bit value\r
542 ///\r
543 UINT64 Uint64;\r
544} MSR_IVY_BRIDGE_PPIN_CTL_REGISTER;\r
545\r
546\r
547/**\r
548 Package. Protected Processor Inventory Number (R/O). Protected Processor\r
549 Inventory Number (R/O) A unique value within a given CPUID\r
550 family/model/stepping signature that a privileged inventory initialization\r
551 agent can access to identify each physical processor, when access to\r
552 MSR_PPIN is enabled. Access to MSR_PPIN is permitted only if\r
553 MSR_PPIN_CTL[bits 1:0] = '10b'.\r
554\r
555 @param ECX MSR_IVY_BRIDGE_PPIN (0x0000004F)\r
556 @param EAX Lower 32-bits of MSR value.\r
557 @param EDX Upper 32-bits of MSR value.\r
558\r
559 <b>Example usage</b>\r
560 @code\r
561 UINT64 Msr;\r
562\r
563 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_PPIN);\r
564 @endcode\r
fed6c37b 565 @note MSR_IVY_BRIDGE_PPIN is defined as MSR_PPIN in SDM.\r
84ada87c
MK
566**/\r
567#define MSR_IVY_BRIDGE_PPIN 0x0000004F\r
568\r
569\r
570/**\r
571 Package. See http://biosbits.org.\r
572\r
573 @param ECX MSR_IVY_BRIDGE_PLATFORM_INFO_1 (0x000000CE)\r
574 @param EAX Lower 32-bits of MSR value.\r
575 Described by the type MSR_IVY_BRIDGE_PLATFORM_INFO_1_REGISTER.\r
576 @param EDX Upper 32-bits of MSR value.\r
577 Described by the type MSR_IVY_BRIDGE_PLATFORM_INFO_1_REGISTER.\r
578\r
579 <b>Example usage</b>\r
580 @code\r
581 MSR_IVY_BRIDGE_PLATFORM_INFO_1_REGISTER Msr;\r
582\r
583 Msr.Uint64 = AsmReadMsr64 (MSR_IVY_BRIDGE_PLATFORM_INFO_1);\r
584 AsmWriteMsr64 (MSR_IVY_BRIDGE_PLATFORM_INFO_1, Msr.Uint64);\r
585 @endcode\r
fed6c37b 586 @note MSR_IVY_BRIDGE_PLATFORM_INFO_1 is defined as MSR_PLATFORM_INFO_1 in SDM.\r
84ada87c
MK
587**/\r
588#define MSR_IVY_BRIDGE_PLATFORM_INFO_1 0x000000CE\r
589\r
590/**\r
591 MSR information returned for MSR index #MSR_IVY_BRIDGE_PLATFORM_INFO_1\r
592**/\r
593typedef union {\r
594 ///\r
595 /// Individual bit fields\r
596 ///\r
597 struct {\r
598 UINT32 Reserved1:8;\r
599 ///\r
600 /// [Bits 15:8] Package. Maximum Non-Turbo Ratio (R/O) The is the ratio\r
601 /// of the frequency that invariant TSC runs at. Frequency = ratio * 100\r
602 /// MHz.\r
603 ///\r
604 UINT32 MaximumNonTurboRatio:8;\r
605 UINT32 Reserved2:7;\r
606 ///\r
607 /// [Bit 23] Package. PPIN_CAP (R/O) When set to 1, indicates that\r
608 /// Protected Processor Inventory Number (PPIN) capability can be enabled\r
609 /// for privileged system inventory agent to read PPIN from MSR_PPIN. When\r
610 /// set to 0, PPIN capability is not supported. An attempt to access\r
611 /// MSR_PPIN_CTL or MSR_PPIN will cause #GP.\r
612 ///\r
613 UINT32 PPIN_CAP:1;\r
614 UINT32 Reserved3:4;\r
615 ///\r
616 /// [Bit 28] Package. Programmable Ratio Limit for Turbo Mode (R/O) When\r
617 /// set to 1, indicates that Programmable Ratio Limits for Turbo mode is\r
618 /// enabled, and when set to 0, indicates Programmable Ratio Limits for\r
619 /// Turbo mode is disabled.\r
620 ///\r
621 UINT32 RatioLimit:1;\r
622 ///\r
623 /// [Bit 29] Package. Programmable TDP Limit for Turbo Mode (R/O) When\r
624 /// set to 1, indicates that TDP Limits for Turbo mode are programmable,\r
625 /// and when set to 0, indicates TDP Limit for Turbo mode is not\r
626 /// programmable.\r
627 ///\r
628 UINT32 TDPLimit:1;\r
629 ///\r
630 /// [Bit 30] Package. Programmable TJ OFFSET (R/O) When set to 1,\r
631 /// indicates that MSR_TEMPERATURE_TARGET.[27:24] is valid and writable to\r
632 /// specify an temperature offset.\r
633 ///\r
634 UINT32 TJOFFSET:1;\r
635 UINT32 Reserved4:1;\r
636 UINT32 Reserved5:8;\r
637 ///\r
638 /// [Bits 47:40] Package. Maximum Efficiency Ratio (R/O) The is the\r
639 /// minimum ratio (maximum efficiency) that the processor can operates, in\r
640 /// units of 100MHz.\r
641 ///\r
642 UINT32 MaximumEfficiencyRatio:8;\r
643 UINT32 Reserved6:16;\r
644 } Bits;\r
645 ///\r
646 /// All bit fields as a 64-bit value\r
647 ///\r
648 UINT64 Uint64;\r
649} MSR_IVY_BRIDGE_PLATFORM_INFO_1_REGISTER;\r
650\r
651\r
652/**\r
653 Package. MC Bank Error Configuration (R/W).\r
654\r
655 @param ECX MSR_IVY_BRIDGE_ERROR_CONTROL (0x0000017F)\r
656 @param EAX Lower 32-bits of MSR value.\r
657 Described by the type MSR_IVY_BRIDGE_ERROR_CONTROL_REGISTER.\r
658 @param EDX Upper 32-bits of MSR value.\r
659 Described by the type MSR_IVY_BRIDGE_ERROR_CONTROL_REGISTER.\r
660\r
661 <b>Example usage</b>\r
662 @code\r
663 MSR_IVY_BRIDGE_ERROR_CONTROL_REGISTER Msr;\r
664\r
665 Msr.Uint64 = AsmReadMsr64 (MSR_IVY_BRIDGE_ERROR_CONTROL);\r
666 AsmWriteMsr64 (MSR_IVY_BRIDGE_ERROR_CONTROL, Msr.Uint64);\r
667 @endcode\r
fed6c37b 668 @note MSR_IVY_BRIDGE_ERROR_CONTROL is defined as MSR_ERROR_CONTROL in SDM.\r
84ada87c
MK
669**/\r
670#define MSR_IVY_BRIDGE_ERROR_CONTROL 0x0000017F\r
671\r
672/**\r
673 MSR information returned for MSR index #MSR_IVY_BRIDGE_ERROR_CONTROL\r
674**/\r
675typedef union {\r
676 ///\r
677 /// Individual bit fields\r
678 ///\r
679 struct {\r
680 UINT32 Reserved1:1;\r
681 ///\r
682 /// [Bit 1] MemError Log Enable (R/W) When set, enables IMC status bank\r
683 /// to log additional info in bits 36:32.\r
684 ///\r
685 UINT32 MemErrorLogEnable:1;\r
686 UINT32 Reserved2:30;\r
687 UINT32 Reserved3:32;\r
688 } Bits;\r
689 ///\r
690 /// All bit fields as a 32-bit value\r
691 ///\r
692 UINT32 Uint32;\r
693 ///\r
694 /// All bit fields as a 64-bit value\r
695 ///\r
696 UINT64 Uint64;\r
697} MSR_IVY_BRIDGE_ERROR_CONTROL_REGISTER;\r
698\r
699\r
700/**\r
701 Package.\r
702\r
703 @param ECX MSR_IVY_BRIDGE_TEMPERATURE_TARGET (0x000001A2)\r
704 @param EAX Lower 32-bits of MSR value.\r
705 Described by the type MSR_IVY_BRIDGE_TEMPERATURE_TARGET_REGISTER.\r
706 @param EDX Upper 32-bits of MSR value.\r
707 Described by the type MSR_IVY_BRIDGE_TEMPERATURE_TARGET_REGISTER.\r
708\r
709 <b>Example usage</b>\r
710 @code\r
711 MSR_IVY_BRIDGE_TEMPERATURE_TARGET_REGISTER Msr;\r
712\r
713 Msr.Uint64 = AsmReadMsr64 (MSR_IVY_BRIDGE_TEMPERATURE_TARGET);\r
714 AsmWriteMsr64 (MSR_IVY_BRIDGE_TEMPERATURE_TARGET, Msr.Uint64);\r
715 @endcode\r
fed6c37b 716 @note MSR_IVY_BRIDGE_TEMPERATURE_TARGET is defined as MSR_TEMPERATURE_TARGET in SDM.\r
84ada87c
MK
717**/\r
718#define MSR_IVY_BRIDGE_TEMPERATURE_TARGET 0x000001A2\r
719\r
720/**\r
721 MSR information returned for MSR index #MSR_IVY_BRIDGE_TEMPERATURE_TARGET\r
722**/\r
723typedef union {\r
724 ///\r
725 /// Individual bit fields\r
726 ///\r
727 struct {\r
728 UINT32 Reserved1:16;\r
729 ///\r
730 /// [Bits 23:16] Temperature Target (RO) The minimum temperature at which\r
731 /// PROCHOT# will be asserted. The value is degree C.\r
732 ///\r
733 UINT32 TemperatureTarget:8;\r
734 ///\r
735 /// [Bits 27:24] TCC Activation Offset (R/W) Specifies a temperature\r
736 /// offset in degrees C from the temperature target (bits 23:16). PROCHOT#\r
737 /// will assert at the offset target temperature. Write is permitted only\r
738 /// MSR_PLATFORM_INFO.[30] is set.\r
739 ///\r
740 UINT32 TCCActivationOffset:4;\r
741 UINT32 Reserved2:4;\r
742 UINT32 Reserved3:32;\r
743 } Bits;\r
744 ///\r
745 /// All bit fields as a 32-bit value\r
746 ///\r
747 UINT32 Uint32;\r
748 ///\r
749 /// All bit fields as a 64-bit value\r
750 ///\r
751 UINT64 Uint64;\r
752} MSR_IVY_BRIDGE_TEMPERATURE_TARGET_REGISTER;\r
753\r
754\r
755/**\r
756 Package. Maximum Ratio Limit of Turbo Mode RO if MSR_PLATFORM_INFO.[28] = 0,\r
757 RW if MSR_PLATFORM_INFO.[28] = 1.\r
758\r
759 @param ECX MSR_IVY_BRIDGE_TURBO_RATIO_LIMIT1 (0x000001AE)\r
760 @param EAX Lower 32-bits of MSR value.\r
761 Described by the type MSR_IVY_BRIDGE_TURBO_RATIO_LIMIT1_REGISTER.\r
762 @param EDX Upper 32-bits of MSR value.\r
763 Described by the type MSR_IVY_BRIDGE_TURBO_RATIO_LIMIT1_REGISTER.\r
764\r
765 <b>Example usage</b>\r
766 @code\r
767 MSR_IVY_BRIDGE_TURBO_RATIO_LIMIT1_REGISTER Msr;\r
768\r
769 Msr.Uint64 = AsmReadMsr64 (MSR_IVY_BRIDGE_TURBO_RATIO_LIMIT1);\r
770 @endcode\r
fed6c37b 771 @note MSR_IVY_BRIDGE_TURBO_RATIO_LIMIT1 is defined as MSR_TURBO_RATIO_LIMIT1 in SDM.\r
84ada87c
MK
772**/\r
773#define MSR_IVY_BRIDGE_TURBO_RATIO_LIMIT1 0x000001AE\r
774\r
775/**\r
776 MSR information returned for MSR index #MSR_IVY_BRIDGE_TURBO_RATIO_LIMIT1\r
777**/\r
778typedef union {\r
779 ///\r
780 /// Individual bit fields\r
781 ///\r
782 struct {\r
783 ///\r
784 /// [Bits 7:0] Package. Maximum Ratio Limit for 9C Maximum turbo ratio\r
785 /// limit of 9 core active.\r
786 ///\r
787 UINT32 Maximum9C:8;\r
788 ///\r
789 /// [Bits 15:8] Package. Maximum Ratio Limit for 10C Maximum turbo ratio\r
790 /// limit of 10core active.\r
791 ///\r
792 UINT32 Maximum10C:8;\r
793 ///\r
794 /// [Bits 23:16] Package. Maximum Ratio Limit for 11C Maximum turbo ratio\r
795 /// limit of 11 core active.\r
796 ///\r
797 UINT32 Maximum11C:8;\r
798 ///\r
799 /// [Bits 31:24] Package. Maximum Ratio Limit for 12C Maximum turbo ratio\r
800 /// limit of 12 core active.\r
801 ///\r
802 UINT32 Maximum12C:8;\r
803 ///\r
804 /// [Bits 39:32] Package. Maximum Ratio Limit for 13C Maximum turbo ratio\r
805 /// limit of 13 core active.\r
806 ///\r
807 UINT32 Maximum13C:8;\r
808 ///\r
809 /// [Bits 47:40] Package. Maximum Ratio Limit for 14C Maximum turbo ratio\r
810 /// limit of 14 core active.\r
811 ///\r
812 UINT32 Maximum14C:8;\r
813 ///\r
814 /// [Bits 55:48] Package. Maximum Ratio Limit for 15C Maximum turbo ratio\r
815 /// limit of 15 core active.\r
816 ///\r
817 UINT32 Maximum15C:8;\r
818 UINT32 Reserved:7;\r
819 ///\r
820 /// [Bit 63] Package. Semaphore for Turbo Ratio Limit Configuration If 1,\r
821 /// the processor uses override configuration specified in\r
822 /// MSR_TURBO_RATIO_LIMIT and MSR_TURBO_RATIO_LIMIT1. If 0, the processor\r
823 /// uses factory-set configuration (Default).\r
824 ///\r
825 UINT32 TurboRatioLimitConfigurationSemaphore:1;\r
826 } Bits;\r
827 ///\r
828 /// All bit fields as a 64-bit value\r
829 ///\r
830 UINT64 Uint64;\r
831} MSR_IVY_BRIDGE_TURBO_RATIO_LIMIT1_REGISTER;\r
832\r
833\r
834/**\r
0f16be6d 835 Package. Misc MAC information of Integrated I/O. (R/O) see Section 15.3.2.4.\r
84ada87c 836\r
0f16be6d 837 @param ECX MSR_IVY_BRIDGE_IA32_MC6_MISC (0x0000041B)\r
84ada87c 838 @param EAX Lower 32-bits of MSR value.\r
0f16be6d 839 Described by the type MSR_IVY_BRIDGE_IA32_MC6_MISC_REGISTER.\r
84ada87c 840 @param EDX Upper 32-bits of MSR value.\r
0f16be6d 841 Described by the type MSR_IVY_BRIDGE_IA32_MC6_MISC_REGISTER.\r
84ada87c
MK
842\r
843 <b>Example usage</b>\r
844 @code\r
0f16be6d 845 MSR_IVY_BRIDGE_IA32_MC6_MISC_REGISTER Msr;\r
84ada87c 846\r
0f16be6d 847 Msr.Uint64 = AsmReadMsr64 (MSR_IVY_BRIDGE_IA32_MC6_MISC);\r
84ada87c 848 @endcode\r
0f16be6d 849 @note MSR_IVY_BRIDGE_IA32_MC6_MISC is defined as IA32_MC6_MISC in SDM.\r
84ada87c 850**/\r
0f16be6d
HW
851#define MSR_IVY_BRIDGE_IA32_MC6_MISC 0x0000041B\r
852\r
853/**\r
854 MSR information returned for MSR index #MSR_IVY_BRIDGE_IA32_MC6_MISC\r
855**/\r
856typedef union {\r
857 ///\r
858 /// Individual bit fields\r
859 ///\r
860 struct {\r
861 ///\r
862 /// [Bits 5:0] Recoverable Address LSB.\r
863 ///\r
864 UINT32 RecoverableAddressLSB:6;\r
865 ///\r
866 /// [Bits 8:6] Address Mode.\r
867 ///\r
868 UINT32 AddressMode:3;\r
869 UINT32 Reserved1:7;\r
870 ///\r
871 /// [Bits 31:16] PCI Express Requestor ID.\r
872 ///\r
873 UINT32 PCIExpressRequestorID:16;\r
874 ///\r
875 /// [Bits 39:32] PCI Express Segment Number.\r
876 ///\r
877 UINT32 PCIExpressSegmentNumber:8;\r
878 UINT32 Reserved2:24;\r
879 } Bits;\r
880 ///\r
881 /// All bit fields as a 64-bit value\r
882 ///\r
883 UINT64 Uint64;\r
884} MSR_IVY_BRIDGE_IA32_MC6_MISC_REGISTER;\r
84ada87c
MK
885\r
886\r
887/**\r
888 Package. See Section 15.3.2.1, "IA32_MCi_CTL MSRs." through Section\r
889 15.3.2.4, "IA32_MCi_MISC MSRs.".\r
890\r
0f16be6d
HW
891 Bank MC29 through MC31 reports MC error from a specific CBo (core broadcast)\r
892 and its corresponding slice of L3.\r
84ada87c 893\r
0f16be6d 894 @param ECX MSR_IVY_BRIDGE_IA32_MCi_CTL\r
84ada87c
MK
895 @param EAX Lower 32-bits of MSR value.\r
896 @param EDX Upper 32-bits of MSR value.\r
897\r
898 <b>Example usage</b>\r
899 @code\r
900 UINT64 Msr;\r
901\r
0f16be6d
HW
902 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_IA32_MC29_CTL);\r
903 AsmWriteMsr64 (MSR_IVY_BRIDGE_IA32_MC29_CTL, Msr);\r
84ada87c 904 @endcode\r
0f16be6d
HW
905 @note MSR_IVY_BRIDGE_IA32_MC29_CTL is defined as IA32_MC29_CTL in SDM.\r
906 MSR_IVY_BRIDGE_IA32_MC30_CTL is defined as IA32_MC30_CTL in SDM.\r
907 MSR_IVY_BRIDGE_IA32_MC31_CTL is defined as IA32_MC31_CTL in SDM.\r
84ada87c
MK
908 @{\r
909**/\r
0f16be6d
HW
910#define MSR_IVY_BRIDGE_IA32_MC29_CTL 0x00000474\r
911#define MSR_IVY_BRIDGE_IA32_MC30_CTL 0x00000478\r
912#define MSR_IVY_BRIDGE_IA32_MC31_CTL 0x0000047C\r
84ada87c
MK
913/// @}\r
914\r
915\r
916/**\r
917 Package. See Section 15.3.2.1, "IA32_MCi_CTL MSRs." through Section\r
918 15.3.2.4, "IA32_MCi_MISC MSRs.".\r
919\r
0f16be6d
HW
920 Bank MC29 through MC31 reports MC error from a specific CBo (core broadcast)\r
921 and its corresponding slice of L3.\r
922\r
923 @param ECX MSR_IVY_BRIDGE_IA32_MCi_STATUS\r
84ada87c
MK
924 @param EAX Lower 32-bits of MSR value.\r
925 @param EDX Upper 32-bits of MSR value.\r
926\r
927 <b>Example usage</b>\r
928 @code\r
929 UINT64 Msr;\r
930\r
0f16be6d
HW
931 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_IA32_MC29_STATUS);\r
932 AsmWriteMsr64 (MSR_IVY_BRIDGE_IA32_MC29_STATUS, Msr);\r
84ada87c 933 @endcode\r
0f16be6d
HW
934 @note MSR_IVY_BRIDGE_IA32_MC29_STATUS is defined as IA32_MC29_STATUS in SDM.\r
935 MSR_IVY_BRIDGE_IA32_MC30_STATUS is defined as IA32_MC30_STATUS in SDM.\r
936 MSR_IVY_BRIDGE_IA32_MC31_STATUS is defined as IA32_MC31_STATUS in SDM.\r
84ada87c
MK
937 @{\r
938**/\r
0f16be6d
HW
939#define MSR_IVY_BRIDGE_IA32_MC29_STATUS 0x00000475\r
940#define MSR_IVY_BRIDGE_IA32_MC30_STATUS 0x00000479\r
941#define MSR_IVY_BRIDGE_IA32_MC31_STATUS 0x0000047D\r
84ada87c
MK
942/// @}\r
943\r
944\r
945/**\r
946 Package. See Section 15.3.2.1, "IA32_MCi_CTL MSRs." through Section\r
947 15.3.2.4, "IA32_MCi_MISC MSRs.".\r
948\r
0f16be6d
HW
949 Bank MC29 through MC31 reports MC error from a specific CBo (core broadcast)\r
950 and its corresponding slice of L3.\r
951\r
952 @param ECX MSR_IVY_BRIDGE_IA32_MCi_ADDR\r
84ada87c
MK
953 @param EAX Lower 32-bits of MSR value.\r
954 @param EDX Upper 32-bits of MSR value.\r
955\r
956 <b>Example usage</b>\r
957 @code\r
958 UINT64 Msr;\r
959\r
0f16be6d
HW
960 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_IA32_MC29_ADDR);\r
961 AsmWriteMsr64 (MSR_IVY_BRIDGE_IA32_MC29_ADDR, Msr);\r
84ada87c 962 @endcode\r
0f16be6d
HW
963 @note MSR_IVY_BRIDGE_IA32_MC29_ADDR is defined as IA32_MC29_ADDR in SDM.\r
964 MSR_IVY_BRIDGE_IA32_MC30_ADDR is defined as IA32_MC30_ADDR in SDM.\r
965 MSR_IVY_BRIDGE_IA32_MC31_ADDR is defined as IA32_MC31_ADDR in SDM.\r
84ada87c
MK
966 @{\r
967**/\r
0f16be6d
HW
968#define MSR_IVY_BRIDGE_IA32_MC29_ADDR 0x00000476\r
969#define MSR_IVY_BRIDGE_IA32_MC30_ADDR 0x0000047A\r
970#define MSR_IVY_BRIDGE_IA32_MC31_ADDR 0x0000047E\r
84ada87c
MK
971/// @}\r
972\r
973\r
974/**\r
0f16be6d
HW
975 Package. See Section 15.3.2.1, "IA32_MCi_CTL MSRs." through Section\r
976 15.3.2.4, "IA32_MCi_MISC MSRs.".\r
84ada87c 977\r
0f16be6d
HW
978 Bank MC29 through MC31 reports MC error from a specific CBo (core broadcast)\r
979 and its corresponding slice of L3.\r
980\r
981 @param ECX MSR_IVY_BRIDGE_IA32_MCi_MISC\r
84ada87c 982 @param EAX Lower 32-bits of MSR value.\r
84ada87c 983 @param EDX Upper 32-bits of MSR value.\r
84ada87c
MK
984\r
985 <b>Example usage</b>\r
986 @code\r
0f16be6d 987 UINT64 Msr;\r
84ada87c 988\r
0f16be6d
HW
989 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_IA32_MC29_MISC);\r
990 AsmWriteMsr64 (MSR_IVY_BRIDGE_IA32_MC29_MISC, Msr);\r
84ada87c 991 @endcode\r
0f16be6d
HW
992 @note MSR_IVY_BRIDGE_IA32_MC29_MISC is defined as IA32_MC29_MISC in SDM.\r
993 MSR_IVY_BRIDGE_IA32_MC30_MISC is defined as IA32_MC30_MISC in SDM.\r
994 MSR_IVY_BRIDGE_IA32_MC31_MISC is defined as IA32_MC31_MISC in SDM.\r
995 @{\r
84ada87c 996**/\r
0f16be6d
HW
997#define MSR_IVY_BRIDGE_IA32_MC29_MISC 0x00000477\r
998#define MSR_IVY_BRIDGE_IA32_MC30_MISC 0x0000047B\r
999#define MSR_IVY_BRIDGE_IA32_MC31_MISC 0x0000047F\r
1000/// @}\r
84ada87c
MK
1001\r
1002\r
1003/**\r
1004 Package. Package RAPL Perf Status (R/O).\r
1005\r
1006 @param ECX MSR_IVY_BRIDGE_PKG_PERF_STATUS (0x00000613)\r
1007 @param EAX Lower 32-bits of MSR value.\r
1008 @param EDX Upper 32-bits of MSR value.\r
1009\r
1010 <b>Example usage</b>\r
1011 @code\r
1012 UINT64 Msr;\r
1013\r
1014 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_PKG_PERF_STATUS);\r
1015 @endcode\r
fed6c37b 1016 @note MSR_IVY_BRIDGE_PKG_PERF_STATUS is defined as MSR_PKG_PERF_STATUS in SDM.\r
84ada87c
MK
1017**/\r
1018#define MSR_IVY_BRIDGE_PKG_PERF_STATUS 0x00000613\r
1019\r
1020\r
1021/**\r
1022 Package. DRAM RAPL Power Limit Control (R/W) See Section 14.9.5, "DRAM RAPL\r
1023 Domain.".\r
1024\r
1025 @param ECX MSR_IVY_BRIDGE_DRAM_POWER_LIMIT (0x00000618)\r
1026 @param EAX Lower 32-bits of MSR value.\r
1027 @param EDX Upper 32-bits of MSR value.\r
1028\r
1029 <b>Example usage</b>\r
1030 @code\r
1031 UINT64 Msr;\r
1032\r
1033 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_DRAM_POWER_LIMIT);\r
1034 AsmWriteMsr64 (MSR_IVY_BRIDGE_DRAM_POWER_LIMIT, Msr);\r
1035 @endcode\r
fed6c37b 1036 @note MSR_IVY_BRIDGE_DRAM_POWER_LIMIT is defined as MSR_DRAM_POWER_LIMIT in SDM.\r
84ada87c
MK
1037**/\r
1038#define MSR_IVY_BRIDGE_DRAM_POWER_LIMIT 0x00000618\r
1039\r
1040\r
1041/**\r
1042 Package. DRAM Energy Status (R/O) See Section 14.9.5, "DRAM RAPL Domain.".\r
1043\r
1044 @param ECX MSR_IVY_BRIDGE_DRAM_ENERGY_STATUS (0x00000619)\r
1045 @param EAX Lower 32-bits of MSR value.\r
1046 @param EDX Upper 32-bits of MSR value.\r
1047\r
1048 <b>Example usage</b>\r
1049 @code\r
1050 UINT64 Msr;\r
1051\r
1052 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_DRAM_ENERGY_STATUS);\r
1053 @endcode\r
fed6c37b 1054 @note MSR_IVY_BRIDGE_DRAM_ENERGY_STATUS is defined as MSR_DRAM_ENERGY_STATUS in SDM.\r
84ada87c
MK
1055**/\r
1056#define MSR_IVY_BRIDGE_DRAM_ENERGY_STATUS 0x00000619\r
1057\r
1058\r
1059/**\r
1060 Package. DRAM Performance Throttling Status (R/O) See Section 14.9.5, "DRAM\r
1061 RAPL Domain.".\r
1062\r
1063 @param ECX MSR_IVY_BRIDGE_DRAM_PERF_STATUS (0x0000061B)\r
1064 @param EAX Lower 32-bits of MSR value.\r
1065 @param EDX Upper 32-bits of MSR value.\r
1066\r
1067 <b>Example usage</b>\r
1068 @code\r
1069 UINT64 Msr;\r
1070\r
1071 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_DRAM_PERF_STATUS);\r
1072 @endcode\r
fed6c37b 1073 @note MSR_IVY_BRIDGE_DRAM_PERF_STATUS is defined as MSR_DRAM_PERF_STATUS in SDM.\r
84ada87c
MK
1074**/\r
1075#define MSR_IVY_BRIDGE_DRAM_PERF_STATUS 0x0000061B\r
1076\r
1077\r
1078/**\r
1079 Package. DRAM RAPL Parameters (R/W) See Section 14.9.5, "DRAM RAPL Domain.".\r
1080\r
1081 @param ECX MSR_IVY_BRIDGE_DRAM_POWER_INFO (0x0000061C)\r
1082 @param EAX Lower 32-bits of MSR value.\r
1083 @param EDX Upper 32-bits of MSR value.\r
1084\r
1085 <b>Example usage</b>\r
1086 @code\r
1087 UINT64 Msr;\r
1088\r
1089 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_DRAM_POWER_INFO);\r
1090 AsmWriteMsr64 (MSR_IVY_BRIDGE_DRAM_POWER_INFO, Msr);\r
1091 @endcode\r
fed6c37b 1092 @note MSR_IVY_BRIDGE_DRAM_POWER_INFO is defined as MSR_DRAM_POWER_INFO in SDM.\r
84ada87c
MK
1093**/\r
1094#define MSR_IVY_BRIDGE_DRAM_POWER_INFO 0x0000061C\r
1095\r
1096\r
1097/**\r
0f16be6d 1098 Thread. See Section 18.8.1.1, "Precise Event Based Sampling (PEBS).".\r
84ada87c
MK
1099\r
1100 @param ECX MSR_IVY_BRIDGE_PEBS_ENABLE (0x000003F1)\r
1101 @param EAX Lower 32-bits of MSR value.\r
1102 Described by the type MSR_IVY_BRIDGE_PEBS_ENABLE_REGISTER.\r
1103 @param EDX Upper 32-bits of MSR value.\r
1104 Described by the type MSR_IVY_BRIDGE_PEBS_ENABLE_REGISTER.\r
1105\r
1106 <b>Example usage</b>\r
1107 @code\r
1108 MSR_IVY_BRIDGE_PEBS_ENABLE_REGISTER Msr;\r
1109\r
1110 Msr.Uint64 = AsmReadMsr64 (MSR_IVY_BRIDGE_PEBS_ENABLE);\r
1111 AsmWriteMsr64 (MSR_IVY_BRIDGE_PEBS_ENABLE, Msr.Uint64);\r
1112 @endcode\r
fed6c37b 1113 @note MSR_IVY_BRIDGE_PEBS_ENABLE is defined as MSR_PEBS_ENABLE in SDM.\r
84ada87c
MK
1114**/\r
1115#define MSR_IVY_BRIDGE_PEBS_ENABLE 0x000003F1\r
1116\r
1117/**\r
1118 MSR information returned for MSR index #MSR_IVY_BRIDGE_PEBS_ENABLE\r
1119**/\r
1120typedef union {\r
1121 ///\r
1122 /// Individual bit fields\r
1123 ///\r
1124 struct {\r
1125 ///\r
1126 /// [Bit 0] Enable PEBS on IA32_PMC0. (R/W).\r
1127 ///\r
1128 UINT32 PEBS_EN_PMC0:1;\r
1129 ///\r
1130 /// [Bit 1] Enable PEBS on IA32_PMC1. (R/W).\r
1131 ///\r
1132 UINT32 PEBS_EN_PMC1:1;\r
1133 ///\r
1134 /// [Bit 2] Enable PEBS on IA32_PMC2. (R/W).\r
1135 ///\r
1136 UINT32 PEBS_EN_PMC2:1;\r
1137 ///\r
1138 /// [Bit 3] Enable PEBS on IA32_PMC3. (R/W).\r
1139 ///\r
1140 UINT32 PEBS_EN_PMC3:1;\r
1141 UINT32 Reserved1:28;\r
1142 ///\r
1143 /// [Bit 32] Enable Load Latency on IA32_PMC0. (R/W).\r
1144 ///\r
1145 UINT32 LL_EN_PMC0:1;\r
1146 ///\r
1147 /// [Bit 33] Enable Load Latency on IA32_PMC1. (R/W).\r
1148 ///\r
1149 UINT32 LL_EN_PMC1:1;\r
1150 ///\r
1151 /// [Bit 34] Enable Load Latency on IA32_PMC2. (R/W).\r
1152 ///\r
1153 UINT32 LL_EN_PMC2:1;\r
1154 ///\r
1155 /// [Bit 35] Enable Load Latency on IA32_PMC3. (R/W).\r
1156 ///\r
1157 UINT32 LL_EN_PMC3:1;\r
1158 UINT32 Reserved2:28;\r
1159 } Bits;\r
1160 ///\r
1161 /// All bit fields as a 64-bit value\r
1162 ///\r
1163 UINT64 Uint64;\r
1164} MSR_IVY_BRIDGE_PEBS_ENABLE_REGISTER;\r
1165\r
1166\r
1167/**\r
1168 Package. Uncore perfmon per-socket global control.\r
1169\r
1170 @param ECX MSR_IVY_BRIDGE_PMON_GLOBAL_CTL (0x00000C00)\r
1171 @param EAX Lower 32-bits of MSR value.\r
1172 @param EDX Upper 32-bits of MSR value.\r
1173\r
1174 <b>Example usage</b>\r
1175 @code\r
1176 UINT64 Msr;\r
1177\r
1178 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_PMON_GLOBAL_CTL);\r
1179 AsmWriteMsr64 (MSR_IVY_BRIDGE_PMON_GLOBAL_CTL, Msr);\r
1180 @endcode\r
fed6c37b 1181 @note MSR_IVY_BRIDGE_PMON_GLOBAL_CTL is defined as MSR_PMON_GLOBAL_CTL in SDM.\r
84ada87c
MK
1182**/\r
1183#define MSR_IVY_BRIDGE_PMON_GLOBAL_CTL 0x00000C00\r
1184\r
1185\r
1186/**\r
1187 Package. Uncore perfmon per-socket global status.\r
1188\r
1189 @param ECX MSR_IVY_BRIDGE_PMON_GLOBAL_STATUS (0x00000C01)\r
1190 @param EAX Lower 32-bits of MSR value.\r
1191 @param EDX Upper 32-bits of MSR value.\r
1192\r
1193 <b>Example usage</b>\r
1194 @code\r
1195 UINT64 Msr;\r
1196\r
1197 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_PMON_GLOBAL_STATUS);\r
1198 AsmWriteMsr64 (MSR_IVY_BRIDGE_PMON_GLOBAL_STATUS, Msr);\r
1199 @endcode\r
fed6c37b 1200 @note MSR_IVY_BRIDGE_PMON_GLOBAL_STATUS is defined as MSR_PMON_GLOBAL_STATUS in SDM.\r
84ada87c
MK
1201**/\r
1202#define MSR_IVY_BRIDGE_PMON_GLOBAL_STATUS 0x00000C01\r
1203\r
1204\r
1205/**\r
1206 Package. Uncore perfmon per-socket global configuration.\r
1207\r
1208 @param ECX MSR_IVY_BRIDGE_PMON_GLOBAL_CONFIG (0x00000C06)\r
1209 @param EAX Lower 32-bits of MSR value.\r
1210 @param EDX Upper 32-bits of MSR value.\r
1211\r
1212 <b>Example usage</b>\r
1213 @code\r
1214 UINT64 Msr;\r
1215\r
1216 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_PMON_GLOBAL_CONFIG);\r
1217 AsmWriteMsr64 (MSR_IVY_BRIDGE_PMON_GLOBAL_CONFIG, Msr);\r
1218 @endcode\r
fed6c37b 1219 @note MSR_IVY_BRIDGE_PMON_GLOBAL_CONFIG is defined as MSR_PMON_GLOBAL_CONFIG in SDM.\r
84ada87c
MK
1220**/\r
1221#define MSR_IVY_BRIDGE_PMON_GLOBAL_CONFIG 0x00000C06\r
1222\r
1223\r
1224/**\r
1225 Package. Uncore U-box perfmon U-box wide status.\r
1226\r
1227 @param ECX MSR_IVY_BRIDGE_U_PMON_BOX_STATUS (0x00000C15)\r
1228 @param EAX Lower 32-bits of MSR value.\r
1229 @param EDX Upper 32-bits of MSR value.\r
1230\r
1231 <b>Example usage</b>\r
1232 @code\r
1233 UINT64 Msr;\r
1234\r
1235 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_U_PMON_BOX_STATUS);\r
1236 AsmWriteMsr64 (MSR_IVY_BRIDGE_U_PMON_BOX_STATUS, Msr);\r
1237 @endcode\r
fed6c37b 1238 @note MSR_IVY_BRIDGE_U_PMON_BOX_STATUS is defined as MSR_U_PMON_BOX_STATUS in SDM.\r
84ada87c
MK
1239**/\r
1240#define MSR_IVY_BRIDGE_U_PMON_BOX_STATUS 0x00000C15\r
1241\r
1242\r
1243/**\r
1244 Package. Uncore PCU perfmon box wide status.\r
1245\r
1246 @param ECX MSR_IVY_BRIDGE_PCU_PMON_BOX_STATUS (0x00000C35)\r
1247 @param EAX Lower 32-bits of MSR value.\r
1248 @param EDX Upper 32-bits of MSR value.\r
1249\r
1250 <b>Example usage</b>\r
1251 @code\r
1252 UINT64 Msr;\r
1253\r
1254 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_PCU_PMON_BOX_STATUS);\r
1255 AsmWriteMsr64 (MSR_IVY_BRIDGE_PCU_PMON_BOX_STATUS, Msr);\r
1256 @endcode\r
fed6c37b 1257 @note MSR_IVY_BRIDGE_PCU_PMON_BOX_STATUS is defined as MSR_PCU_PMON_BOX_STATUS in SDM.\r
84ada87c
MK
1258**/\r
1259#define MSR_IVY_BRIDGE_PCU_PMON_BOX_STATUS 0x00000C35\r
1260\r
1261\r
1262/**\r
1263 Package. Uncore C-box 0 perfmon box wide filter1.\r
1264\r
1265 @param ECX MSR_IVY_BRIDGE_C0_PMON_BOX_FILTER1 (0x00000D1A)\r
1266 @param EAX Lower 32-bits of MSR value.\r
1267 @param EDX Upper 32-bits of MSR value.\r
1268\r
1269 <b>Example usage</b>\r
1270 @code\r
1271 UINT64 Msr;\r
1272\r
1273 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C0_PMON_BOX_FILTER1);\r
1274 AsmWriteMsr64 (MSR_IVY_BRIDGE_C0_PMON_BOX_FILTER1, Msr);\r
1275 @endcode\r
fed6c37b 1276 @note MSR_IVY_BRIDGE_C0_PMON_BOX_FILTER1 is defined as MSR_C0_PMON_BOX_FILTER1 in SDM.\r
84ada87c
MK
1277**/\r
1278#define MSR_IVY_BRIDGE_C0_PMON_BOX_FILTER1 0x00000D1A\r
1279\r
1280\r
1281/**\r
1282 Package. Uncore C-box 1 perfmon box wide filter1.\r
1283\r
1284 @param ECX MSR_IVY_BRIDGE_C1_PMON_BOX_FILTER1 (0x00000D3A)\r
1285 @param EAX Lower 32-bits of MSR value.\r
1286 @param EDX Upper 32-bits of MSR value.\r
1287\r
1288 <b>Example usage</b>\r
1289 @code\r
1290 UINT64 Msr;\r
1291\r
1292 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C1_PMON_BOX_FILTER1);\r
1293 AsmWriteMsr64 (MSR_IVY_BRIDGE_C1_PMON_BOX_FILTER1, Msr);\r
1294 @endcode\r
fed6c37b 1295 @note MSR_IVY_BRIDGE_C1_PMON_BOX_FILTER1 is defined as MSR_C1_PMON_BOX_FILTER1 in SDM.\r
84ada87c
MK
1296**/\r
1297#define MSR_IVY_BRIDGE_C1_PMON_BOX_FILTER1 0x00000D3A\r
1298\r
1299\r
1300/**\r
1301 Package. Uncore C-box 2 perfmon box wide filter1.\r
1302\r
1303 @param ECX MSR_IVY_BRIDGE_C2_PMON_BOX_FILTER1 (0x00000D5A)\r
1304 @param EAX Lower 32-bits of MSR value.\r
1305 @param EDX Upper 32-bits of MSR value.\r
1306\r
1307 <b>Example usage</b>\r
1308 @code\r
1309 UINT64 Msr;\r
1310\r
1311 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C2_PMON_BOX_FILTER1);\r
1312 AsmWriteMsr64 (MSR_IVY_BRIDGE_C2_PMON_BOX_FILTER1, Msr);\r
1313 @endcode\r
fed6c37b 1314 @note MSR_IVY_BRIDGE_C2_PMON_BOX_FILTER1 is defined as MSR_C2_PMON_BOX_FILTER1 in SDM.\r
84ada87c
MK
1315**/\r
1316#define MSR_IVY_BRIDGE_C2_PMON_BOX_FILTER1 0x00000D5A\r
1317\r
1318\r
1319/**\r
1320 Package. Uncore C-box 3 perfmon box wide filter1.\r
1321\r
1322 @param ECX MSR_IVY_BRIDGE_C3_PMON_BOX_FILTER1 (0x00000D7A)\r
1323 @param EAX Lower 32-bits of MSR value.\r
1324 @param EDX Upper 32-bits of MSR value.\r
1325\r
1326 <b>Example usage</b>\r
1327 @code\r
1328 UINT64 Msr;\r
1329\r
1330 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C3_PMON_BOX_FILTER1);\r
1331 AsmWriteMsr64 (MSR_IVY_BRIDGE_C3_PMON_BOX_FILTER1, Msr);\r
1332 @endcode\r
fed6c37b 1333 @note MSR_IVY_BRIDGE_C3_PMON_BOX_FILTER1 is defined as MSR_C3_PMON_BOX_FILTER1 in SDM.\r
84ada87c
MK
1334**/\r
1335#define MSR_IVY_BRIDGE_C3_PMON_BOX_FILTER1 0x00000D7A\r
1336\r
1337\r
1338/**\r
1339 Package. Uncore C-box 4 perfmon box wide filter1.\r
1340\r
1341 @param ECX MSR_IVY_BRIDGE_C4_PMON_BOX_FILTER1 (0x00000D9A)\r
1342 @param EAX Lower 32-bits of MSR value.\r
1343 @param EDX Upper 32-bits of MSR value.\r
1344\r
1345 <b>Example usage</b>\r
1346 @code\r
1347 UINT64 Msr;\r
1348\r
1349 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C4_PMON_BOX_FILTER1);\r
1350 AsmWriteMsr64 (MSR_IVY_BRIDGE_C4_PMON_BOX_FILTER1, Msr);\r
1351 @endcode\r
fed6c37b 1352 @note MSR_IVY_BRIDGE_C4_PMON_BOX_FILTER1 is defined as MSR_C4_PMON_BOX_FILTER1 in SDM.\r
84ada87c
MK
1353**/\r
1354#define MSR_IVY_BRIDGE_C4_PMON_BOX_FILTER1 0x00000D9A\r
1355\r
1356\r
1357/**\r
1358 Package. Uncore C-box 5 perfmon box wide filter1.\r
1359\r
1360 @param ECX MSR_IVY_BRIDGE_C5_PMON_BOX_FILTER1 (0x00000DBA)\r
1361 @param EAX Lower 32-bits of MSR value.\r
1362 @param EDX Upper 32-bits of MSR value.\r
1363\r
1364 <b>Example usage</b>\r
1365 @code\r
1366 UINT64 Msr;\r
1367\r
1368 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C5_PMON_BOX_FILTER1);\r
1369 AsmWriteMsr64 (MSR_IVY_BRIDGE_C5_PMON_BOX_FILTER1, Msr);\r
1370 @endcode\r
fed6c37b 1371 @note MSR_IVY_BRIDGE_C5_PMON_BOX_FILTER1 is defined as MSR_C5_PMON_BOX_FILTER1 in SDM.\r
84ada87c
MK
1372**/\r
1373#define MSR_IVY_BRIDGE_C5_PMON_BOX_FILTER1 0x00000DBA\r
1374\r
1375\r
1376/**\r
1377 Package. Uncore C-box 6 perfmon box wide filter1.\r
1378\r
1379 @param ECX MSR_IVY_BRIDGE_C6_PMON_BOX_FILTER1 (0x00000DDA)\r
1380 @param EAX Lower 32-bits of MSR value.\r
1381 @param EDX Upper 32-bits of MSR value.\r
1382\r
1383 <b>Example usage</b>\r
1384 @code\r
1385 UINT64 Msr;\r
1386\r
1387 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C6_PMON_BOX_FILTER1);\r
1388 AsmWriteMsr64 (MSR_IVY_BRIDGE_C6_PMON_BOX_FILTER1, Msr);\r
1389 @endcode\r
fed6c37b 1390 @note MSR_IVY_BRIDGE_C6_PMON_BOX_FILTER1 is defined as MSR_C6_PMON_BOX_FILTER1 in SDM.\r
84ada87c
MK
1391**/\r
1392#define MSR_IVY_BRIDGE_C6_PMON_BOX_FILTER1 0x00000DDA\r
1393\r
1394\r
1395/**\r
1396 Package. Uncore C-box 7 perfmon box wide filter1.\r
1397\r
1398 @param ECX MSR_IVY_BRIDGE_C7_PMON_BOX_FILTER1 (0x00000DFA)\r
1399 @param EAX Lower 32-bits of MSR value.\r
1400 @param EDX Upper 32-bits of MSR value.\r
1401\r
1402 <b>Example usage</b>\r
1403 @code\r
1404 UINT64 Msr;\r
1405\r
1406 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C7_PMON_BOX_FILTER1);\r
1407 AsmWriteMsr64 (MSR_IVY_BRIDGE_C7_PMON_BOX_FILTER1, Msr);\r
1408 @endcode\r
fed6c37b 1409 @note MSR_IVY_BRIDGE_C7_PMON_BOX_FILTER1 is defined as MSR_C7_PMON_BOX_FILTER1 in SDM.\r
84ada87c
MK
1410**/\r
1411#define MSR_IVY_BRIDGE_C7_PMON_BOX_FILTER1 0x00000DFA\r
1412\r
1413\r
1414/**\r
1415 Package. Uncore C-box 8 perfmon local box wide control.\r
1416\r
1417 @param ECX MSR_IVY_BRIDGE_C8_PMON_BOX_CTL (0x00000E04)\r
1418 @param EAX Lower 32-bits of MSR value.\r
1419 @param EDX Upper 32-bits of MSR value.\r
1420\r
1421 <b>Example usage</b>\r
1422 @code\r
1423 UINT64 Msr;\r
1424\r
1425 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C8_PMON_BOX_CTL);\r
1426 AsmWriteMsr64 (MSR_IVY_BRIDGE_C8_PMON_BOX_CTL, Msr);\r
1427 @endcode\r
fed6c37b 1428 @note MSR_IVY_BRIDGE_C8_PMON_BOX_CTL is defined as MSR_C8_PMON_BOX_CTL in SDM.\r
84ada87c
MK
1429**/\r
1430#define MSR_IVY_BRIDGE_C8_PMON_BOX_CTL 0x00000E04\r
1431\r
1432\r
1433/**\r
1434 Package. Uncore C-box 8 perfmon event select for C-box 8 counter 0.\r
1435\r
1436 @param ECX MSR_IVY_BRIDGE_C8_PMON_EVNTSEL0 (0x00000E10)\r
1437 @param EAX Lower 32-bits of MSR value.\r
1438 @param EDX Upper 32-bits of MSR value.\r
1439\r
1440 <b>Example usage</b>\r
1441 @code\r
1442 UINT64 Msr;\r
1443\r
1444 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C8_PMON_EVNTSEL0);\r
1445 AsmWriteMsr64 (MSR_IVY_BRIDGE_C8_PMON_EVNTSEL0, Msr);\r
1446 @endcode\r
fed6c37b 1447 @note MSR_IVY_BRIDGE_C8_PMON_EVNTSEL0 is defined as MSR_C8_PMON_EVNTSEL0 in SDM.\r
84ada87c
MK
1448**/\r
1449#define MSR_IVY_BRIDGE_C8_PMON_EVNTSEL0 0x00000E10\r
1450\r
1451\r
1452/**\r
1453 Package. Uncore C-box 8 perfmon event select for C-box 8 counter 1.\r
1454\r
1455 @param ECX MSR_IVY_BRIDGE_C8_PMON_EVNTSEL1 (0x00000E11)\r
1456 @param EAX Lower 32-bits of MSR value.\r
1457 @param EDX Upper 32-bits of MSR value.\r
1458\r
1459 <b>Example usage</b>\r
1460 @code\r
1461 UINT64 Msr;\r
1462\r
1463 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C8_PMON_EVNTSEL1);\r
1464 AsmWriteMsr64 (MSR_IVY_BRIDGE_C8_PMON_EVNTSEL1, Msr);\r
1465 @endcode\r
fed6c37b 1466 @note MSR_IVY_BRIDGE_C8_PMON_EVNTSEL1 is defined as MSR_C8_PMON_EVNTSEL1 in SDM.\r
84ada87c
MK
1467**/\r
1468#define MSR_IVY_BRIDGE_C8_PMON_EVNTSEL1 0x00000E11\r
1469\r
1470\r
1471/**\r
1472 Package. Uncore C-box 8 perfmon event select for C-box 8 counter 2.\r
1473\r
1474 @param ECX MSR_IVY_BRIDGE_C8_PMON_EVNTSEL2 (0x00000E12)\r
1475 @param EAX Lower 32-bits of MSR value.\r
1476 @param EDX Upper 32-bits of MSR value.\r
1477\r
1478 <b>Example usage</b>\r
1479 @code\r
1480 UINT64 Msr;\r
1481\r
1482 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C8_PMON_EVNTSEL2);\r
1483 AsmWriteMsr64 (MSR_IVY_BRIDGE_C8_PMON_EVNTSEL2, Msr);\r
1484 @endcode\r
fed6c37b 1485 @note MSR_IVY_BRIDGE_C8_PMON_EVNTSEL2 is defined as MSR_C8_PMON_EVNTSEL2 in SDM.\r
84ada87c
MK
1486**/\r
1487#define MSR_IVY_BRIDGE_C8_PMON_EVNTSEL2 0x00000E12\r
1488\r
1489\r
1490/**\r
1491 Package. Uncore C-box 8 perfmon event select for C-box 8 counter 3.\r
1492\r
1493 @param ECX MSR_IVY_BRIDGE_C8_PMON_EVNTSEL3 (0x00000E13)\r
1494 @param EAX Lower 32-bits of MSR value.\r
1495 @param EDX Upper 32-bits of MSR value.\r
1496\r
1497 <b>Example usage</b>\r
1498 @code\r
1499 UINT64 Msr;\r
1500\r
1501 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C8_PMON_EVNTSEL3);\r
1502 AsmWriteMsr64 (MSR_IVY_BRIDGE_C8_PMON_EVNTSEL3, Msr);\r
1503 @endcode\r
fed6c37b 1504 @note MSR_IVY_BRIDGE_C8_PMON_EVNTSEL3 is defined as MSR_C8_PMON_EVNTSEL3 in SDM.\r
84ada87c
MK
1505**/\r
1506#define MSR_IVY_BRIDGE_C8_PMON_EVNTSEL3 0x00000E13\r
1507\r
1508\r
1509/**\r
1510 Package. Uncore C-box 8 perfmon box wide filter.\r
1511\r
1512 @param ECX MSR_IVY_BRIDGE_C8_PMON_BOX_FILTER (0x00000E14)\r
1513 @param EAX Lower 32-bits of MSR value.\r
1514 @param EDX Upper 32-bits of MSR value.\r
1515\r
1516 <b>Example usage</b>\r
1517 @code\r
1518 UINT64 Msr;\r
1519\r
1520 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C8_PMON_BOX_FILTER);\r
1521 AsmWriteMsr64 (MSR_IVY_BRIDGE_C8_PMON_BOX_FILTER, Msr);\r
1522 @endcode\r
fed6c37b 1523 @note MSR_IVY_BRIDGE_C8_PMON_BOX_FILTER is defined as MSR_C8_PMON_BOX_FILTER in SDM.\r
84ada87c
MK
1524**/\r
1525#define MSR_IVY_BRIDGE_C8_PMON_BOX_FILTER 0x00000E14\r
1526\r
1527\r
1528/**\r
1529 Package. Uncore C-box 8 perfmon counter 0.\r
1530\r
1531 @param ECX MSR_IVY_BRIDGE_C8_PMON_CTR0 (0x00000E16)\r
1532 @param EAX Lower 32-bits of MSR value.\r
1533 @param EDX Upper 32-bits of MSR value.\r
1534\r
1535 <b>Example usage</b>\r
1536 @code\r
1537 UINT64 Msr;\r
1538\r
1539 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C8_PMON_CTR0);\r
1540 AsmWriteMsr64 (MSR_IVY_BRIDGE_C8_PMON_CTR0, Msr);\r
1541 @endcode\r
fed6c37b 1542 @note MSR_IVY_BRIDGE_C8_PMON_CTR0 is defined as MSR_C8_PMON_CTR0 in SDM.\r
84ada87c
MK
1543**/\r
1544#define MSR_IVY_BRIDGE_C8_PMON_CTR0 0x00000E16\r
1545\r
1546\r
1547/**\r
1548 Package. Uncore C-box 8 perfmon counter 1.\r
1549\r
1550 @param ECX MSR_IVY_BRIDGE_C8_PMON_CTR1 (0x00000E17)\r
1551 @param EAX Lower 32-bits of MSR value.\r
1552 @param EDX Upper 32-bits of MSR value.\r
1553\r
1554 <b>Example usage</b>\r
1555 @code\r
1556 UINT64 Msr;\r
1557\r
1558 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C8_PMON_CTR1);\r
1559 AsmWriteMsr64 (MSR_IVY_BRIDGE_C8_PMON_CTR1, Msr);\r
1560 @endcode\r
fed6c37b 1561 @note MSR_IVY_BRIDGE_C8_PMON_CTR1 is defined as MSR_C8_PMON_CTR1 in SDM.\r
84ada87c
MK
1562**/\r
1563#define MSR_IVY_BRIDGE_C8_PMON_CTR1 0x00000E17\r
1564\r
1565\r
1566/**\r
1567 Package. Uncore C-box 8 perfmon counter 2.\r
1568\r
1569 @param ECX MSR_IVY_BRIDGE_C8_PMON_CTR2 (0x00000E18)\r
1570 @param EAX Lower 32-bits of MSR value.\r
1571 @param EDX Upper 32-bits of MSR value.\r
1572\r
1573 <b>Example usage</b>\r
1574 @code\r
1575 UINT64 Msr;\r
1576\r
1577 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C8_PMON_CTR2);\r
1578 AsmWriteMsr64 (MSR_IVY_BRIDGE_C8_PMON_CTR2, Msr);\r
1579 @endcode\r
fed6c37b 1580 @note MSR_IVY_BRIDGE_C8_PMON_CTR2 is defined as MSR_C8_PMON_CTR2 in SDM.\r
84ada87c
MK
1581**/\r
1582#define MSR_IVY_BRIDGE_C8_PMON_CTR2 0x00000E18\r
1583\r
1584\r
1585/**\r
1586 Package. Uncore C-box 8 perfmon counter 3.\r
1587\r
1588 @param ECX MSR_IVY_BRIDGE_C8_PMON_CTR3 (0x00000E19)\r
1589 @param EAX Lower 32-bits of MSR value.\r
1590 @param EDX Upper 32-bits of MSR value.\r
1591\r
1592 <b>Example usage</b>\r
1593 @code\r
1594 UINT64 Msr;\r
1595\r
1596 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C8_PMON_CTR3);\r
1597 AsmWriteMsr64 (MSR_IVY_BRIDGE_C8_PMON_CTR3, Msr);\r
1598 @endcode\r
fed6c37b 1599 @note MSR_IVY_BRIDGE_C8_PMON_CTR3 is defined as MSR_C8_PMON_CTR3 in SDM.\r
84ada87c
MK
1600**/\r
1601#define MSR_IVY_BRIDGE_C8_PMON_CTR3 0x00000E19\r
1602\r
1603\r
1604/**\r
1605 Package. Uncore C-box 8 perfmon box wide filter1.\r
1606\r
1607 @param ECX MSR_IVY_BRIDGE_C8_PMON_BOX_FILTER1 (0x00000E1A)\r
1608 @param EAX Lower 32-bits of MSR value.\r
1609 @param EDX Upper 32-bits of MSR value.\r
1610\r
1611 <b>Example usage</b>\r
1612 @code\r
1613 UINT64 Msr;\r
1614\r
1615 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C8_PMON_BOX_FILTER1);\r
1616 AsmWriteMsr64 (MSR_IVY_BRIDGE_C8_PMON_BOX_FILTER1, Msr);\r
1617 @endcode\r
fed6c37b 1618 @note MSR_IVY_BRIDGE_C8_PMON_BOX_FILTER1 is defined as MSR_C8_PMON_BOX_FILTER1 in SDM.\r
84ada87c
MK
1619**/\r
1620#define MSR_IVY_BRIDGE_C8_PMON_BOX_FILTER1 0x00000E1A\r
1621\r
1622\r
1623/**\r
1624 Package. Uncore C-box 9 perfmon local box wide control.\r
1625\r
1626 @param ECX MSR_IVY_BRIDGE_C9_PMON_BOX_CTL (0x00000E24)\r
1627 @param EAX Lower 32-bits of MSR value.\r
1628 @param EDX Upper 32-bits of MSR value.\r
1629\r
1630 <b>Example usage</b>\r
1631 @code\r
1632 UINT64 Msr;\r
1633\r
1634 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C9_PMON_BOX_CTL);\r
1635 AsmWriteMsr64 (MSR_IVY_BRIDGE_C9_PMON_BOX_CTL, Msr);\r
1636 @endcode\r
fed6c37b 1637 @note MSR_IVY_BRIDGE_C9_PMON_BOX_CTL is defined as MSR_C9_PMON_BOX_CTL in SDM.\r
84ada87c
MK
1638**/\r
1639#define MSR_IVY_BRIDGE_C9_PMON_BOX_CTL 0x00000E24\r
1640\r
1641\r
1642/**\r
1643 Package. Uncore C-box 9 perfmon event select for C-box 9 counter 0.\r
1644\r
1645 @param ECX MSR_IVY_BRIDGE_C9_PMON_EVNTSEL0 (0x00000E30)\r
1646 @param EAX Lower 32-bits of MSR value.\r
1647 @param EDX Upper 32-bits of MSR value.\r
1648\r
1649 <b>Example usage</b>\r
1650 @code\r
1651 UINT64 Msr;\r
1652\r
1653 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C9_PMON_EVNTSEL0);\r
1654 AsmWriteMsr64 (MSR_IVY_BRIDGE_C9_PMON_EVNTSEL0, Msr);\r
1655 @endcode\r
fed6c37b 1656 @note MSR_IVY_BRIDGE_C9_PMON_EVNTSEL0 is defined as MSR_C9_PMON_EVNTSEL0 in SDM.\r
84ada87c
MK
1657**/\r
1658#define MSR_IVY_BRIDGE_C9_PMON_EVNTSEL0 0x00000E30\r
1659\r
1660\r
1661/**\r
1662 Package. Uncore C-box 9 perfmon event select for C-box 9 counter 1.\r
1663\r
1664 @param ECX MSR_IVY_BRIDGE_C9_PMON_EVNTSEL1 (0x00000E31)\r
1665 @param EAX Lower 32-bits of MSR value.\r
1666 @param EDX Upper 32-bits of MSR value.\r
1667\r
1668 <b>Example usage</b>\r
1669 @code\r
1670 UINT64 Msr;\r
1671\r
1672 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C9_PMON_EVNTSEL1);\r
1673 AsmWriteMsr64 (MSR_IVY_BRIDGE_C9_PMON_EVNTSEL1, Msr);\r
1674 @endcode\r
fed6c37b 1675 @note MSR_IVY_BRIDGE_C9_PMON_EVNTSEL1 is defined as MSR_C9_PMON_EVNTSEL1 in SDM.\r
84ada87c
MK
1676**/\r
1677#define MSR_IVY_BRIDGE_C9_PMON_EVNTSEL1 0x00000E31\r
1678\r
1679\r
1680/**\r
1681 Package. Uncore C-box 9 perfmon event select for C-box 9 counter 2.\r
1682\r
1683 @param ECX MSR_IVY_BRIDGE_C9_PMON_EVNTSEL2 (0x00000E32)\r
1684 @param EAX Lower 32-bits of MSR value.\r
1685 @param EDX Upper 32-bits of MSR value.\r
1686\r
1687 <b>Example usage</b>\r
1688 @code\r
1689 UINT64 Msr;\r
1690\r
1691 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C9_PMON_EVNTSEL2);\r
1692 AsmWriteMsr64 (MSR_IVY_BRIDGE_C9_PMON_EVNTSEL2, Msr);\r
1693 @endcode\r
fed6c37b 1694 @note MSR_IVY_BRIDGE_C9_PMON_EVNTSEL2 is defined as MSR_C9_PMON_EVNTSEL2 in SDM.\r
84ada87c
MK
1695**/\r
1696#define MSR_IVY_BRIDGE_C9_PMON_EVNTSEL2 0x00000E32\r
1697\r
1698\r
1699/**\r
1700 Package. Uncore C-box 9 perfmon event select for C-box 9 counter 3.\r
1701\r
1702 @param ECX MSR_IVY_BRIDGE_C9_PMON_EVNTSEL3 (0x00000E33)\r
1703 @param EAX Lower 32-bits of MSR value.\r
1704 @param EDX Upper 32-bits of MSR value.\r
1705\r
1706 <b>Example usage</b>\r
1707 @code\r
1708 UINT64 Msr;\r
1709\r
1710 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C9_PMON_EVNTSEL3);\r
1711 AsmWriteMsr64 (MSR_IVY_BRIDGE_C9_PMON_EVNTSEL3, Msr);\r
1712 @endcode\r
fed6c37b 1713 @note MSR_IVY_BRIDGE_C9_PMON_EVNTSEL3 is defined as MSR_C9_PMON_EVNTSEL3 in SDM.\r
84ada87c
MK
1714**/\r
1715#define MSR_IVY_BRIDGE_C9_PMON_EVNTSEL3 0x00000E33\r
1716\r
1717\r
1718/**\r
1719 Package. Uncore C-box 9 perfmon box wide filter.\r
1720\r
1721 @param ECX MSR_IVY_BRIDGE_C9_PMON_BOX_FILTER (0x00000E34)\r
1722 @param EAX Lower 32-bits of MSR value.\r
1723 @param EDX Upper 32-bits of MSR value.\r
1724\r
1725 <b>Example usage</b>\r
1726 @code\r
1727 UINT64 Msr;\r
1728\r
1729 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C9_PMON_BOX_FILTER);\r
1730 AsmWriteMsr64 (MSR_IVY_BRIDGE_C9_PMON_BOX_FILTER, Msr);\r
1731 @endcode\r
fed6c37b 1732 @note MSR_IVY_BRIDGE_C9_PMON_BOX_FILTER is defined as MSR_C9_PMON_BOX_FILTER in SDM.\r
84ada87c
MK
1733**/\r
1734#define MSR_IVY_BRIDGE_C9_PMON_BOX_FILTER 0x00000E34\r
1735\r
1736\r
1737/**\r
1738 Package. Uncore C-box 9 perfmon counter 0.\r
1739\r
1740 @param ECX MSR_IVY_BRIDGE_C9_PMON_CTR0 (0x00000E36)\r
1741 @param EAX Lower 32-bits of MSR value.\r
1742 @param EDX Upper 32-bits of MSR value.\r
1743\r
1744 <b>Example usage</b>\r
1745 @code\r
1746 UINT64 Msr;\r
1747\r
1748 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C9_PMON_CTR0);\r
1749 AsmWriteMsr64 (MSR_IVY_BRIDGE_C9_PMON_CTR0, Msr);\r
1750 @endcode\r
fed6c37b 1751 @note MSR_IVY_BRIDGE_C9_PMON_CTR0 is defined as MSR_C9_PMON_CTR0 in SDM.\r
84ada87c
MK
1752**/\r
1753#define MSR_IVY_BRIDGE_C9_PMON_CTR0 0x00000E36\r
1754\r
1755\r
1756/**\r
1757 Package. Uncore C-box 9 perfmon counter 1.\r
1758\r
1759 @param ECX MSR_IVY_BRIDGE_C9_PMON_CTR1 (0x00000E37)\r
1760 @param EAX Lower 32-bits of MSR value.\r
1761 @param EDX Upper 32-bits of MSR value.\r
1762\r
1763 <b>Example usage</b>\r
1764 @code\r
1765 UINT64 Msr;\r
1766\r
1767 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C9_PMON_CTR1);\r
1768 AsmWriteMsr64 (MSR_IVY_BRIDGE_C9_PMON_CTR1, Msr);\r
1769 @endcode\r
fed6c37b 1770 @note MSR_IVY_BRIDGE_C9_PMON_CTR1 is defined as MSR_C9_PMON_CTR1 in SDM.\r
84ada87c
MK
1771**/\r
1772#define MSR_IVY_BRIDGE_C9_PMON_CTR1 0x00000E37\r
1773\r
1774\r
1775/**\r
1776 Package. Uncore C-box 9 perfmon counter 2.\r
1777\r
1778 @param ECX MSR_IVY_BRIDGE_C9_PMON_CTR2 (0x00000E38)\r
1779 @param EAX Lower 32-bits of MSR value.\r
1780 @param EDX Upper 32-bits of MSR value.\r
1781\r
1782 <b>Example usage</b>\r
1783 @code\r
1784 UINT64 Msr;\r
1785\r
1786 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C9_PMON_CTR2);\r
1787 AsmWriteMsr64 (MSR_IVY_BRIDGE_C9_PMON_CTR2, Msr);\r
1788 @endcode\r
fed6c37b 1789 @note MSR_IVY_BRIDGE_C9_PMON_CTR2 is defined as MSR_C9_PMON_CTR2 in SDM.\r
84ada87c
MK
1790**/\r
1791#define MSR_IVY_BRIDGE_C9_PMON_CTR2 0x00000E38\r
1792\r
1793\r
1794/**\r
1795 Package. Uncore C-box 9 perfmon counter 3.\r
1796\r
1797 @param ECX MSR_IVY_BRIDGE_C9_PMON_CTR3 (0x00000E39)\r
1798 @param EAX Lower 32-bits of MSR value.\r
1799 @param EDX Upper 32-bits of MSR value.\r
1800\r
1801 <b>Example usage</b>\r
1802 @code\r
1803 UINT64 Msr;\r
1804\r
1805 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C9_PMON_CTR3);\r
1806 AsmWriteMsr64 (MSR_IVY_BRIDGE_C9_PMON_CTR3, Msr);\r
1807 @endcode\r
fed6c37b 1808 @note MSR_IVY_BRIDGE_C9_PMON_CTR3 is defined as MSR_C9_PMON_CTR3 in SDM.\r
84ada87c
MK
1809**/\r
1810#define MSR_IVY_BRIDGE_C9_PMON_CTR3 0x00000E39\r
1811\r
1812\r
1813/**\r
1814 Package. Uncore C-box 9 perfmon box wide filter1.\r
1815\r
1816 @param ECX MSR_IVY_BRIDGE_C9_PMON_BOX_FILTER1 (0x00000E3A)\r
1817 @param EAX Lower 32-bits of MSR value.\r
1818 @param EDX Upper 32-bits of MSR value.\r
1819\r
1820 <b>Example usage</b>\r
1821 @code\r
1822 UINT64 Msr;\r
1823\r
1824 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C9_PMON_BOX_FILTER1);\r
1825 AsmWriteMsr64 (MSR_IVY_BRIDGE_C9_PMON_BOX_FILTER1, Msr);\r
1826 @endcode\r
fed6c37b 1827 @note MSR_IVY_BRIDGE_C9_PMON_BOX_FILTER1 is defined as MSR_C9_PMON_BOX_FILTER1 in SDM.\r
84ada87c
MK
1828**/\r
1829#define MSR_IVY_BRIDGE_C9_PMON_BOX_FILTER1 0x00000E3A\r
1830\r
1831\r
1832/**\r
1833 Package. Uncore C-box 10 perfmon local box wide control.\r
1834\r
1835 @param ECX MSR_IVY_BRIDGE_C10_PMON_BOX_CTL (0x00000E44)\r
1836 @param EAX Lower 32-bits of MSR value.\r
1837 @param EDX Upper 32-bits of MSR value.\r
1838\r
1839 <b>Example usage</b>\r
1840 @code\r
1841 UINT64 Msr;\r
1842\r
1843 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C10_PMON_BOX_CTL);\r
1844 AsmWriteMsr64 (MSR_IVY_BRIDGE_C10_PMON_BOX_CTL, Msr);\r
1845 @endcode\r
fed6c37b 1846 @note MSR_IVY_BRIDGE_C10_PMON_BOX_CTL is defined as MSR_C10_PMON_BOX_CTL in SDM.\r
84ada87c
MK
1847**/\r
1848#define MSR_IVY_BRIDGE_C10_PMON_BOX_CTL 0x00000E44\r
1849\r
1850\r
1851/**\r
1852 Package. Uncore C-box 10 perfmon event select for C-box 10 counter 0.\r
1853\r
1854 @param ECX MSR_IVY_BRIDGE_C10_PMON_EVNTSEL0 (0x00000E50)\r
1855 @param EAX Lower 32-bits of MSR value.\r
1856 @param EDX Upper 32-bits of MSR value.\r
1857\r
1858 <b>Example usage</b>\r
1859 @code\r
1860 UINT64 Msr;\r
1861\r
1862 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C10_PMON_EVNTSEL0);\r
1863 AsmWriteMsr64 (MSR_IVY_BRIDGE_C10_PMON_EVNTSEL0, Msr);\r
1864 @endcode\r
fed6c37b 1865 @note MSR_IVY_BRIDGE_C10_PMON_EVNTSEL0 is defined as MSR_C10_PMON_EVNTSEL0 in SDM.\r
84ada87c
MK
1866**/\r
1867#define MSR_IVY_BRIDGE_C10_PMON_EVNTSEL0 0x00000E50\r
1868\r
1869\r
1870/**\r
1871 Package. Uncore C-box 10 perfmon event select for C-box 10 counter 1.\r
1872\r
1873 @param ECX MSR_IVY_BRIDGE_C10_PMON_EVNTSEL1 (0x00000E51)\r
1874 @param EAX Lower 32-bits of MSR value.\r
1875 @param EDX Upper 32-bits of MSR value.\r
1876\r
1877 <b>Example usage</b>\r
1878 @code\r
1879 UINT64 Msr;\r
1880\r
1881 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C10_PMON_EVNTSEL1);\r
1882 AsmWriteMsr64 (MSR_IVY_BRIDGE_C10_PMON_EVNTSEL1, Msr);\r
1883 @endcode\r
fed6c37b 1884 @note MSR_IVY_BRIDGE_C10_PMON_EVNTSEL1 is defined as MSR_C10_PMON_EVNTSEL1 in SDM.\r
84ada87c
MK
1885**/\r
1886#define MSR_IVY_BRIDGE_C10_PMON_EVNTSEL1 0x00000E51\r
1887\r
1888\r
1889/**\r
1890 Package. Uncore C-box 10 perfmon event select for C-box 10 counter 2.\r
1891\r
1892 @param ECX MSR_IVY_BRIDGE_C10_PMON_EVNTSEL2 (0x00000E52)\r
1893 @param EAX Lower 32-bits of MSR value.\r
1894 @param EDX Upper 32-bits of MSR value.\r
1895\r
1896 <b>Example usage</b>\r
1897 @code\r
1898 UINT64 Msr;\r
1899\r
1900 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C10_PMON_EVNTSEL2);\r
1901 AsmWriteMsr64 (MSR_IVY_BRIDGE_C10_PMON_EVNTSEL2, Msr);\r
1902 @endcode\r
fed6c37b 1903 @note MSR_IVY_BRIDGE_C10_PMON_EVNTSEL2 is defined as MSR_C10_PMON_EVNTSEL2 in SDM.\r
84ada87c
MK
1904**/\r
1905#define MSR_IVY_BRIDGE_C10_PMON_EVNTSEL2 0x00000E52\r
1906\r
1907\r
1908/**\r
1909 Package. Uncore C-box 10 perfmon event select for C-box 10 counter 3.\r
1910\r
1911 @param ECX MSR_IVY_BRIDGE_C10_PMON_EVNTSEL3 (0x00000E53)\r
1912 @param EAX Lower 32-bits of MSR value.\r
1913 @param EDX Upper 32-bits of MSR value.\r
1914\r
1915 <b>Example usage</b>\r
1916 @code\r
1917 UINT64 Msr;\r
1918\r
1919 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C10_PMON_EVNTSEL3);\r
1920 AsmWriteMsr64 (MSR_IVY_BRIDGE_C10_PMON_EVNTSEL3, Msr);\r
1921 @endcode\r
fed6c37b 1922 @note MSR_IVY_BRIDGE_C10_PMON_EVNTSEL3 is defined as MSR_C10_PMON_EVNTSEL3 in SDM.\r
84ada87c
MK
1923**/\r
1924#define MSR_IVY_BRIDGE_C10_PMON_EVNTSEL3 0x00000E53\r
1925\r
1926\r
1927/**\r
1928 Package. Uncore C-box 10 perfmon box wide filter.\r
1929\r
1930 @param ECX MSR_IVY_BRIDGE_C10_PMON_BOX_FILTER (0x00000E54)\r
1931 @param EAX Lower 32-bits of MSR value.\r
1932 @param EDX Upper 32-bits of MSR value.\r
1933\r
1934 <b>Example usage</b>\r
1935 @code\r
1936 UINT64 Msr;\r
1937\r
1938 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C10_PMON_BOX_FILTER);\r
1939 AsmWriteMsr64 (MSR_IVY_BRIDGE_C10_PMON_BOX_FILTER, Msr);\r
1940 @endcode\r
fed6c37b 1941 @note MSR_IVY_BRIDGE_C10_PMON_BOX_FILTER is defined as MSR_C10_PMON_BOX_FILTER in SDM.\r
84ada87c
MK
1942**/\r
1943#define MSR_IVY_BRIDGE_C10_PMON_BOX_FILTER 0x00000E54\r
1944\r
1945\r
1946/**\r
1947 Package. Uncore C-box 10 perfmon counter 0.\r
1948\r
1949 @param ECX MSR_IVY_BRIDGE_C10_PMON_CTR0 (0x00000E56)\r
1950 @param EAX Lower 32-bits of MSR value.\r
1951 @param EDX Upper 32-bits of MSR value.\r
1952\r
1953 <b>Example usage</b>\r
1954 @code\r
1955 UINT64 Msr;\r
1956\r
1957 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C10_PMON_CTR0);\r
1958 AsmWriteMsr64 (MSR_IVY_BRIDGE_C10_PMON_CTR0, Msr);\r
1959 @endcode\r
fed6c37b 1960 @note MSR_IVY_BRIDGE_C10_PMON_CTR0 is defined as MSR_C10_PMON_CTR0 in SDM.\r
84ada87c
MK
1961**/\r
1962#define MSR_IVY_BRIDGE_C10_PMON_CTR0 0x00000E56\r
1963\r
1964\r
1965/**\r
1966 Package. Uncore C-box 10 perfmon counter 1.\r
1967\r
1968 @param ECX MSR_IVY_BRIDGE_C10_PMON_CTR1 (0x00000E57)\r
1969 @param EAX Lower 32-bits of MSR value.\r
1970 @param EDX Upper 32-bits of MSR value.\r
1971\r
1972 <b>Example usage</b>\r
1973 @code\r
1974 UINT64 Msr;\r
1975\r
1976 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C10_PMON_CTR1);\r
1977 AsmWriteMsr64 (MSR_IVY_BRIDGE_C10_PMON_CTR1, Msr);\r
1978 @endcode\r
fed6c37b 1979 @note MSR_IVY_BRIDGE_C10_PMON_CTR1 is defined as MSR_C10_PMON_CTR1 in SDM.\r
84ada87c
MK
1980**/\r
1981#define MSR_IVY_BRIDGE_C10_PMON_CTR1 0x00000E57\r
1982\r
1983\r
1984/**\r
1985 Package. Uncore C-box 10 perfmon counter 2.\r
1986\r
1987 @param ECX MSR_IVY_BRIDGE_C10_PMON_CTR2 (0x00000E58)\r
1988 @param EAX Lower 32-bits of MSR value.\r
1989 @param EDX Upper 32-bits of MSR value.\r
1990\r
1991 <b>Example usage</b>\r
1992 @code\r
1993 UINT64 Msr;\r
1994\r
1995 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C10_PMON_CTR2);\r
1996 AsmWriteMsr64 (MSR_IVY_BRIDGE_C10_PMON_CTR2, Msr);\r
1997 @endcode\r
fed6c37b 1998 @note MSR_IVY_BRIDGE_C10_PMON_CTR2 is defined as MSR_C10_PMON_CTR2 in SDM.\r
84ada87c
MK
1999**/\r
2000#define MSR_IVY_BRIDGE_C10_PMON_CTR2 0x00000E58\r
2001\r
2002\r
2003/**\r
2004 Package. Uncore C-box 10 perfmon counter 3.\r
2005\r
2006 @param ECX MSR_IVY_BRIDGE_C10_PMON_CTR3 (0x00000E59)\r
2007 @param EAX Lower 32-bits of MSR value.\r
2008 @param EDX Upper 32-bits of MSR value.\r
2009\r
2010 <b>Example usage</b>\r
2011 @code\r
2012 UINT64 Msr;\r
2013\r
2014 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C10_PMON_CTR3);\r
2015 AsmWriteMsr64 (MSR_IVY_BRIDGE_C10_PMON_CTR3, Msr);\r
2016 @endcode\r
fed6c37b 2017 @note MSR_IVY_BRIDGE_C10_PMON_CTR3 is defined as MSR_C10_PMON_CTR3 in SDM.\r
84ada87c
MK
2018**/\r
2019#define MSR_IVY_BRIDGE_C10_PMON_CTR3 0x00000E59\r
2020\r
2021\r
2022/**\r
2023 Package. Uncore C-box 10 perfmon box wide filter1.\r
2024\r
2025 @param ECX MSR_IVY_BRIDGE_C10_PMON_BOX_FILTER1 (0x00000E5A)\r
2026 @param EAX Lower 32-bits of MSR value.\r
2027 @param EDX Upper 32-bits of MSR value.\r
2028\r
2029 <b>Example usage</b>\r
2030 @code\r
2031 UINT64 Msr;\r
2032\r
2033 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C10_PMON_BOX_FILTER1);\r
2034 AsmWriteMsr64 (MSR_IVY_BRIDGE_C10_PMON_BOX_FILTER1, Msr);\r
2035 @endcode\r
fed6c37b 2036 @note MSR_IVY_BRIDGE_C10_PMON_BOX_FILTER1 is defined as MSR_C10_PMON_BOX_FILTER1 in SDM.\r
84ada87c
MK
2037**/\r
2038#define MSR_IVY_BRIDGE_C10_PMON_BOX_FILTER1 0x00000E5A\r
2039\r
2040\r
2041/**\r
2042 Package. Uncore C-box 11 perfmon local box wide control.\r
2043\r
2044 @param ECX MSR_IVY_BRIDGE_C11_PMON_BOX_CTL (0x00000E64)\r
2045 @param EAX Lower 32-bits of MSR value.\r
2046 @param EDX Upper 32-bits of MSR value.\r
2047\r
2048 <b>Example usage</b>\r
2049 @code\r
2050 UINT64 Msr;\r
2051\r
2052 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C11_PMON_BOX_CTL);\r
2053 AsmWriteMsr64 (MSR_IVY_BRIDGE_C11_PMON_BOX_CTL, Msr);\r
2054 @endcode\r
fed6c37b 2055 @note MSR_IVY_BRIDGE_C11_PMON_BOX_CTL is defined as MSR_C11_PMON_BOX_CTL in SDM.\r
84ada87c
MK
2056**/\r
2057#define MSR_IVY_BRIDGE_C11_PMON_BOX_CTL 0x00000E64\r
2058\r
2059\r
2060/**\r
2061 Package. Uncore C-box 11 perfmon event select for C-box 11 counter 0.\r
2062\r
2063 @param ECX MSR_IVY_BRIDGE_C11_PMON_EVNTSEL0 (0x00000E70)\r
2064 @param EAX Lower 32-bits of MSR value.\r
2065 @param EDX Upper 32-bits of MSR value.\r
2066\r
2067 <b>Example usage</b>\r
2068 @code\r
2069 UINT64 Msr;\r
2070\r
2071 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C11_PMON_EVNTSEL0);\r
2072 AsmWriteMsr64 (MSR_IVY_BRIDGE_C11_PMON_EVNTSEL0, Msr);\r
2073 @endcode\r
fed6c37b 2074 @note MSR_IVY_BRIDGE_C11_PMON_EVNTSEL0 is defined as MSR_C11_PMON_EVNTSEL0 in SDM.\r
84ada87c
MK
2075**/\r
2076#define MSR_IVY_BRIDGE_C11_PMON_EVNTSEL0 0x00000E70\r
2077\r
2078\r
2079/**\r
2080 Package. Uncore C-box 11 perfmon event select for C-box 11 counter 1.\r
2081\r
2082 @param ECX MSR_IVY_BRIDGE_C11_PMON_EVNTSEL1 (0x00000E71)\r
2083 @param EAX Lower 32-bits of MSR value.\r
2084 @param EDX Upper 32-bits of MSR value.\r
2085\r
2086 <b>Example usage</b>\r
2087 @code\r
2088 UINT64 Msr;\r
2089\r
2090 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C11_PMON_EVNTSEL1);\r
2091 AsmWriteMsr64 (MSR_IVY_BRIDGE_C11_PMON_EVNTSEL1, Msr);\r
2092 @endcode\r
fed6c37b 2093 @note MSR_IVY_BRIDGE_C11_PMON_EVNTSEL1 is defined as MSR_C11_PMON_EVNTSEL1 in SDM.\r
84ada87c
MK
2094**/\r
2095#define MSR_IVY_BRIDGE_C11_PMON_EVNTSEL1 0x00000E71\r
2096\r
2097\r
2098/**\r
2099 Package. Uncore C-box 11 perfmon event select for C-box 11 counter 2.\r
2100\r
2101 @param ECX MSR_IVY_BRIDGE_C11_PMON_EVNTSEL2 (0x00000E72)\r
2102 @param EAX Lower 32-bits of MSR value.\r
2103 @param EDX Upper 32-bits of MSR value.\r
2104\r
2105 <b>Example usage</b>\r
2106 @code\r
2107 UINT64 Msr;\r
2108\r
2109 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C11_PMON_EVNTSEL2);\r
2110 AsmWriteMsr64 (MSR_IVY_BRIDGE_C11_PMON_EVNTSEL2, Msr);\r
2111 @endcode\r
fed6c37b 2112 @note MSR_IVY_BRIDGE_C11_PMON_EVNTSEL2 is defined as MSR_C11_PMON_EVNTSEL2 in SDM.\r
84ada87c
MK
2113**/\r
2114#define MSR_IVY_BRIDGE_C11_PMON_EVNTSEL2 0x00000E72\r
2115\r
2116\r
2117/**\r
2118 Package. Uncore C-box 11 perfmon event select for C-box 11 counter 3.\r
2119\r
2120 @param ECX MSR_IVY_BRIDGE_C11_PMON_EVNTSEL3 (0x00000E73)\r
2121 @param EAX Lower 32-bits of MSR value.\r
2122 @param EDX Upper 32-bits of MSR value.\r
2123\r
2124 <b>Example usage</b>\r
2125 @code\r
2126 UINT64 Msr;\r
2127\r
2128 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C11_PMON_EVNTSEL3);\r
2129 AsmWriteMsr64 (MSR_IVY_BRIDGE_C11_PMON_EVNTSEL3, Msr);\r
2130 @endcode\r
fed6c37b 2131 @note MSR_IVY_BRIDGE_C11_PMON_EVNTSEL3 is defined as MSR_C11_PMON_EVNTSEL3 in SDM.\r
84ada87c
MK
2132**/\r
2133#define MSR_IVY_BRIDGE_C11_PMON_EVNTSEL3 0x00000E73\r
2134\r
2135\r
2136/**\r
2137 Package. Uncore C-box 11 perfmon box wide filter.\r
2138\r
2139 @param ECX MSR_IVY_BRIDGE_C11_PMON_BOX_FILTER (0x00000E74)\r
2140 @param EAX Lower 32-bits of MSR value.\r
2141 @param EDX Upper 32-bits of MSR value.\r
2142\r
2143 <b>Example usage</b>\r
2144 @code\r
2145 UINT64 Msr;\r
2146\r
2147 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C11_PMON_BOX_FILTER);\r
2148 AsmWriteMsr64 (MSR_IVY_BRIDGE_C11_PMON_BOX_FILTER, Msr);\r
2149 @endcode\r
fed6c37b 2150 @note MSR_IVY_BRIDGE_C11_PMON_BOX_FILTER is defined as MSR_C11_PMON_BOX_FILTER in SDM.\r
84ada87c
MK
2151**/\r
2152#define MSR_IVY_BRIDGE_C11_PMON_BOX_FILTER 0x00000E74\r
2153\r
2154\r
2155/**\r
2156 Package. Uncore C-box 11 perfmon counter 0.\r
2157\r
2158 @param ECX MSR_IVY_BRIDGE_C11_PMON_CTR0 (0x00000E76)\r
2159 @param EAX Lower 32-bits of MSR value.\r
2160 @param EDX Upper 32-bits of MSR value.\r
2161\r
2162 <b>Example usage</b>\r
2163 @code\r
2164 UINT64 Msr;\r
2165\r
2166 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C11_PMON_CTR0);\r
2167 AsmWriteMsr64 (MSR_IVY_BRIDGE_C11_PMON_CTR0, Msr);\r
2168 @endcode\r
fed6c37b 2169 @note MSR_IVY_BRIDGE_C11_PMON_CTR0 is defined as MSR_C11_PMON_CTR0 in SDM.\r
84ada87c
MK
2170**/\r
2171#define MSR_IVY_BRIDGE_C11_PMON_CTR0 0x00000E76\r
2172\r
2173\r
2174/**\r
2175 Package. Uncore C-box 11 perfmon counter 1.\r
2176\r
2177 @param ECX MSR_IVY_BRIDGE_C11_PMON_CTR1 (0x00000E77)\r
2178 @param EAX Lower 32-bits of MSR value.\r
2179 @param EDX Upper 32-bits of MSR value.\r
2180\r
2181 <b>Example usage</b>\r
2182 @code\r
2183 UINT64 Msr;\r
2184\r
2185 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C11_PMON_CTR1);\r
2186 AsmWriteMsr64 (MSR_IVY_BRIDGE_C11_PMON_CTR1, Msr);\r
2187 @endcode\r
fed6c37b 2188 @note MSR_IVY_BRIDGE_C11_PMON_CTR1 is defined as MSR_C11_PMON_CTR1 in SDM.\r
84ada87c
MK
2189**/\r
2190#define MSR_IVY_BRIDGE_C11_PMON_CTR1 0x00000E77\r
2191\r
2192\r
2193/**\r
2194 Package. Uncore C-box 11 perfmon counter 2.\r
2195\r
2196 @param ECX MSR_IVY_BRIDGE_C11_PMON_CTR2 (0x00000E78)\r
2197 @param EAX Lower 32-bits of MSR value.\r
2198 @param EDX Upper 32-bits of MSR value.\r
2199\r
2200 <b>Example usage</b>\r
2201 @code\r
2202 UINT64 Msr;\r
2203\r
2204 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C11_PMON_CTR2);\r
2205 AsmWriteMsr64 (MSR_IVY_BRIDGE_C11_PMON_CTR2, Msr);\r
2206 @endcode\r
fed6c37b 2207 @note MSR_IVY_BRIDGE_C11_PMON_CTR2 is defined as MSR_C11_PMON_CTR2 in SDM.\r
84ada87c
MK
2208**/\r
2209#define MSR_IVY_BRIDGE_C11_PMON_CTR2 0x00000E78\r
2210\r
2211\r
2212/**\r
2213 Package. Uncore C-box 11 perfmon counter 3.\r
2214\r
2215 @param ECX MSR_IVY_BRIDGE_C11_PMON_CTR3 (0x00000E79)\r
2216 @param EAX Lower 32-bits of MSR value.\r
2217 @param EDX Upper 32-bits of MSR value.\r
2218\r
2219 <b>Example usage</b>\r
2220 @code\r
2221 UINT64 Msr;\r
2222\r
2223 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C11_PMON_CTR3);\r
2224 AsmWriteMsr64 (MSR_IVY_BRIDGE_C11_PMON_CTR3, Msr);\r
2225 @endcode\r
fed6c37b 2226 @note MSR_IVY_BRIDGE_C11_PMON_CTR3 is defined as MSR_C11_PMON_CTR3 in SDM.\r
84ada87c
MK
2227**/\r
2228#define MSR_IVY_BRIDGE_C11_PMON_CTR3 0x00000E79\r
2229\r
2230\r
2231/**\r
2232 Package. Uncore C-box 11 perfmon box wide filter1.\r
2233\r
2234 @param ECX MSR_IVY_BRIDGE_C11_PMON_BOX_FILTER1 (0x00000E7A)\r
2235 @param EAX Lower 32-bits of MSR value.\r
2236 @param EDX Upper 32-bits of MSR value.\r
2237\r
2238 <b>Example usage</b>\r
2239 @code\r
2240 UINT64 Msr;\r
2241\r
2242 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C11_PMON_BOX_FILTER1);\r
2243 AsmWriteMsr64 (MSR_IVY_BRIDGE_C11_PMON_BOX_FILTER1, Msr);\r
2244 @endcode\r
fed6c37b 2245 @note MSR_IVY_BRIDGE_C11_PMON_BOX_FILTER1 is defined as MSR_C11_PMON_BOX_FILTER1 in SDM.\r
84ada87c
MK
2246**/\r
2247#define MSR_IVY_BRIDGE_C11_PMON_BOX_FILTER1 0x00000E7A\r
2248\r
2249\r
2250/**\r
2251 Package. Uncore C-box 12 perfmon local box wide control.\r
2252\r
2253 @param ECX MSR_IVY_BRIDGE_C12_PMON_BOX_CTL (0x00000E84)\r
2254 @param EAX Lower 32-bits of MSR value.\r
2255 @param EDX Upper 32-bits of MSR value.\r
2256\r
2257 <b>Example usage</b>\r
2258 @code\r
2259 UINT64 Msr;\r
2260\r
2261 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C12_PMON_BOX_CTL);\r
2262 AsmWriteMsr64 (MSR_IVY_BRIDGE_C12_PMON_BOX_CTL, Msr);\r
2263 @endcode\r
fed6c37b 2264 @note MSR_IVY_BRIDGE_C12_PMON_BOX_CTL is defined as MSR_C12_PMON_BOX_CTL in SDM.\r
84ada87c
MK
2265**/\r
2266#define MSR_IVY_BRIDGE_C12_PMON_BOX_CTL 0x00000E84\r
2267\r
2268\r
2269/**\r
2270 Package. Uncore C-box 12 perfmon event select for C-box 12 counter 0.\r
2271\r
2272 @param ECX MSR_IVY_BRIDGE_C12_PMON_EVNTSEL0 (0x00000E90)\r
2273 @param EAX Lower 32-bits of MSR value.\r
2274 @param EDX Upper 32-bits of MSR value.\r
2275\r
2276 <b>Example usage</b>\r
2277 @code\r
2278 UINT64 Msr;\r
2279\r
2280 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C12_PMON_EVNTSEL0);\r
2281 AsmWriteMsr64 (MSR_IVY_BRIDGE_C12_PMON_EVNTSEL0, Msr);\r
2282 @endcode\r
fed6c37b 2283 @note MSR_IVY_BRIDGE_C12_PMON_EVNTSEL0 is defined as MSR_C12_PMON_EVNTSEL0 in SDM.\r
84ada87c
MK
2284**/\r
2285#define MSR_IVY_BRIDGE_C12_PMON_EVNTSEL0 0x00000E90\r
2286\r
2287\r
2288/**\r
2289 Package. Uncore C-box 12 perfmon event select for C-box 12 counter 1.\r
2290\r
2291 @param ECX MSR_IVY_BRIDGE_C12_PMON_EVNTSEL1 (0x00000E91)\r
2292 @param EAX Lower 32-bits of MSR value.\r
2293 @param EDX Upper 32-bits of MSR value.\r
2294\r
2295 <b>Example usage</b>\r
2296 @code\r
2297 UINT64 Msr;\r
2298\r
2299 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C12_PMON_EVNTSEL1);\r
2300 AsmWriteMsr64 (MSR_IVY_BRIDGE_C12_PMON_EVNTSEL1, Msr);\r
2301 @endcode\r
fed6c37b 2302 @note MSR_IVY_BRIDGE_C12_PMON_EVNTSEL1 is defined as MSR_C12_PMON_EVNTSEL1 in SDM.\r
84ada87c
MK
2303**/\r
2304#define MSR_IVY_BRIDGE_C12_PMON_EVNTSEL1 0x00000E91\r
2305\r
2306\r
2307/**\r
2308 Package. Uncore C-box 12 perfmon event select for C-box 12 counter 2.\r
2309\r
2310 @param ECX MSR_IVY_BRIDGE_C12_PMON_EVNTSEL2 (0x00000E92)\r
2311 @param EAX Lower 32-bits of MSR value.\r
2312 @param EDX Upper 32-bits of MSR value.\r
2313\r
2314 <b>Example usage</b>\r
2315 @code\r
2316 UINT64 Msr;\r
2317\r
2318 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C12_PMON_EVNTSEL2);\r
2319 AsmWriteMsr64 (MSR_IVY_BRIDGE_C12_PMON_EVNTSEL2, Msr);\r
2320 @endcode\r
fed6c37b 2321 @note MSR_IVY_BRIDGE_C12_PMON_EVNTSEL2 is defined as MSR_C12_PMON_EVNTSEL2 in SDM.\r
84ada87c
MK
2322**/\r
2323#define MSR_IVY_BRIDGE_C12_PMON_EVNTSEL2 0x00000E92\r
2324\r
2325\r
2326/**\r
2327 Package. Uncore C-box 12 perfmon event select for C-box 12 counter 3.\r
2328\r
2329 @param ECX MSR_IVY_BRIDGE_C12_PMON_EVNTSEL3 (0x00000E93)\r
2330 @param EAX Lower 32-bits of MSR value.\r
2331 @param EDX Upper 32-bits of MSR value.\r
2332\r
2333 <b>Example usage</b>\r
2334 @code\r
2335 UINT64 Msr;\r
2336\r
2337 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C12_PMON_EVNTSEL3);\r
2338 AsmWriteMsr64 (MSR_IVY_BRIDGE_C12_PMON_EVNTSEL3, Msr);\r
2339 @endcode\r
fed6c37b 2340 @note MSR_IVY_BRIDGE_C12_PMON_EVNTSEL3 is defined as MSR_C12_PMON_EVNTSEL3 in SDM.\r
84ada87c
MK
2341**/\r
2342#define MSR_IVY_BRIDGE_C12_PMON_EVNTSEL3 0x00000E93\r
2343\r
2344\r
2345/**\r
2346 Package. Uncore C-box 12 perfmon box wide filter.\r
2347\r
2348 @param ECX MSR_IVY_BRIDGE_C12_PMON_BOX_FILTER (0x00000E94)\r
2349 @param EAX Lower 32-bits of MSR value.\r
2350 @param EDX Upper 32-bits of MSR value.\r
2351\r
2352 <b>Example usage</b>\r
2353 @code\r
2354 UINT64 Msr;\r
2355\r
2356 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C12_PMON_BOX_FILTER);\r
2357 AsmWriteMsr64 (MSR_IVY_BRIDGE_C12_PMON_BOX_FILTER, Msr);\r
2358 @endcode\r
fed6c37b 2359 @note MSR_IVY_BRIDGE_C12_PMON_BOX_FILTER is defined as MSR_C12_PMON_BOX_FILTER in SDM.\r
84ada87c
MK
2360**/\r
2361#define MSR_IVY_BRIDGE_C12_PMON_BOX_FILTER 0x00000E94\r
2362\r
2363\r
2364/**\r
2365 Package. Uncore C-box 12 perfmon counter 0.\r
2366\r
2367 @param ECX MSR_IVY_BRIDGE_C12_PMON_CTR0 (0x00000E96)\r
2368 @param EAX Lower 32-bits of MSR value.\r
2369 @param EDX Upper 32-bits of MSR value.\r
2370\r
2371 <b>Example usage</b>\r
2372 @code\r
2373 UINT64 Msr;\r
2374\r
2375 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C12_PMON_CTR0);\r
2376 AsmWriteMsr64 (MSR_IVY_BRIDGE_C12_PMON_CTR0, Msr);\r
2377 @endcode\r
fed6c37b 2378 @note MSR_IVY_BRIDGE_C12_PMON_CTR0 is defined as MSR_C12_PMON_CTR0 in SDM.\r
84ada87c
MK
2379**/\r
2380#define MSR_IVY_BRIDGE_C12_PMON_CTR0 0x00000E96\r
2381\r
2382\r
2383/**\r
2384 Package. Uncore C-box 12 perfmon counter 1.\r
2385\r
2386 @param ECX MSR_IVY_BRIDGE_C12_PMON_CTR1 (0x00000E97)\r
2387 @param EAX Lower 32-bits of MSR value.\r
2388 @param EDX Upper 32-bits of MSR value.\r
2389\r
2390 <b>Example usage</b>\r
2391 @code\r
2392 UINT64 Msr;\r
2393\r
2394 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C12_PMON_CTR1);\r
2395 AsmWriteMsr64 (MSR_IVY_BRIDGE_C12_PMON_CTR1, Msr);\r
2396 @endcode\r
fed6c37b 2397 @note MSR_IVY_BRIDGE_C12_PMON_CTR1 is defined as MSR_C12_PMON_CTR1 in SDM.\r
84ada87c
MK
2398**/\r
2399#define MSR_IVY_BRIDGE_C12_PMON_CTR1 0x00000E97\r
2400\r
2401\r
2402/**\r
2403 Package. Uncore C-box 12 perfmon counter 2.\r
2404\r
2405 @param ECX MSR_IVY_BRIDGE_C12_PMON_CTR2 (0x00000E98)\r
2406 @param EAX Lower 32-bits of MSR value.\r
2407 @param EDX Upper 32-bits of MSR value.\r
2408\r
2409 <b>Example usage</b>\r
2410 @code\r
2411 UINT64 Msr;\r
2412\r
2413 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C12_PMON_CTR2);\r
2414 AsmWriteMsr64 (MSR_IVY_BRIDGE_C12_PMON_CTR2, Msr);\r
2415 @endcode\r
fed6c37b 2416 @note MSR_IVY_BRIDGE_C12_PMON_CTR2 is defined as MSR_C12_PMON_CTR2 in SDM.\r
84ada87c
MK
2417**/\r
2418#define MSR_IVY_BRIDGE_C12_PMON_CTR2 0x00000E98\r
2419\r
2420\r
2421/**\r
2422 Package. Uncore C-box 12 perfmon counter 3.\r
2423\r
2424 @param ECX MSR_IVY_BRIDGE_C12_PMON_CTR3 (0x00000E99)\r
2425 @param EAX Lower 32-bits of MSR value.\r
2426 @param EDX Upper 32-bits of MSR value.\r
2427\r
2428 <b>Example usage</b>\r
2429 @code\r
2430 UINT64 Msr;\r
2431\r
2432 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C12_PMON_CTR3);\r
2433 AsmWriteMsr64 (MSR_IVY_BRIDGE_C12_PMON_CTR3, Msr);\r
2434 @endcode\r
fed6c37b 2435 @note MSR_IVY_BRIDGE_C12_PMON_CTR3 is defined as MSR_C12_PMON_CTR3 in SDM.\r
84ada87c
MK
2436**/\r
2437#define MSR_IVY_BRIDGE_C12_PMON_CTR3 0x00000E99\r
2438\r
2439\r
2440/**\r
2441 Package. Uncore C-box 12 perfmon box wide filter1.\r
2442\r
2443 @param ECX MSR_IVY_BRIDGE_C12_PMON_BOX_FILTER1 (0x00000E9A)\r
2444 @param EAX Lower 32-bits of MSR value.\r
2445 @param EDX Upper 32-bits of MSR value.\r
2446\r
2447 <b>Example usage</b>\r
2448 @code\r
2449 UINT64 Msr;\r
2450\r
2451 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C12_PMON_BOX_FILTER1);\r
2452 AsmWriteMsr64 (MSR_IVY_BRIDGE_C12_PMON_BOX_FILTER1, Msr);\r
2453 @endcode\r
fed6c37b 2454 @note MSR_IVY_BRIDGE_C12_PMON_BOX_FILTER1 is defined as MSR_C12_PMON_BOX_FILTER1 in SDM.\r
84ada87c
MK
2455**/\r
2456#define MSR_IVY_BRIDGE_C12_PMON_BOX_FILTER1 0x00000E9A\r
2457\r
2458\r
2459/**\r
2460 Package. Uncore C-box 13 perfmon local box wide control.\r
2461\r
2462 @param ECX MSR_IVY_BRIDGE_C13_PMON_BOX_CTL (0x00000EA4)\r
2463 @param EAX Lower 32-bits of MSR value.\r
2464 @param EDX Upper 32-bits of MSR value.\r
2465\r
2466 <b>Example usage</b>\r
2467 @code\r
2468 UINT64 Msr;\r
2469\r
2470 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C13_PMON_BOX_CTL);\r
2471 AsmWriteMsr64 (MSR_IVY_BRIDGE_C13_PMON_BOX_CTL, Msr);\r
2472 @endcode\r
fed6c37b 2473 @note MSR_IVY_BRIDGE_C13_PMON_BOX_CTL is defined as MSR_C13_PMON_BOX_CTL in SDM.\r
84ada87c
MK
2474**/\r
2475#define MSR_IVY_BRIDGE_C13_PMON_BOX_CTL 0x00000EA4\r
2476\r
2477\r
2478/**\r
2479 Package. Uncore C-box 13 perfmon event select for C-box 13 counter 0.\r
2480\r
2481 @param ECX MSR_IVY_BRIDGE_C13_PMON_EVNTSEL0 (0x00000EB0)\r
2482 @param EAX Lower 32-bits of MSR value.\r
2483 @param EDX Upper 32-bits of MSR value.\r
2484\r
2485 <b>Example usage</b>\r
2486 @code\r
2487 UINT64 Msr;\r
2488\r
2489 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C13_PMON_EVNTSEL0);\r
2490 AsmWriteMsr64 (MSR_IVY_BRIDGE_C13_PMON_EVNTSEL0, Msr);\r
2491 @endcode\r
fed6c37b 2492 @note MSR_IVY_BRIDGE_C13_PMON_EVNTSEL0 is defined as MSR_C13_PMON_EVNTSEL0 in SDM.\r
84ada87c
MK
2493**/\r
2494#define MSR_IVY_BRIDGE_C13_PMON_EVNTSEL0 0x00000EB0\r
2495\r
2496\r
2497/**\r
2498 Package. Uncore C-box 13 perfmon event select for C-box 13 counter 1.\r
2499\r
2500 @param ECX MSR_IVY_BRIDGE_C13_PMON_EVNTSEL1 (0x00000EB1)\r
2501 @param EAX Lower 32-bits of MSR value.\r
2502 @param EDX Upper 32-bits of MSR value.\r
2503\r
2504 <b>Example usage</b>\r
2505 @code\r
2506 UINT64 Msr;\r
2507\r
2508 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C13_PMON_EVNTSEL1);\r
2509 AsmWriteMsr64 (MSR_IVY_BRIDGE_C13_PMON_EVNTSEL1, Msr);\r
2510 @endcode\r
fed6c37b 2511 @note MSR_IVY_BRIDGE_C13_PMON_EVNTSEL1 is defined as MSR_C13_PMON_EVNTSEL1 in SDM.\r
84ada87c
MK
2512**/\r
2513#define MSR_IVY_BRIDGE_C13_PMON_EVNTSEL1 0x00000EB1\r
2514\r
2515\r
2516/**\r
2517 Package. Uncore C-box 13 perfmon event select for C-box 13 counter 2.\r
2518\r
2519 @param ECX MSR_IVY_BRIDGE_C13_PMON_EVNTSEL2 (0x00000EB2)\r
2520 @param EAX Lower 32-bits of MSR value.\r
2521 @param EDX Upper 32-bits of MSR value.\r
2522\r
2523 <b>Example usage</b>\r
2524 @code\r
2525 UINT64 Msr;\r
2526\r
2527 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C13_PMON_EVNTSEL2);\r
2528 AsmWriteMsr64 (MSR_IVY_BRIDGE_C13_PMON_EVNTSEL2, Msr);\r
2529 @endcode\r
fed6c37b 2530 @note MSR_IVY_BRIDGE_C13_PMON_EVNTSEL2 is defined as MSR_C13_PMON_EVNTSEL2 in SDM.\r
84ada87c
MK
2531**/\r
2532#define MSR_IVY_BRIDGE_C13_PMON_EVNTSEL2 0x00000EB2\r
2533\r
2534\r
2535/**\r
2536 Package. Uncore C-box 13 perfmon event select for C-box 13 counter 3.\r
2537\r
2538 @param ECX MSR_IVY_BRIDGE_C13_PMON_EVNTSEL3 (0x00000EB3)\r
2539 @param EAX Lower 32-bits of MSR value.\r
2540 @param EDX Upper 32-bits of MSR value.\r
2541\r
2542 <b>Example usage</b>\r
2543 @code\r
2544 UINT64 Msr;\r
2545\r
2546 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C13_PMON_EVNTSEL3);\r
2547 AsmWriteMsr64 (MSR_IVY_BRIDGE_C13_PMON_EVNTSEL3, Msr);\r
2548 @endcode\r
fed6c37b 2549 @note MSR_IVY_BRIDGE_C13_PMON_EVNTSEL3 is defined as MSR_C13_PMON_EVNTSEL3 in SDM.\r
84ada87c
MK
2550**/\r
2551#define MSR_IVY_BRIDGE_C13_PMON_EVNTSEL3 0x00000EB3\r
2552\r
2553\r
2554/**\r
2555 Package. Uncore C-box 13 perfmon box wide filter.\r
2556\r
2557 @param ECX MSR_IVY_BRIDGE_C13_PMON_BOX_FILTER (0x00000EB4)\r
2558 @param EAX Lower 32-bits of MSR value.\r
2559 @param EDX Upper 32-bits of MSR value.\r
2560\r
2561 <b>Example usage</b>\r
2562 @code\r
2563 UINT64 Msr;\r
2564\r
2565 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C13_PMON_BOX_FILTER);\r
2566 AsmWriteMsr64 (MSR_IVY_BRIDGE_C13_PMON_BOX_FILTER, Msr);\r
2567 @endcode\r
fed6c37b 2568 @note MSR_IVY_BRIDGE_C13_PMON_BOX_FILTER is defined as MSR_C13_PMON_BOX_FILTER in SDM.\r
84ada87c
MK
2569**/\r
2570#define MSR_IVY_BRIDGE_C13_PMON_BOX_FILTER 0x00000EB4\r
2571\r
2572\r
2573/**\r
2574 Package. Uncore C-box 13 perfmon counter 0.\r
2575\r
2576 @param ECX MSR_IVY_BRIDGE_C13_PMON_CTR0 (0x00000EB6)\r
2577 @param EAX Lower 32-bits of MSR value.\r
2578 @param EDX Upper 32-bits of MSR value.\r
2579\r
2580 <b>Example usage</b>\r
2581 @code\r
2582 UINT64 Msr;\r
2583\r
2584 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C13_PMON_CTR0);\r
2585 AsmWriteMsr64 (MSR_IVY_BRIDGE_C13_PMON_CTR0, Msr);\r
2586 @endcode\r
fed6c37b 2587 @note MSR_IVY_BRIDGE_C13_PMON_CTR0 is defined as MSR_C13_PMON_CTR0 in SDM.\r
84ada87c
MK
2588**/\r
2589#define MSR_IVY_BRIDGE_C13_PMON_CTR0 0x00000EB6\r
2590\r
2591\r
2592/**\r
2593 Package. Uncore C-box 13 perfmon counter 1.\r
2594\r
2595 @param ECX MSR_IVY_BRIDGE_C13_PMON_CTR1 (0x00000EB7)\r
2596 @param EAX Lower 32-bits of MSR value.\r
2597 @param EDX Upper 32-bits of MSR value.\r
2598\r
2599 <b>Example usage</b>\r
2600 @code\r
2601 UINT64 Msr;\r
2602\r
2603 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C13_PMON_CTR1);\r
2604 AsmWriteMsr64 (MSR_IVY_BRIDGE_C13_PMON_CTR1, Msr);\r
2605 @endcode\r
fed6c37b 2606 @note MSR_IVY_BRIDGE_C13_PMON_CTR1 is defined as MSR_C13_PMON_CTR1 in SDM.\r
84ada87c
MK
2607**/\r
2608#define MSR_IVY_BRIDGE_C13_PMON_CTR1 0x00000EB7\r
2609\r
2610\r
2611/**\r
2612 Package. Uncore C-box 13 perfmon counter 2.\r
2613\r
2614 @param ECX MSR_IVY_BRIDGE_C13_PMON_CTR2 (0x00000EB8)\r
2615 @param EAX Lower 32-bits of MSR value.\r
2616 @param EDX Upper 32-bits of MSR value.\r
2617\r
2618 <b>Example usage</b>\r
2619 @code\r
2620 UINT64 Msr;\r
2621\r
2622 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C13_PMON_CTR2);\r
2623 AsmWriteMsr64 (MSR_IVY_BRIDGE_C13_PMON_CTR2, Msr);\r
2624 @endcode\r
fed6c37b 2625 @note MSR_IVY_BRIDGE_C13_PMON_CTR2 is defined as MSR_C13_PMON_CTR2 in SDM.\r
84ada87c
MK
2626**/\r
2627#define MSR_IVY_BRIDGE_C13_PMON_CTR2 0x00000EB8\r
2628\r
2629\r
2630/**\r
2631 Package. Uncore C-box 13 perfmon counter 3.\r
2632\r
2633 @param ECX MSR_IVY_BRIDGE_C13_PMON_CTR3 (0x00000EB9)\r
2634 @param EAX Lower 32-bits of MSR value.\r
2635 @param EDX Upper 32-bits of MSR value.\r
2636\r
2637 <b>Example usage</b>\r
2638 @code\r
2639 UINT64 Msr;\r
2640\r
2641 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C13_PMON_CTR3);\r
2642 AsmWriteMsr64 (MSR_IVY_BRIDGE_C13_PMON_CTR3, Msr);\r
2643 @endcode\r
fed6c37b 2644 @note MSR_IVY_BRIDGE_C13_PMON_CTR3 is defined as MSR_C13_PMON_CTR3 in SDM.\r
84ada87c
MK
2645**/\r
2646#define MSR_IVY_BRIDGE_C13_PMON_CTR3 0x00000EB9\r
2647\r
2648\r
2649/**\r
2650 Package. Uncore C-box 13 perfmon box wide filter1.\r
2651\r
2652 @param ECX MSR_IVY_BRIDGE_C13_PMON_BOX_FILTER1 (0x00000EBA)\r
2653 @param EAX Lower 32-bits of MSR value.\r
2654 @param EDX Upper 32-bits of MSR value.\r
2655\r
2656 <b>Example usage</b>\r
2657 @code\r
2658 UINT64 Msr;\r
2659\r
2660 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C13_PMON_BOX_FILTER1);\r
2661 AsmWriteMsr64 (MSR_IVY_BRIDGE_C13_PMON_BOX_FILTER1, Msr);\r
2662 @endcode\r
fed6c37b 2663 @note MSR_IVY_BRIDGE_C13_PMON_BOX_FILTER1 is defined as MSR_C13_PMON_BOX_FILTER1 in SDM.\r
84ada87c
MK
2664**/\r
2665#define MSR_IVY_BRIDGE_C13_PMON_BOX_FILTER1 0x00000EBA\r
2666\r
2667\r
2668/**\r
2669 Package. Uncore C-box 14 perfmon local box wide control.\r
2670\r
2671 @param ECX MSR_IVY_BRIDGE_C14_PMON_BOX_CTL (0x00000EC4)\r
2672 @param EAX Lower 32-bits of MSR value.\r
2673 @param EDX Upper 32-bits of MSR value.\r
2674\r
2675 <b>Example usage</b>\r
2676 @code\r
2677 UINT64 Msr;\r
2678\r
2679 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C14_PMON_BOX_CTL);\r
2680 AsmWriteMsr64 (MSR_IVY_BRIDGE_C14_PMON_BOX_CTL, Msr);\r
2681 @endcode\r
fed6c37b 2682 @note MSR_IVY_BRIDGE_C14_PMON_BOX_CTL is defined as MSR_C14_PMON_BOX_CTL in SDM.\r
84ada87c
MK
2683**/\r
2684#define MSR_IVY_BRIDGE_C14_PMON_BOX_CTL 0x00000EC4\r
2685\r
2686\r
2687/**\r
2688 Package. Uncore C-box 14 perfmon event select for C-box 14 counter 0.\r
2689\r
2690 @param ECX MSR_IVY_BRIDGE_C14_PMON_EVNTSEL0 (0x00000ED0)\r
2691 @param EAX Lower 32-bits of MSR value.\r
2692 @param EDX Upper 32-bits of MSR value.\r
2693\r
2694 <b>Example usage</b>\r
2695 @code\r
2696 UINT64 Msr;\r
2697\r
2698 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C14_PMON_EVNTSEL0);\r
2699 AsmWriteMsr64 (MSR_IVY_BRIDGE_C14_PMON_EVNTSEL0, Msr);\r
2700 @endcode\r
fed6c37b 2701 @note MSR_IVY_BRIDGE_C14_PMON_EVNTSEL0 is defined as MSR_C14_PMON_EVNTSEL0 in SDM.\r
84ada87c
MK
2702**/\r
2703#define MSR_IVY_BRIDGE_C14_PMON_EVNTSEL0 0x00000ED0\r
2704\r
2705\r
2706/**\r
2707 Package. Uncore C-box 14 perfmon event select for C-box 14 counter 1.\r
2708\r
2709 @param ECX MSR_IVY_BRIDGE_C14_PMON_EVNTSEL1 (0x00000ED1)\r
2710 @param EAX Lower 32-bits of MSR value.\r
2711 @param EDX Upper 32-bits of MSR value.\r
2712\r
2713 <b>Example usage</b>\r
2714 @code\r
2715 UINT64 Msr;\r
2716\r
2717 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C14_PMON_EVNTSEL1);\r
2718 AsmWriteMsr64 (MSR_IVY_BRIDGE_C14_PMON_EVNTSEL1, Msr);\r
2719 @endcode\r
fed6c37b 2720 @note MSR_IVY_BRIDGE_C14_PMON_EVNTSEL1 is defined as MSR_C14_PMON_EVNTSEL1 in SDM.\r
84ada87c
MK
2721**/\r
2722#define MSR_IVY_BRIDGE_C14_PMON_EVNTSEL1 0x00000ED1\r
2723\r
2724\r
2725/**\r
2726 Package. Uncore C-box 14 perfmon event select for C-box 14 counter 2.\r
2727\r
2728 @param ECX MSR_IVY_BRIDGE_C14_PMON_EVNTSEL2 (0x00000ED2)\r
2729 @param EAX Lower 32-bits of MSR value.\r
2730 @param EDX Upper 32-bits of MSR value.\r
2731\r
2732 <b>Example usage</b>\r
2733 @code\r
2734 UINT64 Msr;\r
2735\r
2736 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C14_PMON_EVNTSEL2);\r
2737 AsmWriteMsr64 (MSR_IVY_BRIDGE_C14_PMON_EVNTSEL2, Msr);\r
2738 @endcode\r
fed6c37b 2739 @note MSR_IVY_BRIDGE_C14_PMON_EVNTSEL2 is defined as MSR_C14_PMON_EVNTSEL2 in SDM.\r
84ada87c
MK
2740**/\r
2741#define MSR_IVY_BRIDGE_C14_PMON_EVNTSEL2 0x00000ED2\r
2742\r
2743\r
2744/**\r
2745 Package. Uncore C-box 14 perfmon event select for C-box 14 counter 3.\r
2746\r
2747 @param ECX MSR_IVY_BRIDGE_C14_PMON_EVNTSEL3 (0x00000ED3)\r
2748 @param EAX Lower 32-bits of MSR value.\r
2749 @param EDX Upper 32-bits of MSR value.\r
2750\r
2751 <b>Example usage</b>\r
2752 @code\r
2753 UINT64 Msr;\r
2754\r
2755 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C14_PMON_EVNTSEL3);\r
2756 AsmWriteMsr64 (MSR_IVY_BRIDGE_C14_PMON_EVNTSEL3, Msr);\r
2757 @endcode\r
fed6c37b 2758 @note MSR_IVY_BRIDGE_C14_PMON_EVNTSEL3 is defined as MSR_C14_PMON_EVNTSEL3 in SDM.\r
84ada87c
MK
2759**/\r
2760#define MSR_IVY_BRIDGE_C14_PMON_EVNTSEL3 0x00000ED3\r
2761\r
2762\r
2763/**\r
2764 Package. Uncore C-box 14 perfmon box wide filter.\r
2765\r
2766 @param ECX MSR_IVY_BRIDGE_C14_PMON_BOX_FILTER (0x00000ED4)\r
2767 @param EAX Lower 32-bits of MSR value.\r
2768 @param EDX Upper 32-bits of MSR value.\r
2769\r
2770 <b>Example usage</b>\r
2771 @code\r
2772 UINT64 Msr;\r
2773\r
2774 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C14_PMON_BOX_FILTER);\r
2775 AsmWriteMsr64 (MSR_IVY_BRIDGE_C14_PMON_BOX_FILTER, Msr);\r
2776 @endcode\r
fed6c37b 2777 @note MSR_IVY_BRIDGE_C14_PMON_BOX_FILTER is defined as MSR_C14_PMON_BOX_FILTER in SDM.\r
84ada87c
MK
2778**/\r
2779#define MSR_IVY_BRIDGE_C14_PMON_BOX_FILTER 0x00000ED4\r
2780\r
2781\r
2782/**\r
2783 Package. Uncore C-box 14 perfmon counter 0.\r
2784\r
2785 @param ECX MSR_IVY_BRIDGE_C14_PMON_CTR0 (0x00000ED6)\r
2786 @param EAX Lower 32-bits of MSR value.\r
2787 @param EDX Upper 32-bits of MSR value.\r
2788\r
2789 <b>Example usage</b>\r
2790 @code\r
2791 UINT64 Msr;\r
2792\r
2793 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C14_PMON_CTR0);\r
2794 AsmWriteMsr64 (MSR_IVY_BRIDGE_C14_PMON_CTR0, Msr);\r
2795 @endcode\r
fed6c37b 2796 @note MSR_IVY_BRIDGE_C14_PMON_CTR0 is defined as MSR_C14_PMON_CTR0 in SDM.\r
84ada87c
MK
2797**/\r
2798#define MSR_IVY_BRIDGE_C14_PMON_CTR0 0x00000ED6\r
2799\r
2800\r
2801/**\r
2802 Package. Uncore C-box 14 perfmon counter 1.\r
2803\r
2804 @param ECX MSR_IVY_BRIDGE_C14_PMON_CTR1 (0x00000ED7)\r
2805 @param EAX Lower 32-bits of MSR value.\r
2806 @param EDX Upper 32-bits of MSR value.\r
2807\r
2808 <b>Example usage</b>\r
2809 @code\r
2810 UINT64 Msr;\r
2811\r
2812 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C14_PMON_CTR1);\r
2813 AsmWriteMsr64 (MSR_IVY_BRIDGE_C14_PMON_CTR1, Msr);\r
2814 @endcode\r
fed6c37b 2815 @note MSR_IVY_BRIDGE_C14_PMON_CTR1 is defined as MSR_C14_PMON_CTR1 in SDM.\r
84ada87c
MK
2816**/\r
2817#define MSR_IVY_BRIDGE_C14_PMON_CTR1 0x00000ED7\r
2818\r
2819\r
2820/**\r
2821 Package. Uncore C-box 14 perfmon counter 2.\r
2822\r
2823 @param ECX MSR_IVY_BRIDGE_C14_PMON_CTR2 (0x00000ED8)\r
2824 @param EAX Lower 32-bits of MSR value.\r
2825 @param EDX Upper 32-bits of MSR value.\r
2826\r
2827 <b>Example usage</b>\r
2828 @code\r
2829 UINT64 Msr;\r
2830\r
2831 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C14_PMON_CTR2);\r
2832 AsmWriteMsr64 (MSR_IVY_BRIDGE_C14_PMON_CTR2, Msr);\r
2833 @endcode\r
fed6c37b 2834 @note MSR_IVY_BRIDGE_C14_PMON_CTR2 is defined as MSR_C14_PMON_CTR2 in SDM.\r
84ada87c
MK
2835**/\r
2836#define MSR_IVY_BRIDGE_C14_PMON_CTR2 0x00000ED8\r
2837\r
2838\r
2839/**\r
2840 Package. Uncore C-box 14 perfmon counter 3.\r
2841\r
2842 @param ECX MSR_IVY_BRIDGE_C14_PMON_CTR3 (0x00000ED9)\r
2843 @param EAX Lower 32-bits of MSR value.\r
2844 @param EDX Upper 32-bits of MSR value.\r
2845\r
2846 <b>Example usage</b>\r
2847 @code\r
2848 UINT64 Msr;\r
2849\r
2850 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C14_PMON_CTR3);\r
2851 AsmWriteMsr64 (MSR_IVY_BRIDGE_C14_PMON_CTR3, Msr);\r
2852 @endcode\r
fed6c37b 2853 @note MSR_IVY_BRIDGE_C14_PMON_CTR3 is defined as MSR_C14_PMON_CTR3 in SDM.\r
84ada87c
MK
2854**/\r
2855#define MSR_IVY_BRIDGE_C14_PMON_CTR3 0x00000ED9\r
2856\r
2857\r
2858/**\r
2859 Package. Uncore C-box 14 perfmon box wide filter1.\r
2860\r
2861 @param ECX MSR_IVY_BRIDGE_C14_PMON_BOX_FILTER1 (0x00000EDA)\r
2862 @param EAX Lower 32-bits of MSR value.\r
2863 @param EDX Upper 32-bits of MSR value.\r
2864\r
2865 <b>Example usage</b>\r
2866 @code\r
2867 UINT64 Msr;\r
2868\r
2869 Msr = AsmReadMsr64 (MSR_IVY_BRIDGE_C14_PMON_BOX_FILTER1);\r
2870 AsmWriteMsr64 (MSR_IVY_BRIDGE_C14_PMON_BOX_FILTER1, Msr);\r
2871 @endcode\r
fed6c37b 2872 @note MSR_IVY_BRIDGE_C14_PMON_BOX_FILTER1 is defined as MSR_C14_PMON_BOX_FILTER1 in SDM.\r
84ada87c
MK
2873**/\r
2874#define MSR_IVY_BRIDGE_C14_PMON_BOX_FILTER1 0x00000EDA\r
2875\r
2876#endif\r