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