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