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