]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/Register/Intel/Msr/SandyBridgeMsr.h
MdePkg: Apply uncrustify changes
[mirror_edk2.git] / MdePkg / Include / Register / Intel / Msr / SandyBridgeMsr.h
1 /** @file
2 MSR Definitions for Intel processors based on the Sandy 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 __SANDY_BRIDGE_MSR_H__
19 #define __SANDY_BRIDGE_MSR_H__
20
21 #include <Register/Intel/ArchitecturalMsr.h>
22
23 /**
24 Is Intel processors based on the Sandy 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_SANDY_BRIDGE_PROCESSOR(DisplayFamily, DisplayModel) \
33 (DisplayFamily == 0x06 && \
34 ( \
35 DisplayModel == 0x2A || \
36 DisplayModel == 0x2D \
37 ) \
38 )
39
40 /**
41 Thread. SMI Counter (R/O).
42
43 @param ECX MSR_SANDY_BRIDGE_SMI_COUNT (0x00000034)
44 @param EAX Lower 32-bits of MSR value.
45 Described by the type MSR_SANDY_BRIDGE_SMI_COUNT_REGISTER.
46 @param EDX Upper 32-bits of MSR value.
47 Described by the type MSR_SANDY_BRIDGE_SMI_COUNT_REGISTER.
48
49 <b>Example usage</b>
50 @code
51 MSR_SANDY_BRIDGE_SMI_COUNT_REGISTER Msr;
52
53 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_SMI_COUNT);
54 @endcode
55 @note MSR_SANDY_BRIDGE_SMI_COUNT is defined as MSR_SMI_COUNT in SDM.
56 **/
57 #define MSR_SANDY_BRIDGE_SMI_COUNT 0x00000034
58
59 /**
60 MSR information returned for MSR index #MSR_SANDY_BRIDGE_SMI_COUNT
61 **/
62 typedef union {
63 ///
64 /// Individual bit fields
65 ///
66 struct {
67 ///
68 /// [Bits 31:0] SMI Count (R/O) Count SMIs.
69 ///
70 UINT32 SMICount : 32;
71 UINT32 Reserved : 32;
72 } Bits;
73 ///
74 /// All bit fields as a 32-bit value
75 ///
76 UINT32 Uint32;
77 ///
78 /// All bit fields as a 64-bit value
79 ///
80 UINT64 Uint64;
81 } MSR_SANDY_BRIDGE_SMI_COUNT_REGISTER;
82
83 /**
84 Package. Platform Information Contains power management and other model
85 specific features enumeration. See http://biosbits.org.
86
87 @param ECX MSR_SANDY_BRIDGE_PLATFORM_INFO (0x000000CE)
88 @param EAX Lower 32-bits of MSR value.
89 Described by the type MSR_SANDY_BRIDGE_PLATFORM_INFO_REGISTER.
90 @param EDX Upper 32-bits of MSR value.
91 Described by the type MSR_SANDY_BRIDGE_PLATFORM_INFO_REGISTER.
92
93 <b>Example usage</b>
94 @code
95 MSR_SANDY_BRIDGE_PLATFORM_INFO_REGISTER Msr;
96
97 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_PLATFORM_INFO);
98 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PLATFORM_INFO, Msr.Uint64);
99 @endcode
100 @note MSR_SANDY_BRIDGE_PLATFORM_INFO is defined as MSR_PLATFORM_INFO in SDM.
101 **/
102 #define MSR_SANDY_BRIDGE_PLATFORM_INFO 0x000000CE
103
104 /**
105 MSR information returned for MSR index #MSR_SANDY_BRIDGE_PLATFORM_INFO
106 **/
107 typedef union {
108 ///
109 /// Individual bit fields
110 ///
111 struct {
112 UINT32 Reserved1 : 8;
113 ///
114 /// [Bits 15:8] Package. Maximum Non-Turbo Ratio (R/O) The is the ratio
115 /// of the frequency that invariant TSC runs at. Frequency = ratio * 100
116 /// MHz.
117 ///
118 UINT32 MaximumNonTurboRatio : 8;
119 UINT32 Reserved2 : 12;
120 ///
121 /// [Bit 28] Package. Programmable Ratio Limit for Turbo Mode (R/O) When
122 /// set to 1, indicates that Programmable Ratio Limits for Turbo mode is
123 /// enabled, and when set to 0, indicates Programmable Ratio Limits for
124 /// Turbo mode is disabled.
125 ///
126 UINT32 RatioLimit : 1;
127 ///
128 /// [Bit 29] Package. Programmable TDP Limit for Turbo Mode (R/O) When
129 /// set to 1, indicates that TDP Limits for Turbo mode are programmable,
130 /// and when set to 0, indicates TDP Limit for Turbo mode is not
131 /// programmable.
132 ///
133 UINT32 TDPLimit : 1;
134 UINT32 Reserved3 : 2;
135 UINT32 Reserved4 : 8;
136 ///
137 /// [Bits 47:40] Package. Maximum Efficiency Ratio (R/O) The is the
138 /// minimum ratio (maximum efficiency) that the processor can operates, in
139 /// units of 100MHz.
140 ///
141 UINT32 MaximumEfficiencyRatio : 8;
142 UINT32 Reserved5 : 16;
143 } Bits;
144 ///
145 /// All bit fields as a 64-bit value
146 ///
147 UINT64 Uint64;
148 } MSR_SANDY_BRIDGE_PLATFORM_INFO_REGISTER;
149
150 /**
151 Core. C-State Configuration Control (R/W) Note: C-state values are
152 processor specific C-state code names, unrelated to MWAIT extension C-state
153 parameters or ACPI CStates. See http://biosbits.org.
154
155 @param ECX MSR_SANDY_BRIDGE_PKG_CST_CONFIG_CONTROL (0x000000E2)
156 @param EAX Lower 32-bits of MSR value.
157 Described by the type MSR_SANDY_BRIDGE_PKG_CST_CONFIG_CONTROL_REGISTER.
158 @param EDX Upper 32-bits of MSR value.
159 Described by the type MSR_SANDY_BRIDGE_PKG_CST_CONFIG_CONTROL_REGISTER.
160
161 <b>Example usage</b>
162 @code
163 MSR_SANDY_BRIDGE_PKG_CST_CONFIG_CONTROL_REGISTER Msr;
164
165 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_PKG_CST_CONFIG_CONTROL);
166 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PKG_CST_CONFIG_CONTROL, Msr.Uint64);
167 @endcode
168 @note MSR_SANDY_BRIDGE_PKG_CST_CONFIG_CONTROL is defined as MSR_PKG_CST_CONFIG_CONTROL in SDM.
169 **/
170 #define MSR_SANDY_BRIDGE_PKG_CST_CONFIG_CONTROL 0x000000E2
171
172 /**
173 MSR information returned for MSR index
174 #MSR_SANDY_BRIDGE_PKG_CST_CONFIG_CONTROL
175 **/
176 typedef union {
177 ///
178 /// Individual bit fields
179 ///
180 struct {
181 ///
182 /// [Bits 2:0] Package C-State Limit (R/W) Specifies the lowest
183 /// processor-specific C-state code name (consuming the least power). for
184 /// the package. The default is set as factory-configured package C-state
185 /// limit. The following C-state code name encodings are supported: 000b:
186 /// C0/C1 (no package C-sate support) 001b: C2 010b: C6 no retention 011b:
187 /// C6 retention 100b: C7 101b: C7s 111: No package C-state limit. Note:
188 /// This field cannot be used to limit package C-state to C3.
189 ///
190 UINT32 Limit : 3;
191 UINT32 Reserved1 : 7;
192 ///
193 /// [Bit 10] I/O MWAIT Redirection Enable (R/W) When set, will map
194 /// IO_read instructions sent to IO register specified by
195 /// MSR_PMG_IO_CAPTURE_BASE to MWAIT instructions.
196 ///
197 UINT32 IO_MWAIT : 1;
198 UINT32 Reserved2 : 4;
199 ///
200 /// [Bit 15] CFG Lock (R/WO) When set, lock bits 15:0 of this register
201 /// until next reset.
202 ///
203 UINT32 CFGLock : 1;
204 UINT32 Reserved3 : 9;
205 ///
206 /// [Bit 25] C3 state auto demotion enable (R/W) When set, the processor
207 /// will conditionally demote C6/C7 requests to C3 based on uncore
208 /// auto-demote information.
209 ///
210 UINT32 C3AutoDemotion : 1;
211 ///
212 /// [Bit 26] C1 state auto demotion enable (R/W) When set, the processor
213 /// will conditionally demote C3/C6/C7 requests to C1 based on uncore
214 /// auto-demote information.
215 ///
216 UINT32 C1AutoDemotion : 1;
217 ///
218 /// [Bit 27] Enable C3 undemotion (R/W) When set, enables undemotion from
219 /// demoted C3.
220 ///
221 UINT32 C3Undemotion : 1;
222 ///
223 /// [Bit 28] Enable C1 undemotion (R/W) When set, enables undemotion from
224 /// demoted C1.
225 ///
226 UINT32 C1Undemotion : 1;
227 UINT32 Reserved4 : 3;
228 UINT32 Reserved5 : 32;
229 } Bits;
230 ///
231 /// All bit fields as a 32-bit value
232 ///
233 UINT32 Uint32;
234 ///
235 /// All bit fields as a 64-bit value
236 ///
237 UINT64 Uint64;
238 } MSR_SANDY_BRIDGE_PKG_CST_CONFIG_CONTROL_REGISTER;
239
240 /**
241 Core. Power Management IO Redirection in C-state (R/W) See
242 http://biosbits.org.
243
244 @param ECX MSR_SANDY_BRIDGE_PMG_IO_CAPTURE_BASE (0x000000E4)
245 @param EAX Lower 32-bits of MSR value.
246 Described by the type MSR_SANDY_BRIDGE_PMG_IO_CAPTURE_BASE_REGISTER.
247 @param EDX Upper 32-bits of MSR value.
248 Described by the type MSR_SANDY_BRIDGE_PMG_IO_CAPTURE_BASE_REGISTER.
249
250 <b>Example usage</b>
251 @code
252 MSR_SANDY_BRIDGE_PMG_IO_CAPTURE_BASE_REGISTER Msr;
253
254 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_PMG_IO_CAPTURE_BASE);
255 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PMG_IO_CAPTURE_BASE, Msr.Uint64);
256 @endcode
257 @note MSR_SANDY_BRIDGE_PMG_IO_CAPTURE_BASE is defined as MSR_PMG_IO_CAPTURE_BASE in SDM.
258 **/
259 #define MSR_SANDY_BRIDGE_PMG_IO_CAPTURE_BASE 0x000000E4
260
261 /**
262 MSR information returned for MSR index #MSR_SANDY_BRIDGE_PMG_IO_CAPTURE_BASE
263 **/
264 typedef union {
265 ///
266 /// Individual bit fields
267 ///
268 struct {
269 ///
270 /// [Bits 15:0] LVL_2 Base Address (R/W) Specifies the base address
271 /// visible to software for IO redirection. If IO MWAIT Redirection is
272 /// enabled, reads to this address will be consumed by the power
273 /// management logic and decoded to MWAIT instructions. When IO port
274 /// address redirection is enabled, this is the IO port address reported
275 /// to the OS/software.
276 ///
277 UINT32 Lvl2Base : 16;
278 ///
279 /// [Bits 18:16] C-state Range (R/W) Specifies the encoding value of the
280 /// maximum C-State code name to be included when IO read to MWAIT
281 /// redirection is enabled by MSR_PKG_CST_CONFIG_CONTROL[bit10]: 000b - C3
282 /// is the max C-State to include 001b - C6 is the max C-State to include
283 /// 010b - C7 is the max C-State to include.
284 ///
285 UINT32 CStateRange : 3;
286 UINT32 Reserved1 : 13;
287 UINT32 Reserved2 : 32;
288 } Bits;
289 ///
290 /// All bit fields as a 32-bit value
291 ///
292 UINT32 Uint32;
293 ///
294 /// All bit fields as a 64-bit value
295 ///
296 UINT64 Uint64;
297 } MSR_SANDY_BRIDGE_PMG_IO_CAPTURE_BASE_REGISTER;
298
299 /**
300 Core. AES Configuration (RW-L) Privileged post-BIOS agent must provide a #GP
301 handler to handle unsuccessful read of this MSR.
302
303 @param ECX MSR_SANDY_BRIDGE_FEATURE_CONFIG (0x0000013C)
304 @param EAX Lower 32-bits of MSR value.
305 Described by the type MSR_SANDY_BRIDGE_FEATURE_CONFIG_REGISTER.
306 @param EDX Upper 32-bits of MSR value.
307 Described by the type MSR_SANDY_BRIDGE_FEATURE_CONFIG_REGISTER.
308
309 <b>Example usage</b>
310 @code
311 MSR_SANDY_BRIDGE_FEATURE_CONFIG_REGISTER Msr;
312
313 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_FEATURE_CONFIG);
314 AsmWriteMsr64 (MSR_SANDY_BRIDGE_FEATURE_CONFIG, Msr.Uint64);
315 @endcode
316 @note MSR_SANDY_BRIDGE_FEATURE_CONFIG is defined as MSR_FEATURE_CONFIG in SDM.
317 **/
318 #define MSR_SANDY_BRIDGE_FEATURE_CONFIG 0x0000013C
319
320 /**
321 MSR information returned for MSR index #MSR_SANDY_BRIDGE_FEATURE_CONFIG
322 **/
323 typedef union {
324 ///
325 /// Individual bit fields
326 ///
327 struct {
328 ///
329 /// [Bits 1:0] AES Configuration (RW-L) Upon a successful read of this
330 /// MSR, the configuration of AES instruction set availability is as
331 /// follows: 11b: AES instructions are not available until next RESET.
332 /// otherwise, AES instructions are available. Note, AES instruction set
333 /// is not available if read is unsuccessful. If the configuration is not
334 /// 01b, AES instruction can be mis-configured if a privileged agent
335 /// unintentionally writes 11b.
336 ///
337 UINT32 AESConfiguration : 2;
338 UINT32 Reserved1 : 30;
339 UINT32 Reserved2 : 32;
340 } Bits;
341 ///
342 /// All bit fields as a 32-bit value
343 ///
344 UINT32 Uint32;
345 ///
346 /// All bit fields as a 64-bit value
347 ///
348 UINT64 Uint64;
349 } MSR_SANDY_BRIDGE_FEATURE_CONFIG_REGISTER;
350
351 /**
352 Core. See Table 2-2. If CPUID.0AH:EAX[15:8] = 8.
353
354 @param ECX MSR_SANDY_BRIDGE_IA32_PERFEVTSELn
355 @param EAX Lower 32-bits of MSR value.
356 @param EDX Upper 32-bits of MSR value.
357
358 <b>Example usage</b>
359 @code
360 UINT64 Msr;
361
362 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_IA32_PERFEVTSEL4);
363 AsmWriteMsr64 (MSR_SANDY_BRIDGE_IA32_PERFEVTSEL4, Msr);
364 @endcode
365 @note MSR_SANDY_BRIDGE_IA32_PERFEVTSEL4 is defined as IA32_PERFEVTSEL4 in SDM.
366 MSR_SANDY_BRIDGE_IA32_PERFEVTSEL5 is defined as IA32_PERFEVTSEL5 in SDM.
367 MSR_SANDY_BRIDGE_IA32_PERFEVTSEL6 is defined as IA32_PERFEVTSEL6 in SDM.
368 MSR_SANDY_BRIDGE_IA32_PERFEVTSEL7 is defined as IA32_PERFEVTSEL7 in SDM.
369 @{
370 **/
371 #define MSR_SANDY_BRIDGE_IA32_PERFEVTSEL4 0x0000018A
372 #define MSR_SANDY_BRIDGE_IA32_PERFEVTSEL5 0x0000018B
373 #define MSR_SANDY_BRIDGE_IA32_PERFEVTSEL6 0x0000018C
374 #define MSR_SANDY_BRIDGE_IA32_PERFEVTSEL7 0x0000018D
375 /// @}
376
377 /**
378 Package.
379
380 @param ECX MSR_SANDY_BRIDGE_PERF_STATUS (0x00000198)
381 @param EAX Lower 32-bits of MSR value.
382 Described by the type MSR_SANDY_BRIDGE_PERF_STATUS_REGISTER.
383 @param EDX Upper 32-bits of MSR value.
384 Described by the type MSR_SANDY_BRIDGE_PERF_STATUS_REGISTER.
385
386 <b>Example usage</b>
387 @code
388 MSR_SANDY_BRIDGE_PERF_STATUS_REGISTER Msr;
389
390 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_PERF_STATUS);
391 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PERF_STATUS, Msr.Uint64);
392 @endcode
393 @note MSR_SANDY_BRIDGE_PERF_STATUS is defined as MSR_PERF_STATUS in SDM.
394 **/
395 #define MSR_SANDY_BRIDGE_PERF_STATUS 0x00000198
396
397 /**
398 MSR information returned for MSR index #MSR_SANDY_BRIDGE_PERF_STATUS
399 **/
400 typedef union {
401 ///
402 /// Individual bit fields
403 ///
404 struct {
405 UINT32 Reserved1 : 32;
406 ///
407 /// [Bits 47:32] Core Voltage (R/O) P-state core voltage can be computed
408 /// by MSR_PERF_STATUS[37:32] * (float) 1/(2^13).
409 ///
410 UINT32 CoreVoltage : 16;
411 UINT32 Reserved2 : 16;
412 } Bits;
413 ///
414 /// All bit fields as a 64-bit value
415 ///
416 UINT64 Uint64;
417 } MSR_SANDY_BRIDGE_PERF_STATUS_REGISTER;
418
419 /**
420 Thread. Clock Modulation (R/W) See Table 2-2. IA32_CLOCK_MODULATION MSR was
421 originally named IA32_THERM_CONTROL MSR.
422
423 @param ECX MSR_SANDY_BRIDGE_IA32_CLOCK_MODULATION (0x0000019A)
424 @param EAX Lower 32-bits of MSR value.
425 Described by the type MSR_SANDY_BRIDGE_IA32_CLOCK_MODULATION_REGISTER.
426 @param EDX Upper 32-bits of MSR value.
427 Described by the type MSR_SANDY_BRIDGE_IA32_CLOCK_MODULATION_REGISTER.
428
429 <b>Example usage</b>
430 @code
431 MSR_SANDY_BRIDGE_IA32_CLOCK_MODULATION_REGISTER Msr;
432
433 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_IA32_CLOCK_MODULATION);
434 AsmWriteMsr64 (MSR_SANDY_BRIDGE_IA32_CLOCK_MODULATION, Msr.Uint64);
435 @endcode
436 @note MSR_SANDY_BRIDGE_IA32_CLOCK_MODULATION is defined as IA32_CLOCK_MODULATION in SDM.
437 **/
438 #define MSR_SANDY_BRIDGE_IA32_CLOCK_MODULATION 0x0000019A
439
440 /**
441 MSR information returned for MSR index
442 #MSR_SANDY_BRIDGE_IA32_CLOCK_MODULATION
443 **/
444 typedef union {
445 ///
446 /// Individual bit fields
447 ///
448 struct {
449 ///
450 /// [Bits 3:0] On demand Clock Modulation Duty Cycle (R/W) In 6.25%
451 /// increment.
452 ///
453 UINT32 OnDemandClockModulationDutyCycle : 4;
454 ///
455 /// [Bit 4] On demand Clock Modulation Enable (R/W).
456 ///
457 UINT32 OnDemandClockModulationEnable : 1;
458 UINT32 Reserved1 : 27;
459 UINT32 Reserved2 : 32;
460 } Bits;
461 ///
462 /// All bit fields as a 32-bit value
463 ///
464 UINT32 Uint32;
465 ///
466 /// All bit fields as a 64-bit value
467 ///
468 UINT64 Uint64;
469 } MSR_SANDY_BRIDGE_IA32_CLOCK_MODULATION_REGISTER;
470
471 /**
472 Enable Misc. Processor Features (R/W) Allows a variety of processor
473 functions to be enabled and disabled.
474
475 @param ECX MSR_SANDY_BRIDGE_IA32_MISC_ENABLE (0x000001A0)
476 @param EAX Lower 32-bits of MSR value.
477 Described by the type MSR_SANDY_BRIDGE_IA32_MISC_ENABLE_REGISTER.
478 @param EDX Upper 32-bits of MSR value.
479 Described by the type MSR_SANDY_BRIDGE_IA32_MISC_ENABLE_REGISTER.
480
481 <b>Example usage</b>
482 @code
483 MSR_SANDY_BRIDGE_IA32_MISC_ENABLE_REGISTER Msr;
484
485 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_IA32_MISC_ENABLE);
486 AsmWriteMsr64 (MSR_SANDY_BRIDGE_IA32_MISC_ENABLE, Msr.Uint64);
487 @endcode
488 @note MSR_SANDY_BRIDGE_IA32_MISC_ENABLE is defined as IA32_MISC_ENABLE in SDM.
489 **/
490 #define MSR_SANDY_BRIDGE_IA32_MISC_ENABLE 0x000001A0
491
492 /**
493 MSR information returned for MSR index #MSR_SANDY_BRIDGE_IA32_MISC_ENABLE
494 **/
495 typedef union {
496 ///
497 /// Individual bit fields
498 ///
499 struct {
500 ///
501 /// [Bit 0] Thread. Fast-Strings Enable See Table 2-2.
502 ///
503 UINT32 FastStrings : 1;
504 UINT32 Reserved1 : 6;
505 ///
506 /// [Bit 7] Thread. Performance Monitoring Available (R) See Table 2-2.
507 ///
508 UINT32 PerformanceMonitoring : 1;
509 UINT32 Reserved2 : 3;
510 ///
511 /// [Bit 11] Thread. Branch Trace Storage Unavailable (RO) See Table 2-2.
512 ///
513 UINT32 BTS : 1;
514 ///
515 /// [Bit 12] Thread. Processor Event Based Sampling Unavailable (RO) See
516 /// Table 2-2.
517 ///
518 UINT32 PEBS : 1;
519 UINT32 Reserved3 : 3;
520 ///
521 /// [Bit 16] Package. Enhanced Intel SpeedStep Technology Enable (R/W) See
522 /// Table 2-2.
523 ///
524 UINT32 EIST : 1;
525 UINT32 Reserved4 : 1;
526 ///
527 /// [Bit 18] Thread. ENABLE MONITOR FSM (R/W) See Table 2-2.
528 ///
529 UINT32 MONITOR : 1;
530 UINT32 Reserved5 : 3;
531 ///
532 /// [Bit 22] Thread. Limit CPUID Maxval (R/W) See Table 2-2.
533 ///
534 UINT32 LimitCpuidMaxval : 1;
535 ///
536 /// [Bit 23] Thread. xTPR Message Disable (R/W) See Table 2-2.
537 ///
538 UINT32 xTPR_Message_Disable : 1;
539 UINT32 Reserved6 : 8;
540 UINT32 Reserved7 : 2;
541 ///
542 /// [Bit 34] Thread. XD Bit Disable (R/W) See Table 2-2.
543 ///
544 UINT32 XD : 1;
545 UINT32 Reserved8 : 3;
546 ///
547 /// [Bit 38] Package. Turbo Mode Disable (R/W) When set to 1 on processors
548 /// that support Intel Turbo Boost Technology, the turbo mode feature is
549 /// disabled and the IDA_Enable feature flag will be clear (CPUID.06H:
550 /// EAX[1]=0). When set to a 0 on processors that support IDA, CPUID.06H:
551 /// EAX[1] reports the processor's support of turbo mode is enabled. Note:
552 /// the power-on default value is used by BIOS to detect hardware support
553 /// of turbo mode. If power-on default value is 1, turbo mode is available
554 /// in the processor. If power-on default value is 0, turbo mode is not
555 /// available.
556 ///
557 UINT32 TurboModeDisable : 1;
558 UINT32 Reserved9 : 25;
559 } Bits;
560 ///
561 /// All bit fields as a 64-bit value
562 ///
563 UINT64 Uint64;
564 } MSR_SANDY_BRIDGE_IA32_MISC_ENABLE_REGISTER;
565
566 /**
567 Unique.
568
569 @param ECX MSR_SANDY_BRIDGE_TEMPERATURE_TARGET (0x000001A2)
570 @param EAX Lower 32-bits of MSR value.
571 Described by the type MSR_SANDY_BRIDGE_TEMPERATURE_TARGET_REGISTER.
572 @param EDX Upper 32-bits of MSR value.
573 Described by the type MSR_SANDY_BRIDGE_TEMPERATURE_TARGET_REGISTER.
574
575 <b>Example usage</b>
576 @code
577 MSR_SANDY_BRIDGE_TEMPERATURE_TARGET_REGISTER Msr;
578
579 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_TEMPERATURE_TARGET);
580 AsmWriteMsr64 (MSR_SANDY_BRIDGE_TEMPERATURE_TARGET, Msr.Uint64);
581 @endcode
582 @note MSR_SANDY_BRIDGE_TEMPERATURE_TARGET is defined as MSR_TEMPERATURE_TARGET in SDM.
583 **/
584 #define MSR_SANDY_BRIDGE_TEMPERATURE_TARGET 0x000001A2
585
586 /**
587 MSR information returned for MSR index #MSR_SANDY_BRIDGE_TEMPERATURE_TARGET
588 **/
589 typedef union {
590 ///
591 /// Individual bit fields
592 ///
593 struct {
594 UINT32 Reserved1 : 16;
595 ///
596 /// [Bits 23:16] Temperature Target (R) The minimum temperature at which
597 /// PROCHOT# will be asserted. The value is degree C.
598 ///
599 UINT32 TemperatureTarget : 8;
600 UINT32 Reserved2 : 8;
601 UINT32 Reserved3 : 32;
602 } Bits;
603 ///
604 /// All bit fields as a 32-bit value
605 ///
606 UINT32 Uint32;
607 ///
608 /// All bit fields as a 64-bit value
609 ///
610 UINT64 Uint64;
611 } MSR_SANDY_BRIDGE_TEMPERATURE_TARGET_REGISTER;
612
613 /**
614 Miscellaneous Feature Control (R/W).
615
616 @param ECX MSR_SANDY_BRIDGE_MISC_FEATURE_CONTROL (0x000001A4)
617 @param EAX Lower 32-bits of MSR value.
618 Described by the type MSR_SANDY_BRIDGE_MISC_FEATURE_CONTROL_REGISTER.
619 @param EDX Upper 32-bits of MSR value.
620 Described by the type MSR_SANDY_BRIDGE_MISC_FEATURE_CONTROL_REGISTER.
621
622 <b>Example usage</b>
623 @code
624 MSR_SANDY_BRIDGE_MISC_FEATURE_CONTROL_REGISTER Msr;
625
626 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_MISC_FEATURE_CONTROL);
627 AsmWriteMsr64 (MSR_SANDY_BRIDGE_MISC_FEATURE_CONTROL, Msr.Uint64);
628 @endcode
629 @note MSR_SANDY_BRIDGE_MISC_FEATURE_CONTROL is defined as MSR_MISC_FEATURE_CONTROL in SDM.
630 **/
631 #define MSR_SANDY_BRIDGE_MISC_FEATURE_CONTROL 0x000001A4
632
633 /**
634 MSR information returned for MSR index #MSR_SANDY_BRIDGE_MISC_FEATURE_CONTROL
635 **/
636 typedef union {
637 ///
638 /// Individual bit fields
639 ///
640 struct {
641 ///
642 /// [Bit 0] Core. L2 Hardware Prefetcher Disable (R/W) If 1, disables the
643 /// L2 hardware prefetcher, which fetches additional lines of code or data
644 /// into the L2 cache.
645 ///
646 UINT32 L2HardwarePrefetcherDisable : 1;
647 ///
648 /// [Bit 1] Core. L2 Adjacent Cache Line Prefetcher Disable (R/W) If 1,
649 /// disables the adjacent cache line prefetcher, which fetches the cache
650 /// line that comprises a cache line pair (128 bytes).
651 ///
652 UINT32 L2AdjacentCacheLinePrefetcherDisable : 1;
653 ///
654 /// [Bit 2] Core. DCU Hardware Prefetcher Disable (R/W) If 1, disables
655 /// the L1 data cache prefetcher, which fetches the next cache line into
656 /// L1 data cache.
657 ///
658 UINT32 DCUHardwarePrefetcherDisable : 1;
659 ///
660 /// [Bit 3] Core. DCU IP Prefetcher Disable (R/W) If 1, disables the L1
661 /// data cache IP prefetcher, which uses sequential load history (based on
662 /// instruction Pointer of previous loads) to determine whether to
663 /// prefetch additional lines.
664 ///
665 UINT32 DCUIPPrefetcherDisable : 1;
666 UINT32 Reserved1 : 28;
667 UINT32 Reserved2 : 32;
668 } Bits;
669 ///
670 /// All bit fields as a 32-bit value
671 ///
672 UINT32 Uint32;
673 ///
674 /// All bit fields as a 64-bit value
675 ///
676 UINT64 Uint64;
677 } MSR_SANDY_BRIDGE_MISC_FEATURE_CONTROL_REGISTER;
678
679 /**
680 Thread. Offcore Response Event Select Register (R/W).
681
682 @param ECX MSR_SANDY_BRIDGE_OFFCORE_RSP_0 (0x000001A6)
683 @param EAX Lower 32-bits of MSR value.
684 @param EDX Upper 32-bits of MSR value.
685
686 <b>Example usage</b>
687 @code
688 UINT64 Msr;
689
690 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_OFFCORE_RSP_0);
691 AsmWriteMsr64 (MSR_SANDY_BRIDGE_OFFCORE_RSP_0, Msr);
692 @endcode
693 @note MSR_SANDY_BRIDGE_OFFCORE_RSP_0 is defined as MSR_OFFCORE_RSP_0 in SDM.
694 **/
695 #define MSR_SANDY_BRIDGE_OFFCORE_RSP_0 0x000001A6
696
697 /**
698 Thread. Offcore Response Event Select Register (R/W).
699
700 @param ECX MSR_SANDY_BRIDGE_OFFCORE_RSP_1 (0x000001A7)
701 @param EAX Lower 32-bits of MSR value.
702 @param EDX Upper 32-bits of MSR value.
703
704 <b>Example usage</b>
705 @code
706 UINT64 Msr;
707
708 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_OFFCORE_RSP_1);
709 AsmWriteMsr64 (MSR_SANDY_BRIDGE_OFFCORE_RSP_1, Msr);
710 @endcode
711 @note MSR_SANDY_BRIDGE_OFFCORE_RSP_1 is defined as MSR_OFFCORE_RSP_1 in SDM.
712 **/
713 #define MSR_SANDY_BRIDGE_OFFCORE_RSP_1 0x000001A7
714
715 /**
716 See http://biosbits.org.
717
718 @param ECX MSR_SANDY_BRIDGE_MISC_PWR_MGMT (0x000001AA)
719 @param EAX Lower 32-bits of MSR value.
720 @param EDX Upper 32-bits of MSR value.
721
722 <b>Example usage</b>
723 @code
724 UINT64 Msr;
725
726 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_MISC_PWR_MGMT);
727 AsmWriteMsr64 (MSR_SANDY_BRIDGE_MISC_PWR_MGMT, Msr);
728 @endcode
729 @note MSR_SANDY_BRIDGE_MISC_PWR_MGMT is defined as MSR_MISC_PWR_MGMT in SDM.
730 **/
731 #define MSR_SANDY_BRIDGE_MISC_PWR_MGMT 0x000001AA
732
733 /**
734 Thread. Last Branch Record Filtering Select Register (R/W) See Section
735 17.9.2, "Filtering of Last Branch Records.".
736
737 @param ECX MSR_SANDY_BRIDGE_LBR_SELECT (0x000001C8)
738 @param EAX Lower 32-bits of MSR value.
739 Described by the type MSR_SANDY_BRIDGE_LBR_SELECT_REGISTER.
740 @param EDX Upper 32-bits of MSR value.
741 Described by the type MSR_SANDY_BRIDGE_LBR_SELECT_REGISTER.
742
743 <b>Example usage</b>
744 @code
745 MSR_SANDY_BRIDGE_LBR_SELECT_REGISTER Msr;
746
747 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_LBR_SELECT);
748 AsmWriteMsr64 (MSR_SANDY_BRIDGE_LBR_SELECT, Msr.Uint64);
749 @endcode
750 @note MSR_SANDY_BRIDGE_LBR_SELECT is defined as MSR_LBR_SELECT in SDM.
751 **/
752 #define MSR_SANDY_BRIDGE_LBR_SELECT 0x000001C8
753
754 /**
755 MSR information returned for MSR index #MSR_SANDY_BRIDGE_LBR_SELECT
756 **/
757 typedef union {
758 ///
759 /// Individual bit fields
760 ///
761 struct {
762 ///
763 /// [Bit 0] CPL_EQ_0.
764 ///
765 UINT32 CPL_EQ_0 : 1;
766 ///
767 /// [Bit 1] CPL_NEQ_0.
768 ///
769 UINT32 CPL_NEQ_0 : 1;
770 ///
771 /// [Bit 2] JCC.
772 ///
773 UINT32 JCC : 1;
774 ///
775 /// [Bit 3] NEAR_REL_CALL.
776 ///
777 UINT32 NEAR_REL_CALL : 1;
778 ///
779 /// [Bit 4] NEAR_IND_CALL.
780 ///
781 UINT32 NEAR_IND_CALL : 1;
782 ///
783 /// [Bit 5] NEAR_RET.
784 ///
785 UINT32 NEAR_RET : 1;
786 ///
787 /// [Bit 6] NEAR_IND_JMP.
788 ///
789 UINT32 NEAR_IND_JMP : 1;
790 ///
791 /// [Bit 7] NEAR_REL_JMP.
792 ///
793 UINT32 NEAR_REL_JMP : 1;
794 ///
795 /// [Bit 8] FAR_BRANCH.
796 ///
797 UINT32 FAR_BRANCH : 1;
798 UINT32 Reserved1 : 23;
799 UINT32 Reserved2 : 32;
800 } Bits;
801 ///
802 /// All bit fields as a 32-bit value
803 ///
804 UINT32 Uint32;
805 ///
806 /// All bit fields as a 64-bit value
807 ///
808 UINT64 Uint64;
809 } MSR_SANDY_BRIDGE_LBR_SELECT_REGISTER;
810
811 /**
812 Thread. Last Branch Record Stack TOS (R/W) Contains an index (bits 0-3)
813 that points to the MSR containing the most recent branch record. See
814 MSR_LASTBRANCH_0_FROM_IP (at 680H).
815
816 @param ECX MSR_SANDY_BRIDGE_LASTBRANCH_TOS (0x000001C9)
817 @param EAX Lower 32-bits of MSR value.
818 @param EDX Upper 32-bits of MSR value.
819
820 <b>Example usage</b>
821 @code
822 UINT64 Msr;
823
824 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_LASTBRANCH_TOS);
825 AsmWriteMsr64 (MSR_SANDY_BRIDGE_LASTBRANCH_TOS, Msr);
826 @endcode
827 @note MSR_SANDY_BRIDGE_LASTBRANCH_TOS is defined as MSR_LASTBRANCH_TOS in SDM.
828 **/
829 #define MSR_SANDY_BRIDGE_LASTBRANCH_TOS 0x000001C9
830
831 /**
832 Thread. Last Exception Record From Linear IP (R) Contains a pointer to the
833 last branch instruction that the processor executed prior to the last
834 exception that was generated or the last interrupt that was handled.
835
836 @param ECX MSR_SANDY_BRIDGE_LER_FROM_LIP (0x000001DD)
837 @param EAX Lower 32-bits of MSR value.
838 @param EDX Upper 32-bits of MSR value.
839
840 <b>Example usage</b>
841 @code
842 UINT64 Msr;
843
844 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_LER_FROM_LIP);
845 @endcode
846 @note MSR_SANDY_BRIDGE_LER_FROM_LIP is defined as MSR_LER_FROM_LIP in SDM.
847 **/
848 #define MSR_SANDY_BRIDGE_LER_FROM_LIP 0x000001DD
849
850 /**
851 Thread. Last Exception Record To Linear IP (R) This area contains a pointer
852 to the target of the last branch instruction that the processor executed
853 prior to the last exception that was generated or the last interrupt that
854 was handled.
855
856 @param ECX MSR_SANDY_BRIDGE_LER_TO_LIP (0x000001DE)
857 @param EAX Lower 32-bits of MSR value.
858 @param EDX Upper 32-bits of MSR value.
859
860 <b>Example usage</b>
861 @code
862 UINT64 Msr;
863
864 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_LER_TO_LIP);
865 @endcode
866 @note MSR_SANDY_BRIDGE_LER_TO_LIP is defined as MSR_LER_TO_LIP in SDM.
867 **/
868 #define MSR_SANDY_BRIDGE_LER_TO_LIP 0x000001DE
869
870 /**
871 Core. See http://biosbits.org.
872
873 @param ECX MSR_SANDY_BRIDGE_POWER_CTL (0x000001FC)
874 @param EAX Lower 32-bits of MSR value.
875 @param EDX Upper 32-bits of MSR value.
876
877 <b>Example usage</b>
878 @code
879 UINT64 Msr;
880
881 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_POWER_CTL);
882 AsmWriteMsr64 (MSR_SANDY_BRIDGE_POWER_CTL, Msr);
883 @endcode
884 @note MSR_SANDY_BRIDGE_POWER_CTL is defined as MSR_POWER_CTL in SDM.
885 **/
886 #define MSR_SANDY_BRIDGE_POWER_CTL 0x000001FC
887
888 /**
889 Package. Always 0 (CMCI not supported).
890
891 @param ECX MSR_SANDY_BRIDGE_IA32_MC4_CTL2 (0x00000284)
892 @param EAX Lower 32-bits of MSR value.
893 @param EDX Upper 32-bits of MSR value.
894
895 <b>Example usage</b>
896 @code
897 UINT64 Msr;
898
899 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_IA32_MC4_CTL2);
900 AsmWriteMsr64 (MSR_SANDY_BRIDGE_IA32_MC4_CTL2, Msr);
901 @endcode
902 @note MSR_SANDY_BRIDGE_IA32_MC4_CTL2 is defined as IA32_MC4_CTL2 in SDM.
903 **/
904 #define MSR_SANDY_BRIDGE_IA32_MC4_CTL2 0x00000284
905
906 /**
907 See Table 2-2. See Section 18.6.2.2, "Global Counter Control Facilities.".
908
909 @param ECX MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_STATUS (0x0000038E)
910 @param EAX Lower 32-bits of MSR value.
911 Described by the type MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_STATUS_REGISTER.
912 @param EDX Upper 32-bits of MSR value.
913 Described by the type MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_STATUS_REGISTER.
914
915 <b>Example usage</b>
916 @code
917 MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_STATUS_REGISTER Msr;
918
919 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_STATUS);
920 AsmWriteMsr64 (MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_STATUS, Msr.Uint64);
921 @endcode
922 @note MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_STATUS is defined as IA32_PERF_GLOBAL_STATUS in SDM.
923 **/
924 #define MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_STATUS 0x0000038E
925
926 /**
927 MSR information returned for MSR index
928 #MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_STATUS
929 **/
930 typedef union {
931 ///
932 /// Individual bit fields
933 ///
934 struct {
935 ///
936 /// [Bit 0] Thread. Ovf_PMC0.
937 ///
938 UINT32 Ovf_PMC0 : 1;
939 ///
940 /// [Bit 1] Thread. Ovf_PMC1.
941 ///
942 UINT32 Ovf_PMC1 : 1;
943 ///
944 /// [Bit 2] Thread. Ovf_PMC2.
945 ///
946 UINT32 Ovf_PMC2 : 1;
947 ///
948 /// [Bit 3] Thread. Ovf_PMC3.
949 ///
950 UINT32 Ovf_PMC3 : 1;
951 ///
952 /// [Bit 4] Core. Ovf_PMC4 (if CPUID.0AH:EAX[15:8] > 4).
953 ///
954 UINT32 Ovf_PMC4 : 1;
955 ///
956 /// [Bit 5] Core. Ovf_PMC5 (if CPUID.0AH:EAX[15:8] > 5).
957 ///
958 UINT32 Ovf_PMC5 : 1;
959 ///
960 /// [Bit 6] Core. Ovf_PMC6 (if CPUID.0AH:EAX[15:8] > 6).
961 ///
962 UINT32 Ovf_PMC6 : 1;
963 ///
964 /// [Bit 7] Core. Ovf_PMC7 (if CPUID.0AH:EAX[15:8] > 7).
965 ///
966 UINT32 Ovf_PMC7 : 1;
967 UINT32 Reserved1 : 24;
968 ///
969 /// [Bit 32] Thread. Ovf_FixedCtr0.
970 ///
971 UINT32 Ovf_FixedCtr0 : 1;
972 ///
973 /// [Bit 33] Thread. Ovf_FixedCtr1.
974 ///
975 UINT32 Ovf_FixedCtr1 : 1;
976 ///
977 /// [Bit 34] Thread. Ovf_FixedCtr2.
978 ///
979 UINT32 Ovf_FixedCtr2 : 1;
980 UINT32 Reserved2 : 26;
981 ///
982 /// [Bit 61] Thread. Ovf_Uncore.
983 ///
984 UINT32 Ovf_Uncore : 1;
985 ///
986 /// [Bit 62] Thread. Ovf_BufDSSAVE.
987 ///
988 UINT32 Ovf_BufDSSAVE : 1;
989 ///
990 /// [Bit 63] Thread. CondChgd.
991 ///
992 UINT32 CondChgd : 1;
993 } Bits;
994 ///
995 /// All bit fields as a 64-bit value
996 ///
997 UINT64 Uint64;
998 } MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_STATUS_REGISTER;
999
1000 /**
1001 Thread. See Table 2-2. See Section 18.6.2.2, "Global Counter Control
1002 Facilities.".
1003
1004 @param ECX MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_CTRL (0x0000038F)
1005 @param EAX Lower 32-bits of MSR value.
1006 Described by the type MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_CTRL_REGISTER.
1007 @param EDX Upper 32-bits of MSR value.
1008 Described by the type MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_CTRL_REGISTER.
1009
1010 <b>Example usage</b>
1011 @code
1012 MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_CTRL_REGISTER Msr;
1013
1014 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_CTRL);
1015 AsmWriteMsr64 (MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_CTRL, Msr.Uint64);
1016 @endcode
1017 @note MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_CTRL is defined as IA32_PERF_GLOBAL_CTRL in SDM.
1018 **/
1019 #define MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_CTRL 0x0000038F
1020
1021 /**
1022 MSR information returned for MSR index
1023 #MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_CTRL
1024 **/
1025 typedef union {
1026 ///
1027 /// Individual bit fields
1028 ///
1029 struct {
1030 ///
1031 /// [Bit 0] Thread. Set 1 to enable PMC0 to count.
1032 ///
1033 UINT32 PCM0_EN : 1;
1034 ///
1035 /// [Bit 1] Thread. Set 1 to enable PMC1 to count.
1036 ///
1037 UINT32 PCM1_EN : 1;
1038 ///
1039 /// [Bit 2] Thread. Set 1 to enable PMC2 to count.
1040 ///
1041 UINT32 PCM2_EN : 1;
1042 ///
1043 /// [Bit 3] Thread. Set 1 to enable PMC3 to count.
1044 ///
1045 UINT32 PCM3_EN : 1;
1046 ///
1047 /// [Bit 4] Core. Set 1 to enable PMC4 to count (if CPUID.0AH:EAX[15:8] >
1048 /// 4).
1049 ///
1050 UINT32 PCM4_EN : 1;
1051 ///
1052 /// [Bit 5] Core. Set 1 to enable PMC5 to count (if CPUID.0AH:EAX[15:8] >
1053 /// 5).
1054 ///
1055 UINT32 PCM5_EN : 1;
1056 ///
1057 /// [Bit 6] Core. Set 1 to enable PMC6 to count (if CPUID.0AH:EAX[15:8] >
1058 /// 6).
1059 ///
1060 UINT32 PCM6_EN : 1;
1061 ///
1062 /// [Bit 7] Core. Set 1 to enable PMC7 to count (if CPUID.0AH:EAX[15:8] >
1063 /// 7).
1064 ///
1065 UINT32 PCM7_EN : 1;
1066 UINT32 Reserved1 : 24;
1067 ///
1068 /// [Bit 32] Thread. Set 1 to enable FixedCtr0 to count.
1069 ///
1070 UINT32 FIXED_CTR0 : 1;
1071 ///
1072 /// [Bit 33] Thread. Set 1 to enable FixedCtr1 to count.
1073 ///
1074 UINT32 FIXED_CTR1 : 1;
1075 ///
1076 /// [Bit 34] Thread. Set 1 to enable FixedCtr2 to count.
1077 ///
1078 UINT32 FIXED_CTR2 : 1;
1079 UINT32 Reserved2 : 29;
1080 } Bits;
1081 ///
1082 /// All bit fields as a 64-bit value
1083 ///
1084 UINT64 Uint64;
1085 } MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_CTRL_REGISTER;
1086
1087 /**
1088 See Table 2-2. See Section 18.6.2.2, "Global Counter Control Facilities.".
1089
1090 @param ECX MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_OVF_CTRL (0x00000390)
1091 @param EAX Lower 32-bits of MSR value.
1092 Described by the type MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_OVF_CTRL_REGISTER.
1093 @param EDX Upper 32-bits of MSR value.
1094 Described by the type MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_OVF_CTRL_REGISTER.
1095
1096 <b>Example usage</b>
1097 @code
1098 MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_OVF_CTRL_REGISTER Msr;
1099
1100 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_OVF_CTRL);
1101 AsmWriteMsr64 (MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_OVF_CTRL, Msr.Uint64);
1102 @endcode
1103 @note MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_OVF_CTRL is defined as IA32_PERF_GLOBAL_OVF_CTRL in SDM.
1104 **/
1105 #define MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_OVF_CTRL 0x00000390
1106
1107 /**
1108 MSR information returned for MSR index
1109 #MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_OVF_CTRL
1110 **/
1111 typedef union {
1112 ///
1113 /// Individual bit fields
1114 ///
1115 struct {
1116 ///
1117 /// [Bit 0] Thread. Set 1 to clear Ovf_PMC0.
1118 ///
1119 UINT32 Ovf_PMC0 : 1;
1120 ///
1121 /// [Bit 1] Thread. Set 1 to clear Ovf_PMC1.
1122 ///
1123 UINT32 Ovf_PMC1 : 1;
1124 ///
1125 /// [Bit 2] Thread. Set 1 to clear Ovf_PMC2.
1126 ///
1127 UINT32 Ovf_PMC2 : 1;
1128 ///
1129 /// [Bit 3] Thread. Set 1 to clear Ovf_PMC3.
1130 ///
1131 UINT32 Ovf_PMC3 : 1;
1132 ///
1133 /// [Bit 4] Core. Set 1 to clear Ovf_PMC4 (if CPUID.0AH:EAX[15:8] > 4).
1134 ///
1135 UINT32 Ovf_PMC4 : 1;
1136 ///
1137 /// [Bit 5] Core. Set 1 to clear Ovf_PMC5 (if CPUID.0AH:EAX[15:8] > 5).
1138 ///
1139 UINT32 Ovf_PMC5 : 1;
1140 ///
1141 /// [Bit 6] Core. Set 1 to clear Ovf_PMC6 (if CPUID.0AH:EAX[15:8] > 6).
1142 ///
1143 UINT32 Ovf_PMC6 : 1;
1144 ///
1145 /// [Bit 7] Core. Set 1 to clear Ovf_PMC7 (if CPUID.0AH:EAX[15:8] > 7).
1146 ///
1147 UINT32 Ovf_PMC7 : 1;
1148 UINT32 Reserved1 : 24;
1149 ///
1150 /// [Bit 32] Thread. Set 1 to clear Ovf_FixedCtr0.
1151 ///
1152 UINT32 Ovf_FixedCtr0 : 1;
1153 ///
1154 /// [Bit 33] Thread. Set 1 to clear Ovf_FixedCtr1.
1155 ///
1156 UINT32 Ovf_FixedCtr1 : 1;
1157 ///
1158 /// [Bit 34] Thread. Set 1 to clear Ovf_FixedCtr2.
1159 ///
1160 UINT32 Ovf_FixedCtr2 : 1;
1161 UINT32 Reserved2 : 26;
1162 ///
1163 /// [Bit 61] Thread. Set 1 to clear Ovf_Uncore.
1164 ///
1165 UINT32 Ovf_Uncore : 1;
1166 ///
1167 /// [Bit 62] Thread. Set 1 to clear Ovf_BufDSSAVE.
1168 ///
1169 UINT32 Ovf_BufDSSAVE : 1;
1170 ///
1171 /// [Bit 63] Thread. Set 1 to clear CondChgd.
1172 ///
1173 UINT32 CondChgd : 1;
1174 } Bits;
1175 ///
1176 /// All bit fields as a 64-bit value
1177 ///
1178 UINT64 Uint64;
1179 } MSR_SANDY_BRIDGE_IA32_PERF_GLOBAL_OVF_CTRL_REGISTER;
1180
1181 /**
1182 Thread. See Section 18.3.1.1.1, "Processor Event Based Sampling (PEBS).".
1183
1184 @param ECX MSR_SANDY_BRIDGE_PEBS_ENABLE (0x000003F1)
1185 @param EAX Lower 32-bits of MSR value.
1186 Described by the type MSR_SANDY_BRIDGE_PEBS_ENABLE_REGISTER.
1187 @param EDX Upper 32-bits of MSR value.
1188 Described by the type MSR_SANDY_BRIDGE_PEBS_ENABLE_REGISTER.
1189
1190 <b>Example usage</b>
1191 @code
1192 MSR_SANDY_BRIDGE_PEBS_ENABLE_REGISTER Msr;
1193
1194 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_PEBS_ENABLE);
1195 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PEBS_ENABLE, Msr.Uint64);
1196 @endcode
1197 @note MSR_SANDY_BRIDGE_PEBS_ENABLE is defined as MSR_PEBS_ENABLE in SDM.
1198 **/
1199 #define MSR_SANDY_BRIDGE_PEBS_ENABLE 0x000003F1
1200
1201 /**
1202 MSR information returned for MSR index #MSR_SANDY_BRIDGE_PEBS_ENABLE
1203 **/
1204 typedef union {
1205 ///
1206 /// Individual bit fields
1207 ///
1208 struct {
1209 ///
1210 /// [Bit 0] Enable PEBS on IA32_PMC0. (R/W).
1211 ///
1212 UINT32 PEBS_EN_PMC0 : 1;
1213 ///
1214 /// [Bit 1] Enable PEBS on IA32_PMC1. (R/W).
1215 ///
1216 UINT32 PEBS_EN_PMC1 : 1;
1217 ///
1218 /// [Bit 2] Enable PEBS on IA32_PMC2. (R/W).
1219 ///
1220 UINT32 PEBS_EN_PMC2 : 1;
1221 ///
1222 /// [Bit 3] Enable PEBS on IA32_PMC3. (R/W).
1223 ///
1224 UINT32 PEBS_EN_PMC3 : 1;
1225 UINT32 Reserved1 : 28;
1226 ///
1227 /// [Bit 32] Enable Load Latency on IA32_PMC0. (R/W).
1228 ///
1229 UINT32 LL_EN_PMC0 : 1;
1230 ///
1231 /// [Bit 33] Enable Load Latency on IA32_PMC1. (R/W).
1232 ///
1233 UINT32 LL_EN_PMC1 : 1;
1234 ///
1235 /// [Bit 34] Enable Load Latency on IA32_PMC2. (R/W).
1236 ///
1237 UINT32 LL_EN_PMC2 : 1;
1238 ///
1239 /// [Bit 35] Enable Load Latency on IA32_PMC3. (R/W).
1240 ///
1241 UINT32 LL_EN_PMC3 : 1;
1242 UINT32 Reserved2 : 27;
1243 ///
1244 /// [Bit 63] Enable Precise Store. (R/W).
1245 ///
1246 UINT32 PS_EN : 1;
1247 } Bits;
1248 ///
1249 /// All bit fields as a 64-bit value
1250 ///
1251 UINT64 Uint64;
1252 } MSR_SANDY_BRIDGE_PEBS_ENABLE_REGISTER;
1253
1254 /**
1255 Thread. See Section 18.3.1.1.2, "Load Latency Performance Monitoring
1256 Facility.".
1257
1258 @param ECX MSR_SANDY_BRIDGE_PEBS_LD_LAT (0x000003F6)
1259 @param EAX Lower 32-bits of MSR value.
1260 Described by the type MSR_SANDY_BRIDGE_PEBS_LD_LAT_REGISTER.
1261 @param EDX Upper 32-bits of MSR value.
1262 Described by the type MSR_SANDY_BRIDGE_PEBS_LD_LAT_REGISTER.
1263
1264 <b>Example usage</b>
1265 @code
1266 MSR_SANDY_BRIDGE_PEBS_LD_LAT_REGISTER Msr;
1267
1268 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_PEBS_LD_LAT);
1269 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PEBS_LD_LAT, Msr.Uint64);
1270 @endcode
1271 @note MSR_SANDY_BRIDGE_PEBS_LD_LAT is defined as MSR_PEBS_LD_LAT in SDM.
1272 **/
1273 #define MSR_SANDY_BRIDGE_PEBS_LD_LAT 0x000003F6
1274
1275 /**
1276 MSR information returned for MSR index #MSR_SANDY_BRIDGE_PEBS_LD_LAT
1277 **/
1278 typedef union {
1279 ///
1280 /// Individual bit fields
1281 ///
1282 struct {
1283 ///
1284 /// [Bits 15:0] Minimum threshold latency value of tagged load operation
1285 /// that will be counted. (R/W).
1286 ///
1287 UINT32 MinimumThreshold : 16;
1288 UINT32 Reserved1 : 16;
1289 UINT32 Reserved2 : 32;
1290 } Bits;
1291 ///
1292 /// All bit fields as a 32-bit value
1293 ///
1294 UINT32 Uint32;
1295 ///
1296 /// All bit fields as a 64-bit value
1297 ///
1298 UINT64 Uint64;
1299 } MSR_SANDY_BRIDGE_PEBS_LD_LAT_REGISTER;
1300
1301 /**
1302 Package. Note: C-state values are processor specific C-state code names,
1303 unrelated to MWAIT extension C-state parameters or ACPI CStates. Package C3
1304 Residency Counter. (R/O) Value since last reset that this package is in
1305 processor-specific C3 states. Count at the same frequency as the TSC.
1306
1307 @param ECX MSR_SANDY_BRIDGE_PKG_C3_RESIDENCY (0x000003F8)
1308 @param EAX Lower 32-bits of MSR value.
1309 @param EDX Upper 32-bits of MSR value.
1310
1311 <b>Example usage</b>
1312 @code
1313 UINT64 Msr;
1314
1315 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PKG_C3_RESIDENCY);
1316 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PKG_C3_RESIDENCY, Msr);
1317 @endcode
1318 @note MSR_SANDY_BRIDGE_PKG_C3_RESIDENCY is defined as MSR_PKG_C3_RESIDENCY in SDM.
1319 **/
1320 #define MSR_SANDY_BRIDGE_PKG_C3_RESIDENCY 0x000003F8
1321
1322 /**
1323 Package. Note: C-state values are processor specific C-state code names,
1324 unrelated to MWAIT extension C-state parameters or ACPI CStates. Package C6
1325 Residency Counter. (R/O) Value since last reset that this package is in
1326 processor-specific C6 states. Count at the same frequency as the TSC.
1327
1328 @param ECX MSR_SANDY_BRIDGE_PKG_C6_RESIDENCY (0x000003F9)
1329 @param EAX Lower 32-bits of MSR value.
1330 @param EDX Upper 32-bits of MSR value.
1331
1332 <b>Example usage</b>
1333 @code
1334 UINT64 Msr;
1335
1336 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PKG_C6_RESIDENCY);
1337 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PKG_C6_RESIDENCY, Msr);
1338 @endcode
1339 @note MSR_SANDY_BRIDGE_PKG_C6_RESIDENCY is defined as MSR_PKG_C6_RESIDENCY in SDM.
1340 **/
1341 #define MSR_SANDY_BRIDGE_PKG_C6_RESIDENCY 0x000003F9
1342
1343 /**
1344 Package. Note: C-state values are processor specific C-state code names,
1345 unrelated to MWAIT extension C-state parameters or ACPI CStates. Package C7
1346 Residency Counter. (R/O) Value since last reset that this package is in
1347 processor-specific C7 states. Count at the same frequency as the TSC.
1348
1349 @param ECX MSR_SANDY_BRIDGE_PKG_C7_RESIDENCY (0x000003FA)
1350 @param EAX Lower 32-bits of MSR value.
1351 @param EDX Upper 32-bits of MSR value.
1352
1353 <b>Example usage</b>
1354 @code
1355 UINT64 Msr;
1356
1357 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PKG_C7_RESIDENCY);
1358 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PKG_C7_RESIDENCY, Msr);
1359 @endcode
1360 @note MSR_SANDY_BRIDGE_PKG_C7_RESIDENCY is defined as MSR_PKG_C7_RESIDENCY in SDM.
1361 **/
1362 #define MSR_SANDY_BRIDGE_PKG_C7_RESIDENCY 0x000003FA
1363
1364 /**
1365 Core. Note: C-state values are processor specific C-state code names,
1366 unrelated to MWAIT extension C-state parameters or ACPI CStates. CORE C3
1367 Residency Counter. (R/O) Value since last reset that this core is in
1368 processor-specific C3 states. Count at the same frequency as the TSC.
1369
1370 @param ECX MSR_SANDY_BRIDGE_CORE_C3_RESIDENCY (0x000003FC)
1371 @param EAX Lower 32-bits of MSR value.
1372 @param EDX Upper 32-bits of MSR value.
1373
1374 <b>Example usage</b>
1375 @code
1376 UINT64 Msr;
1377
1378 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_CORE_C3_RESIDENCY);
1379 AsmWriteMsr64 (MSR_SANDY_BRIDGE_CORE_C3_RESIDENCY, Msr);
1380 @endcode
1381 @note MSR_SANDY_BRIDGE_CORE_C3_RESIDENCY is defined as MSR_CORE_C3_RESIDENCY in SDM.
1382 **/
1383 #define MSR_SANDY_BRIDGE_CORE_C3_RESIDENCY 0x000003FC
1384
1385 /**
1386 Core. Note: C-state values are processor specific C-state code names,
1387 unrelated to MWAIT extension C-state parameters or ACPI CStates. CORE C6
1388 Residency Counter. (R/O) Value since last reset that this core is in
1389 processor-specific C6 states. Count at the same frequency as the TSC.
1390
1391 @param ECX MSR_SANDY_BRIDGE_CORE_C6_RESIDENCY (0x000003FD)
1392 @param EAX Lower 32-bits of MSR value.
1393 @param EDX Upper 32-bits of MSR value.
1394
1395 <b>Example usage</b>
1396 @code
1397 UINT64 Msr;
1398
1399 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_CORE_C6_RESIDENCY);
1400 AsmWriteMsr64 (MSR_SANDY_BRIDGE_CORE_C6_RESIDENCY, Msr);
1401 @endcode
1402 @note MSR_SANDY_BRIDGE_CORE_C6_RESIDENCY is defined as MSR_CORE_C6_RESIDENCY in SDM.
1403 **/
1404 #define MSR_SANDY_BRIDGE_CORE_C6_RESIDENCY 0x000003FD
1405
1406 /**
1407 Core. Note: C-state values are processor specific C-state code names,
1408 unrelated to MWAIT extension C-state parameters or ACPI CStates. CORE C7
1409 Residency Counter. (R/O) Value since last reset that this core is in
1410 processor-specific C7 states. Count at the same frequency as the TSC.
1411
1412 @param ECX MSR_SANDY_BRIDGE_CORE_C7_RESIDENCY (0x000003FE)
1413 @param EAX Lower 32-bits of MSR value.
1414 @param EDX Upper 32-bits of MSR value.
1415
1416 <b>Example usage</b>
1417 @code
1418 UINT64 Msr;
1419
1420 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_CORE_C7_RESIDENCY);
1421 AsmWriteMsr64 (MSR_SANDY_BRIDGE_CORE_C7_RESIDENCY, Msr);
1422 @endcode
1423 @note MSR_SANDY_BRIDGE_CORE_C7_RESIDENCY is defined as MSR_CORE_C7_RESIDENCY in SDM.
1424 **/
1425 #define MSR_SANDY_BRIDGE_CORE_C7_RESIDENCY 0x000003FE
1426
1427 /**
1428 Core. See Section 15.3.2.1, "IA32_MCi_CTL MSRs.".
1429
1430 @param ECX MSR_SANDY_BRIDGE_IA32_MC4_CTL (0x00000410)
1431 @param EAX Lower 32-bits of MSR value.
1432 Described by the type MSR_SANDY_BRIDGE_IA32_MC4_CTL_REGISTER.
1433 @param EDX Upper 32-bits of MSR value.
1434 Described by the type MSR_SANDY_BRIDGE_IA32_MC4_CTL_REGISTER.
1435
1436 <b>Example usage</b>
1437 @code
1438 MSR_SANDY_BRIDGE_IA32_MC4_CTL_REGISTER Msr;
1439
1440 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_IA32_MC4_CTL);
1441 AsmWriteMsr64 (MSR_SANDY_BRIDGE_IA32_MC4_CTL, Msr.Uint64);
1442 @endcode
1443 @note MSR_SANDY_BRIDGE_IA32_MC4_CTL is defined as IA32_MC4_CTL in SDM.
1444 **/
1445 #define MSR_SANDY_BRIDGE_IA32_MC4_CTL 0x00000410
1446
1447 /**
1448 MSR information returned for MSR index #MSR_SANDY_BRIDGE_IA32_MC4_CTL
1449 **/
1450 typedef union {
1451 ///
1452 /// Individual bit fields
1453 ///
1454 struct {
1455 ///
1456 /// [Bit 0] PCU Hardware Error (R/W) When set, enables signaling of PCU
1457 /// hardware detected errors.
1458 ///
1459 UINT32 PCUHardwareError : 1;
1460 ///
1461 /// [Bit 1] PCU Controller Error (R/W) When set, enables signaling of PCU
1462 /// controller detected errors.
1463 ///
1464 UINT32 PCUControllerError : 1;
1465 ///
1466 /// [Bit 2] PCU Firmware Error (R/W) When set, enables signaling of PCU
1467 /// firmware detected errors.
1468 ///
1469 UINT32 PCUFirmwareError : 1;
1470 UINT32 Reserved1 : 29;
1471 UINT32 Reserved2 : 32;
1472 } Bits;
1473 ///
1474 /// All bit fields as a 32-bit value
1475 ///
1476 UINT32 Uint32;
1477 ///
1478 /// All bit fields as a 64-bit value
1479 ///
1480 UINT64 Uint64;
1481 } MSR_SANDY_BRIDGE_IA32_MC4_CTL_REGISTER;
1482
1483 /**
1484 Thread. Capability Reporting Register of EPT and VPID (R/O) See Table 2-2.
1485
1486 @param ECX MSR_SANDY_BRIDGE_IA32_VMX_EPT_VPID_ENUM (0x0000048C)
1487 @param EAX Lower 32-bits of MSR value.
1488 @param EDX Upper 32-bits of MSR value.
1489
1490 <b>Example usage</b>
1491 @code
1492 UINT64 Msr;
1493
1494 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_IA32_VMX_EPT_VPID_ENUM);
1495 @endcode
1496 @note MSR_SANDY_BRIDGE_IA32_VMX_EPT_VPID_ENUM is defined as IA32_VMX_EPT_VPID_ENUM in SDM.
1497 **/
1498 #define MSR_SANDY_BRIDGE_IA32_VMX_EPT_VPID_ENUM 0x0000048C
1499
1500 /**
1501 Package. Unit Multipliers used in RAPL Interfaces (R/O) See Section 14.9.1,
1502 "RAPL Interfaces.".
1503
1504 @param ECX MSR_SANDY_BRIDGE_RAPL_POWER_UNIT (0x00000606)
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_SANDY_BRIDGE_RAPL_POWER_UNIT);
1513 @endcode
1514 @note MSR_SANDY_BRIDGE_RAPL_POWER_UNIT is defined as MSR_RAPL_POWER_UNIT in SDM.
1515 **/
1516 #define MSR_SANDY_BRIDGE_RAPL_POWER_UNIT 0x00000606
1517
1518 /**
1519 Package. Package C3 Interrupt Response Limit (R/W) Note: C-state values are
1520 processor specific C-state code names, unrelated to MWAIT extension C-state
1521 parameters or ACPI CStates.
1522
1523 @param ECX MSR_SANDY_BRIDGE_PKGC3_IRTL (0x0000060A)
1524 @param EAX Lower 32-bits of MSR value.
1525 Described by the type MSR_SANDY_BRIDGE_PKGC3_IRTL_REGISTER.
1526 @param EDX Upper 32-bits of MSR value.
1527 Described by the type MSR_SANDY_BRIDGE_PKGC3_IRTL_REGISTER.
1528
1529 <b>Example usage</b>
1530 @code
1531 MSR_SANDY_BRIDGE_PKGC3_IRTL_REGISTER Msr;
1532
1533 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_PKGC3_IRTL);
1534 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PKGC3_IRTL, Msr.Uint64);
1535 @endcode
1536 @note MSR_SANDY_BRIDGE_PKGC3_IRTL is defined as MSR_PKGC3_IRTL in SDM.
1537 **/
1538 #define MSR_SANDY_BRIDGE_PKGC3_IRTL 0x0000060A
1539
1540 /**
1541 MSR information returned for MSR index #MSR_SANDY_BRIDGE_PKGC3_IRTL
1542 **/
1543 typedef union {
1544 ///
1545 /// Individual bit fields
1546 ///
1547 struct {
1548 ///
1549 /// [Bits 9:0] Interrupt response time limit (R/W) Specifies the limit
1550 /// that should be used to decide if the package should be put into a
1551 /// package C3 state.
1552 ///
1553 UINT32 TimeLimit : 10;
1554 ///
1555 /// [Bits 12:10] Time Unit (R/W) Specifies the encoding value of time
1556 /// unit of the interrupt response time limit. The following time unit
1557 /// encodings are supported: 000b: 1 ns 001b: 32 ns 010b: 1024 ns 011b:
1558 /// 32768 ns 100b: 1048576 ns 101b: 33554432 ns.
1559 ///
1560 UINT32 TimeUnit : 3;
1561 UINT32 Reserved1 : 2;
1562 ///
1563 /// [Bit 15] Valid (R/W) Indicates whether the values in bits 12:0 are
1564 /// valid and can be used by the processor for package C-sate management.
1565 ///
1566 UINT32 Valid : 1;
1567 UINT32 Reserved2 : 16;
1568 UINT32 Reserved3 : 32;
1569 } Bits;
1570 ///
1571 /// All bit fields as a 32-bit value
1572 ///
1573 UINT32 Uint32;
1574 ///
1575 /// All bit fields as a 64-bit value
1576 ///
1577 UINT64 Uint64;
1578 } MSR_SANDY_BRIDGE_PKGC3_IRTL_REGISTER;
1579
1580 /**
1581 Package. Package C6 Interrupt Response Limit (R/W) This MSR defines the
1582 budget allocated for the package to exit from C6 to a C0 state, where
1583 interrupt request can be delivered to the core and serviced. Additional
1584 core-exit latency amy be applicable depending on the actual C-state the core
1585 is in. Note: C-state values are processor specific C-state code names,
1586 unrelated to MWAIT extension C-state parameters or ACPI CStates.
1587
1588 @param ECX MSR_SANDY_BRIDGE_PKGC6_IRTL (0x0000060B)
1589 @param EAX Lower 32-bits of MSR value.
1590 Described by the type MSR_SANDY_BRIDGE_PKGC6_IRTL_REGISTER.
1591 @param EDX Upper 32-bits of MSR value.
1592 Described by the type MSR_SANDY_BRIDGE_PKGC6_IRTL_REGISTER.
1593
1594 <b>Example usage</b>
1595 @code
1596 MSR_SANDY_BRIDGE_PKGC6_IRTL_REGISTER Msr;
1597
1598 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_PKGC6_IRTL);
1599 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PKGC6_IRTL, Msr.Uint64);
1600 @endcode
1601 @note MSR_SANDY_BRIDGE_PKGC6_IRTL is defined as MSR_PKGC6_IRTL in SDM.
1602 **/
1603 #define MSR_SANDY_BRIDGE_PKGC6_IRTL 0x0000060B
1604
1605 /**
1606 MSR information returned for MSR index #MSR_SANDY_BRIDGE_PKGC6_IRTL
1607 **/
1608 typedef union {
1609 ///
1610 /// Individual bit fields
1611 ///
1612 struct {
1613 ///
1614 /// [Bits 9:0] Interrupt response time limit (R/W) Specifies the limit
1615 /// that should be used to decide if the package should be put into a
1616 /// package C6 state.
1617 ///
1618 UINT32 TimeLimit : 10;
1619 ///
1620 /// [Bits 12:10] Time Unit (R/W) Specifies the encoding value of time
1621 /// unit of the interrupt response time limit. The following time unit
1622 /// encodings are supported: 000b: 1 ns 001b: 32 ns 010b: 1024 ns 011b:
1623 /// 32768 ns 100b: 1048576 ns 101b: 33554432 ns.
1624 ///
1625 UINT32 TimeUnit : 3;
1626 UINT32 Reserved1 : 2;
1627 ///
1628 /// [Bit 15] Valid (R/W) Indicates whether the values in bits 12:0 are
1629 /// valid and can be used by the processor for package C-sate management.
1630 ///
1631 UINT32 Valid : 1;
1632 UINT32 Reserved2 : 16;
1633 UINT32 Reserved3 : 32;
1634 } Bits;
1635 ///
1636 /// All bit fields as a 32-bit value
1637 ///
1638 UINT32 Uint32;
1639 ///
1640 /// All bit fields as a 64-bit value
1641 ///
1642 UINT64 Uint64;
1643 } MSR_SANDY_BRIDGE_PKGC6_IRTL_REGISTER;
1644
1645 /**
1646 Package. Note: C-state values are processor specific C-state code names,
1647 unrelated to MWAIT extension C-state parameters or ACPI CStates. Package C2
1648 Residency Counter. (R/O) Value since last reset that this package is in
1649 processor-specific C2 states. Count at the same frequency as the TSC.
1650
1651 @param ECX MSR_SANDY_BRIDGE_PKG_C2_RESIDENCY (0x0000060D)
1652 @param EAX Lower 32-bits of MSR value.
1653 @param EDX Upper 32-bits of MSR value.
1654
1655 <b>Example usage</b>
1656 @code
1657 UINT64 Msr;
1658
1659 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PKG_C2_RESIDENCY);
1660 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PKG_C2_RESIDENCY, Msr);
1661 @endcode
1662 @note MSR_SANDY_BRIDGE_PKG_C2_RESIDENCY is defined as MSR_PKG_C2_RESIDENCY in SDM.
1663 **/
1664 #define MSR_SANDY_BRIDGE_PKG_C2_RESIDENCY 0x0000060D
1665
1666 /**
1667 Package. PKG RAPL Power Limit Control (R/W) See Section 14.9.3, "Package
1668 RAPL Domain.".
1669
1670 @param ECX MSR_SANDY_BRIDGE_PKG_POWER_LIMIT (0x00000610)
1671 @param EAX Lower 32-bits of MSR value.
1672 @param EDX Upper 32-bits of MSR value.
1673
1674 <b>Example usage</b>
1675 @code
1676 UINT64 Msr;
1677
1678 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PKG_POWER_LIMIT);
1679 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PKG_POWER_LIMIT, Msr);
1680 @endcode
1681 @note MSR_SANDY_BRIDGE_PKG_POWER_LIMIT is defined as MSR_PKG_POWER_LIMIT in SDM.
1682 **/
1683 #define MSR_SANDY_BRIDGE_PKG_POWER_LIMIT 0x00000610
1684
1685 /**
1686 Package. PKG Energy Status (R/O) See Section 14.9.3, "Package RAPL Domain.".
1687
1688 @param ECX MSR_SANDY_BRIDGE_PKG_ENERGY_STATUS (0x00000611)
1689 @param EAX Lower 32-bits of MSR value.
1690 @param EDX Upper 32-bits of MSR value.
1691
1692 <b>Example usage</b>
1693 @code
1694 UINT64 Msr;
1695
1696 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PKG_ENERGY_STATUS);
1697 @endcode
1698 @note MSR_SANDY_BRIDGE_PKG_ENERGY_STATUS is defined as MSR_PKG_ENERGY_STATUS in SDM.
1699 **/
1700 #define MSR_SANDY_BRIDGE_PKG_ENERGY_STATUS 0x00000611
1701
1702 /**
1703 Package. PKG RAPL Parameters (R/W) See Section 14.9.3, "Package RAPL
1704 Domain.".
1705
1706 @param ECX MSR_SANDY_BRIDGE_PKG_POWER_INFO (0x00000614)
1707 @param EAX Lower 32-bits of MSR value.
1708 @param EDX Upper 32-bits of MSR value.
1709
1710 <b>Example usage</b>
1711 @code
1712 UINT64 Msr;
1713
1714 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PKG_POWER_INFO);
1715 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PKG_POWER_INFO, Msr);
1716 @endcode
1717 @note MSR_SANDY_BRIDGE_PKG_POWER_INFO is defined as MSR_PKG_POWER_INFO in SDM.
1718 **/
1719 #define MSR_SANDY_BRIDGE_PKG_POWER_INFO 0x00000614
1720
1721 /**
1722 Package. PP0 RAPL Power Limit Control (R/W) See Section 14.9.4, "PP0/PP1
1723 RAPL Domains.".
1724
1725 @param ECX MSR_SANDY_BRIDGE_PP0_POWER_LIMIT (0x00000638)
1726 @param EAX Lower 32-bits of MSR value.
1727 @param EDX Upper 32-bits of MSR value.
1728
1729 <b>Example usage</b>
1730 @code
1731 UINT64 Msr;
1732
1733 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PP0_POWER_LIMIT);
1734 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PP0_POWER_LIMIT, Msr);
1735 @endcode
1736 @note MSR_SANDY_BRIDGE_PP0_POWER_LIMIT is defined as MSR_PP0_POWER_LIMIT in SDM.
1737 **/
1738 #define MSR_SANDY_BRIDGE_PP0_POWER_LIMIT 0x00000638
1739
1740 /**
1741 Package. PP0 Energy Status (R/O) See Section 14.9.4, "PP0/PP1 RAPL
1742 Domains.".
1743
1744 @param ECX MSR_SANDY_BRIDGE_PP0_ENERGY_STATUS (0x00000639)
1745 @param EAX Lower 32-bits of MSR value.
1746 @param EDX Upper 32-bits of MSR value.
1747
1748 <b>Example usage</b>
1749 @code
1750 UINT64 Msr;
1751
1752 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PP0_ENERGY_STATUS);
1753 @endcode
1754 @note MSR_SANDY_BRIDGE_PP0_ENERGY_STATUS is defined as MSR_PP0_ENERGY_STATUS in SDM.
1755 **/
1756 #define MSR_SANDY_BRIDGE_PP0_ENERGY_STATUS 0x00000639
1757
1758 /**
1759 Thread. Last Branch Record n From IP (R/W) One of sixteen pairs of last
1760 branch record registers on the last branch record stack. This part of the
1761 stack contains pointers to the source instruction. See also: - Last Branch
1762 Record Stack TOS at 1C9H - Section 17.7.1 and record format in Section
1763 17.4.8.1.
1764
1765 @param ECX MSR_SANDY_BRIDGE_LASTBRANCH_n_FROM_IP
1766 @param EAX Lower 32-bits of MSR value.
1767 @param EDX Upper 32-bits of MSR value.
1768
1769 <b>Example usage</b>
1770 @code
1771 UINT64 Msr;
1772
1773 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_LASTBRANCH_0_FROM_IP);
1774 AsmWriteMsr64 (MSR_SANDY_BRIDGE_LASTBRANCH_0_FROM_IP, Msr);
1775 @endcode
1776 @note MSR_SANDY_BRIDGE_LASTBRANCH_0_FROM_IP is defined as MSR_LASTBRANCH_0_FROM_IP in SDM.
1777 MSR_SANDY_BRIDGE_LASTBRANCH_1_FROM_IP is defined as MSR_LASTBRANCH_1_FROM_IP in SDM.
1778 MSR_SANDY_BRIDGE_LASTBRANCH_2_FROM_IP is defined as MSR_LASTBRANCH_2_FROM_IP in SDM.
1779 MSR_SANDY_BRIDGE_LASTBRANCH_3_FROM_IP is defined as MSR_LASTBRANCH_3_FROM_IP in SDM.
1780 MSR_SANDY_BRIDGE_LASTBRANCH_4_FROM_IP is defined as MSR_LASTBRANCH_4_FROM_IP in SDM.
1781 MSR_SANDY_BRIDGE_LASTBRANCH_5_FROM_IP is defined as MSR_LASTBRANCH_5_FROM_IP in SDM.
1782 MSR_SANDY_BRIDGE_LASTBRANCH_6_FROM_IP is defined as MSR_LASTBRANCH_6_FROM_IP in SDM.
1783 MSR_SANDY_BRIDGE_LASTBRANCH_7_FROM_IP is defined as MSR_LASTBRANCH_7_FROM_IP in SDM.
1784 MSR_SANDY_BRIDGE_LASTBRANCH_8_FROM_IP is defined as MSR_LASTBRANCH_8_FROM_IP in SDM.
1785 MSR_SANDY_BRIDGE_LASTBRANCH_9_FROM_IP is defined as MSR_LASTBRANCH_9_FROM_IP in SDM.
1786 MSR_SANDY_BRIDGE_LASTBRANCH_10_FROM_IP is defined as MSR_LASTBRANCH_10_FROM_IP in SDM.
1787 MSR_SANDY_BRIDGE_LASTBRANCH_11_FROM_IP is defined as MSR_LASTBRANCH_11_FROM_IP in SDM.
1788 MSR_SANDY_BRIDGE_LASTBRANCH_12_FROM_IP is defined as MSR_LASTBRANCH_12_FROM_IP in SDM.
1789 MSR_SANDY_BRIDGE_LASTBRANCH_13_FROM_IP is defined as MSR_LASTBRANCH_13_FROM_IP in SDM.
1790 MSR_SANDY_BRIDGE_LASTBRANCH_14_FROM_IP is defined as MSR_LASTBRANCH_14_FROM_IP in SDM.
1791 MSR_SANDY_BRIDGE_LASTBRANCH_15_FROM_IP is defined as MSR_LASTBRANCH_15_FROM_IP in SDM.
1792 @{
1793 **/
1794 #define MSR_SANDY_BRIDGE_LASTBRANCH_0_FROM_IP 0x00000680
1795 #define MSR_SANDY_BRIDGE_LASTBRANCH_1_FROM_IP 0x00000681
1796 #define MSR_SANDY_BRIDGE_LASTBRANCH_2_FROM_IP 0x00000682
1797 #define MSR_SANDY_BRIDGE_LASTBRANCH_3_FROM_IP 0x00000683
1798 #define MSR_SANDY_BRIDGE_LASTBRANCH_4_FROM_IP 0x00000684
1799 #define MSR_SANDY_BRIDGE_LASTBRANCH_5_FROM_IP 0x00000685
1800 #define MSR_SANDY_BRIDGE_LASTBRANCH_6_FROM_IP 0x00000686
1801 #define MSR_SANDY_BRIDGE_LASTBRANCH_7_FROM_IP 0x00000687
1802 #define MSR_SANDY_BRIDGE_LASTBRANCH_8_FROM_IP 0x00000688
1803 #define MSR_SANDY_BRIDGE_LASTBRANCH_9_FROM_IP 0x00000689
1804 #define MSR_SANDY_BRIDGE_LASTBRANCH_10_FROM_IP 0x0000068A
1805 #define MSR_SANDY_BRIDGE_LASTBRANCH_11_FROM_IP 0x0000068B
1806 #define MSR_SANDY_BRIDGE_LASTBRANCH_12_FROM_IP 0x0000068C
1807 #define MSR_SANDY_BRIDGE_LASTBRANCH_13_FROM_IP 0x0000068D
1808 #define MSR_SANDY_BRIDGE_LASTBRANCH_14_FROM_IP 0x0000068E
1809 #define MSR_SANDY_BRIDGE_LASTBRANCH_15_FROM_IP 0x0000068F
1810 /// @}
1811
1812 /**
1813 Thread. Last Branch Record n To IP (R/W) One of sixteen pairs of last branch
1814 record registers on the last branch record stack. This part of the stack
1815 contains pointers to the destination instruction.
1816
1817 @param ECX MSR_SANDY_BRIDGE_LASTBRANCH_n_TO_IP
1818 @param EAX Lower 32-bits of MSR value.
1819 @param EDX Upper 32-bits of MSR value.
1820
1821 <b>Example usage</b>
1822 @code
1823 UINT64 Msr;
1824
1825 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_LASTBRANCH_0_TO_IP);
1826 AsmWriteMsr64 (MSR_SANDY_BRIDGE_LASTBRANCH_0_TO_IP, Msr);
1827 @endcode
1828 @note MSR_SANDY_BRIDGE_LASTBRANCH_0_TO_IP is defined as MSR_LASTBRANCH_0_TO_IP in SDM.
1829 MSR_SANDY_BRIDGE_LASTBRANCH_1_TO_IP is defined as MSR_LASTBRANCH_1_TO_IP in SDM.
1830 MSR_SANDY_BRIDGE_LASTBRANCH_2_TO_IP is defined as MSR_LASTBRANCH_2_TO_IP in SDM.
1831 MSR_SANDY_BRIDGE_LASTBRANCH_3_TO_IP is defined as MSR_LASTBRANCH_3_TO_IP in SDM.
1832 MSR_SANDY_BRIDGE_LASTBRANCH_4_TO_IP is defined as MSR_LASTBRANCH_4_TO_IP in SDM.
1833 MSR_SANDY_BRIDGE_LASTBRANCH_5_TO_IP is defined as MSR_LASTBRANCH_5_TO_IP in SDM.
1834 MSR_SANDY_BRIDGE_LASTBRANCH_6_TO_IP is defined as MSR_LASTBRANCH_6_TO_IP in SDM.
1835 MSR_SANDY_BRIDGE_LASTBRANCH_7_TO_IP is defined as MSR_LASTBRANCH_7_TO_IP in SDM.
1836 MSR_SANDY_BRIDGE_LASTBRANCH_8_TO_IP is defined as MSR_LASTBRANCH_8_TO_IP in SDM.
1837 MSR_SANDY_BRIDGE_LASTBRANCH_9_TO_IP is defined as MSR_LASTBRANCH_9_TO_IP in SDM.
1838 MSR_SANDY_BRIDGE_LASTBRANCH_10_TO_IP is defined as MSR_LASTBRANCH_10_TO_IP in SDM.
1839 MSR_SANDY_BRIDGE_LASTBRANCH_11_TO_IP is defined as MSR_LASTBRANCH_11_TO_IP in SDM.
1840 MSR_SANDY_BRIDGE_LASTBRANCH_12_TO_IP is defined as MSR_LASTBRANCH_12_TO_IP in SDM.
1841 MSR_SANDY_BRIDGE_LASTBRANCH_13_TO_IP is defined as MSR_LASTBRANCH_13_TO_IP in SDM.
1842 MSR_SANDY_BRIDGE_LASTBRANCH_14_TO_IP is defined as MSR_LASTBRANCH_14_TO_IP in SDM.
1843 MSR_SANDY_BRIDGE_LASTBRANCH_15_TO_IP is defined as MSR_LASTBRANCH_15_TO_IP in SDM.
1844 @{
1845 **/
1846 #define MSR_SANDY_BRIDGE_LASTBRANCH_0_TO_IP 0x000006C0
1847 #define MSR_SANDY_BRIDGE_LASTBRANCH_1_TO_IP 0x000006C1
1848 #define MSR_SANDY_BRIDGE_LASTBRANCH_2_TO_IP 0x000006C2
1849 #define MSR_SANDY_BRIDGE_LASTBRANCH_3_TO_IP 0x000006C3
1850 #define MSR_SANDY_BRIDGE_LASTBRANCH_4_TO_IP 0x000006C4
1851 #define MSR_SANDY_BRIDGE_LASTBRANCH_5_TO_IP 0x000006C5
1852 #define MSR_SANDY_BRIDGE_LASTBRANCH_6_TO_IP 0x000006C6
1853 #define MSR_SANDY_BRIDGE_LASTBRANCH_7_TO_IP 0x000006C7
1854 #define MSR_SANDY_BRIDGE_LASTBRANCH_8_TO_IP 0x000006C8
1855 #define MSR_SANDY_BRIDGE_LASTBRANCH_9_TO_IP 0x000006C9
1856 #define MSR_SANDY_BRIDGE_LASTBRANCH_10_TO_IP 0x000006CA
1857 #define MSR_SANDY_BRIDGE_LASTBRANCH_11_TO_IP 0x000006CB
1858 #define MSR_SANDY_BRIDGE_LASTBRANCH_12_TO_IP 0x000006CC
1859 #define MSR_SANDY_BRIDGE_LASTBRANCH_13_TO_IP 0x000006CD
1860 #define MSR_SANDY_BRIDGE_LASTBRANCH_14_TO_IP 0x000006CE
1861 #define MSR_SANDY_BRIDGE_LASTBRANCH_15_TO_IP 0x000006CF
1862 /// @}
1863
1864 /**
1865 Package. Maximum Ratio Limit of Turbo Mode RO if MSR_PLATFORM_INFO.[28] = 0,
1866 RW if MSR_PLATFORM_INFO.[28] = 1.
1867
1868 @param ECX MSR_SANDY_BRIDGE_TURBO_RATIO_LIMIT (0x000001AD)
1869 @param EAX Lower 32-bits of MSR value.
1870 Described by the type MSR_SANDY_BRIDGE_TURBO_RATIO_LIMIT_REGISTER.
1871 @param EDX Upper 32-bits of MSR value.
1872 Described by the type MSR_SANDY_BRIDGE_TURBO_RATIO_LIMIT_REGISTER.
1873
1874 <b>Example usage</b>
1875 @code
1876 MSR_SANDY_BRIDGE_TURBO_RATIO_LIMIT_REGISTER Msr;
1877
1878 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_TURBO_RATIO_LIMIT);
1879 @endcode
1880 @note MSR_SANDY_BRIDGE_TURBO_RATIO_LIMIT is defined as MSR_TURBO_RATIO_LIMIT in SDM.
1881 **/
1882 #define MSR_SANDY_BRIDGE_TURBO_RATIO_LIMIT 0x000001AD
1883
1884 /**
1885 MSR information returned for MSR index #MSR_SANDY_BRIDGE_TURBO_RATIO_LIMIT
1886 **/
1887 typedef union {
1888 ///
1889 /// Individual bit fields
1890 ///
1891 struct {
1892 ///
1893 /// [Bits 7:0] Package. Maximum Ratio Limit for 1C Maximum turbo ratio
1894 /// limit of 1 core active.
1895 ///
1896 UINT32 Maximum1C : 8;
1897 ///
1898 /// [Bits 15:8] Package. Maximum Ratio Limit for 2C Maximum turbo ratio
1899 /// limit of 2 core active.
1900 ///
1901 UINT32 Maximum2C : 8;
1902 ///
1903 /// [Bits 23:16] Package. Maximum Ratio Limit for 3C Maximum turbo ratio
1904 /// limit of 3 core active.
1905 ///
1906 UINT32 Maximum3C : 8;
1907 ///
1908 /// [Bits 31:24] Package. Maximum Ratio Limit for 4C Maximum turbo ratio
1909 /// limit of 4 core active.
1910 ///
1911 UINT32 Maximum4C : 8;
1912 ///
1913 /// [Bits 39:32] Package. Maximum Ratio Limit for 5C Maximum turbo ratio
1914 /// limit of 5 core active.
1915 ///
1916 UINT32 Maximum5C : 8;
1917 ///
1918 /// [Bits 47:40] Package. Maximum Ratio Limit for 6C Maximum turbo ratio
1919 /// limit of 6 core active.
1920 ///
1921 UINT32 Maximum6C : 8;
1922 ///
1923 /// [Bits 55:48] Package. Maximum Ratio Limit for 7C Maximum turbo ratio
1924 /// limit of 7 core active.
1925 ///
1926 UINT32 Maximum7C : 8;
1927 ///
1928 /// [Bits 63:56] Package. Maximum Ratio Limit for 8C Maximum turbo ratio
1929 /// limit of 8 core active.
1930 ///
1931 UINT32 Maximum8C : 8;
1932 } Bits;
1933 ///
1934 /// All bit fields as a 64-bit value
1935 ///
1936 UINT64 Uint64;
1937 } MSR_SANDY_BRIDGE_TURBO_RATIO_LIMIT_REGISTER;
1938
1939 /**
1940 Package. Uncore PMU global control.
1941
1942 @param ECX MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_CTRL (0x00000391)
1943 @param EAX Lower 32-bits of MSR value.
1944 Described by the type MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_CTRL_REGISTER.
1945 @param EDX Upper 32-bits of MSR value.
1946 Described by the type MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_CTRL_REGISTER.
1947
1948 <b>Example usage</b>
1949 @code
1950 MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_CTRL_REGISTER Msr;
1951
1952 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_CTRL);
1953 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_CTRL, Msr.Uint64);
1954 @endcode
1955 @note MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_CTRL is defined as MSR_UNC_PERF_GLOBAL_CTRL in SDM.
1956 **/
1957 #define MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_CTRL 0x00000391
1958
1959 /**
1960 MSR information returned for MSR index #MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_CTRL
1961 **/
1962 typedef union {
1963 ///
1964 /// Individual bit fields
1965 ///
1966 struct {
1967 ///
1968 /// [Bit 0] Slice 0 select.
1969 ///
1970 UINT32 PMI_Sel_Slice0 : 1;
1971 ///
1972 /// [Bit 1] Slice 1 select.
1973 ///
1974 UINT32 PMI_Sel_Slice1 : 1;
1975 ///
1976 /// [Bit 2] Slice 2 select.
1977 ///
1978 UINT32 PMI_Sel_Slice2 : 1;
1979 ///
1980 /// [Bit 3] Slice 3 select.
1981 ///
1982 UINT32 PMI_Sel_Slice3 : 1;
1983 ///
1984 /// [Bit 4] Slice 4 select.
1985 ///
1986 UINT32 PMI_Sel_Slice4 : 1;
1987 UINT32 Reserved1 : 14;
1988 UINT32 Reserved2 : 10;
1989 ///
1990 /// [Bit 29] Enable all uncore counters.
1991 ///
1992 UINT32 EN : 1;
1993 ///
1994 /// [Bit 30] Enable wake on PMI.
1995 ///
1996 UINT32 WakePMI : 1;
1997 ///
1998 /// [Bit 31] Enable Freezing counter when overflow.
1999 ///
2000 UINT32 FREEZE : 1;
2001 UINT32 Reserved3 : 32;
2002 } Bits;
2003 ///
2004 /// All bit fields as a 32-bit value
2005 ///
2006 UINT32 Uint32;
2007 ///
2008 /// All bit fields as a 64-bit value
2009 ///
2010 UINT64 Uint64;
2011 } MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_CTRL_REGISTER;
2012
2013 /**
2014 Package. Uncore PMU main status.
2015
2016 @param ECX MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_STATUS (0x00000392)
2017 @param EAX Lower 32-bits of MSR value.
2018 Described by the type MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_STATUS_REGISTER.
2019 @param EDX Upper 32-bits of MSR value.
2020 Described by the type MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_STATUS_REGISTER.
2021
2022 <b>Example usage</b>
2023 @code
2024 MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_STATUS_REGISTER Msr;
2025
2026 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_STATUS);
2027 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_STATUS, Msr.Uint64);
2028 @endcode
2029 @note MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_STATUS is defined as MSR_UNC_PERF_GLOBAL_STATUS in SDM.
2030 **/
2031 #define MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_STATUS 0x00000392
2032
2033 /**
2034 MSR information returned for MSR index
2035 #MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_STATUS
2036 **/
2037 typedef union {
2038 ///
2039 /// Individual bit fields
2040 ///
2041 struct {
2042 ///
2043 /// [Bit 0] Fixed counter overflowed.
2044 ///
2045 UINT32 Fixed : 1;
2046 ///
2047 /// [Bit 1] An ARB counter overflowed.
2048 ///
2049 UINT32 ARB : 1;
2050 UINT32 Reserved1 : 1;
2051 ///
2052 /// [Bit 3] A CBox counter overflowed (on any slice).
2053 ///
2054 UINT32 CBox : 1;
2055 UINT32 Reserved2 : 28;
2056 UINT32 Reserved3 : 32;
2057 } Bits;
2058 ///
2059 /// All bit fields as a 32-bit value
2060 ///
2061 UINT32 Uint32;
2062 ///
2063 /// All bit fields as a 64-bit value
2064 ///
2065 UINT64 Uint64;
2066 } MSR_SANDY_BRIDGE_UNC_PERF_GLOBAL_STATUS_REGISTER;
2067
2068 /**
2069 Package. Uncore fixed counter control (R/W).
2070
2071 @param ECX MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTRL (0x00000394)
2072 @param EAX Lower 32-bits of MSR value.
2073 Described by the type MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTRL_REGISTER.
2074 @param EDX Upper 32-bits of MSR value.
2075 Described by the type MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTRL_REGISTER.
2076
2077 <b>Example usage</b>
2078 @code
2079 MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTRL_REGISTER Msr;
2080
2081 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTRL);
2082 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTRL, Msr.Uint64);
2083 @endcode
2084 @note MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTRL is defined as MSR_UNC_PERF_FIXED_CTRL in SDM.
2085 **/
2086 #define MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTRL 0x00000394
2087
2088 /**
2089 MSR information returned for MSR index #MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTRL
2090 **/
2091 typedef union {
2092 ///
2093 /// Individual bit fields
2094 ///
2095 struct {
2096 UINT32 Reserved1 : 20;
2097 ///
2098 /// [Bit 20] Enable overflow propagation.
2099 ///
2100 UINT32 EnableOverflow : 1;
2101 UINT32 Reserved2 : 1;
2102 ///
2103 /// [Bit 22] Enable counting.
2104 ///
2105 UINT32 EnableCounting : 1;
2106 UINT32 Reserved3 : 9;
2107 UINT32 Reserved4 : 32;
2108 } Bits;
2109 ///
2110 /// All bit fields as a 32-bit value
2111 ///
2112 UINT32 Uint32;
2113 ///
2114 /// All bit fields as a 64-bit value
2115 ///
2116 UINT64 Uint64;
2117 } MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTRL_REGISTER;
2118
2119 /**
2120 Package. Uncore fixed counter.
2121
2122 @param ECX MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTR (0x00000395)
2123 @param EAX Lower 32-bits of MSR value.
2124 Described by the type MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTR_REGISTER.
2125 @param EDX Upper 32-bits of MSR value.
2126 Described by the type MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTR_REGISTER.
2127
2128 <b>Example usage</b>
2129 @code
2130 MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTR_REGISTER Msr;
2131
2132 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTR);
2133 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTR, Msr.Uint64);
2134 @endcode
2135 @note MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTR is defined as MSR_UNC_PERF_FIXED_CTR in SDM.
2136 **/
2137 #define MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTR 0x00000395
2138
2139 /**
2140 MSR information returned for MSR index #MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTR
2141 **/
2142 typedef union {
2143 ///
2144 /// Individual bit fields
2145 ///
2146 struct {
2147 ///
2148 /// [Bits 31:0] Current count.
2149 ///
2150 UINT32 CurrentCount : 32;
2151 ///
2152 /// [Bits 47:32] Current count.
2153 ///
2154 UINT32 CurrentCountHi : 16;
2155 UINT32 Reserved : 16;
2156 } Bits;
2157 ///
2158 /// All bit fields as a 64-bit value
2159 ///
2160 UINT64 Uint64;
2161 } MSR_SANDY_BRIDGE_UNC_PERF_FIXED_CTR_REGISTER;
2162
2163 /**
2164 Package. Uncore C-Box configuration information (R/O).
2165
2166 @param ECX MSR_SANDY_BRIDGE_UNC_CBO_CONFIG (0x00000396)
2167 @param EAX Lower 32-bits of MSR value.
2168 Described by the type MSR_SANDY_BRIDGE_UNC_CBO_CONFIG_REGISTER.
2169 @param EDX Upper 32-bits of MSR value.
2170 Described by the type MSR_SANDY_BRIDGE_UNC_CBO_CONFIG_REGISTER.
2171
2172 <b>Example usage</b>
2173 @code
2174 MSR_SANDY_BRIDGE_UNC_CBO_CONFIG_REGISTER Msr;
2175
2176 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_CONFIG);
2177 @endcode
2178 @note MSR_SANDY_BRIDGE_UNC_CBO_CONFIG is defined as MSR_UNC_CBO_CONFIG in SDM.
2179 **/
2180 #define MSR_SANDY_BRIDGE_UNC_CBO_CONFIG 0x00000396
2181
2182 /**
2183 MSR information returned for MSR index #MSR_SANDY_BRIDGE_UNC_CBO_CONFIG
2184 **/
2185 typedef union {
2186 ///
2187 /// Individual bit fields
2188 ///
2189 struct {
2190 ///
2191 /// [Bits 3:0] Report the number of C-Box units with performance counters,
2192 /// including processor cores and processor graphics".
2193 ///
2194 UINT32 CBox : 4;
2195 UINT32 Reserved1 : 28;
2196 UINT32 Reserved2 : 32;
2197 } Bits;
2198 ///
2199 /// All bit fields as a 32-bit value
2200 ///
2201 UINT32 Uint32;
2202 ///
2203 /// All bit fields as a 64-bit value
2204 ///
2205 UINT64 Uint64;
2206 } MSR_SANDY_BRIDGE_UNC_CBO_CONFIG_REGISTER;
2207
2208 /**
2209 Package. Uncore Arb unit, performance counter 0.
2210
2211 @param ECX MSR_SANDY_BRIDGE_UNC_ARB_PERFCTR0 (0x000003B0)
2212 @param EAX Lower 32-bits of MSR value.
2213 @param EDX Upper 32-bits of MSR value.
2214
2215 <b>Example usage</b>
2216 @code
2217 UINT64 Msr;
2218
2219 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_ARB_PERFCTR0);
2220 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_ARB_PERFCTR0, Msr);
2221 @endcode
2222 @note MSR_SANDY_BRIDGE_UNC_ARB_PERFCTR0 is defined as MSR_UNC_ARB_PERFCTR0 in SDM.
2223 **/
2224 #define MSR_SANDY_BRIDGE_UNC_ARB_PERFCTR0 0x000003B0
2225
2226 /**
2227 Package. Uncore Arb unit, performance counter 1.
2228
2229 @param ECX MSR_SANDY_BRIDGE_UNC_ARB_PERFCTR1 (0x000003B1)
2230 @param EAX Lower 32-bits of MSR value.
2231 @param EDX Upper 32-bits of MSR value.
2232
2233 <b>Example usage</b>
2234 @code
2235 UINT64 Msr;
2236
2237 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_ARB_PERFCTR1);
2238 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_ARB_PERFCTR1, Msr);
2239 @endcode
2240 @note MSR_SANDY_BRIDGE_UNC_ARB_PERFCTR1 is defined as MSR_UNC_ARB_PERFCTR1 in SDM.
2241 **/
2242 #define MSR_SANDY_BRIDGE_UNC_ARB_PERFCTR1 0x000003B1
2243
2244 /**
2245 Package. Uncore Arb unit, counter 0 event select MSR.
2246
2247 @param ECX MSR_SANDY_BRIDGE_UNC_ARB_PERFEVTSEL0 (0x000003B2)
2248 @param EAX Lower 32-bits of MSR value.
2249 @param EDX Upper 32-bits of MSR value.
2250
2251 <b>Example usage</b>
2252 @code
2253 UINT64 Msr;
2254
2255 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_ARB_PERFEVTSEL0);
2256 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_ARB_PERFEVTSEL0, Msr);
2257 @endcode
2258 @note MSR_SANDY_BRIDGE_UNC_ARB_PERFEVTSEL0 is defined as MSR_UNC_ARB_PERFEVTSEL0 in SDM.
2259 **/
2260 #define MSR_SANDY_BRIDGE_UNC_ARB_PERFEVTSEL0 0x000003B2
2261
2262 /**
2263 Package. Uncore Arb unit, counter 1 event select MSR.
2264
2265 @param ECX MSR_SANDY_BRIDGE_UNC_ARB_PERFEVTSEL1 (0x000003B3)
2266 @param EAX Lower 32-bits of MSR value.
2267 @param EDX Upper 32-bits of MSR value.
2268
2269 <b>Example usage</b>
2270 @code
2271 UINT64 Msr;
2272
2273 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_ARB_PERFEVTSEL1);
2274 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_ARB_PERFEVTSEL1, Msr);
2275 @endcode
2276 @note MSR_SANDY_BRIDGE_UNC_ARB_PERFEVTSEL1 is defined as MSR_UNC_ARB_PERFEVTSEL1 in SDM.
2277 **/
2278 #define MSR_SANDY_BRIDGE_UNC_ARB_PERFEVTSEL1 0x000003B3
2279
2280 /**
2281 Package. Package C7 Interrupt Response Limit (R/W) This MSR defines the
2282 budget allocated for the package to exit from C7 to a C0 state, where
2283 interrupt request can be delivered to the core and serviced. Additional
2284 core-exit latency amy be applicable depending on the actual C-state the core
2285 is in. Note: C-state values are processor specific C-state code names,
2286 unrelated to MWAIT extension C-state parameters or ACPI CStates.
2287
2288 @param ECX MSR_SANDY_BRIDGE_PKGC7_IRTL (0x0000060C)
2289 @param EAX Lower 32-bits of MSR value.
2290 Described by the type MSR_SANDY_BRIDGE_PKGC7_IRTL_REGISTER.
2291 @param EDX Upper 32-bits of MSR value.
2292 Described by the type MSR_SANDY_BRIDGE_PKGC7_IRTL_REGISTER.
2293
2294 <b>Example usage</b>
2295 @code
2296 MSR_SANDY_BRIDGE_PKGC7_IRTL_REGISTER Msr;
2297
2298 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_PKGC7_IRTL);
2299 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PKGC7_IRTL, Msr.Uint64);
2300 @endcode
2301 @note MSR_SANDY_BRIDGE_PKGC7_IRTL is defined as MSR_PKGC7_IRTL in SDM.
2302 **/
2303 #define MSR_SANDY_BRIDGE_PKGC7_IRTL 0x0000060C
2304
2305 /**
2306 MSR information returned for MSR index #MSR_SANDY_BRIDGE_PKGC7_IRTL
2307 **/
2308 typedef union {
2309 ///
2310 /// Individual bit fields
2311 ///
2312 struct {
2313 ///
2314 /// [Bits 9:0] Interrupt response time limit (R/W) Specifies the limit
2315 /// that should be used to decide if the package should be put into a
2316 /// package C7 state.
2317 ///
2318 UINT32 TimeLimit : 10;
2319 ///
2320 /// [Bits 12:10] Time Unit (R/W) Specifies the encoding value of time
2321 /// unit of the interrupt response time limit. The following time unit
2322 /// encodings are supported: 000b: 1 ns 001b: 32 ns 010b: 1024 ns 011b:
2323 /// 32768 ns 100b: 1048576 ns 101b: 33554432 ns.
2324 ///
2325 UINT32 TimeUnit : 3;
2326 UINT32 Reserved1 : 2;
2327 ///
2328 /// [Bit 15] Valid (R/W) Indicates whether the values in bits 12:0 are
2329 /// valid and can be used by the processor for package C-sate management.
2330 ///
2331 UINT32 Valid : 1;
2332 UINT32 Reserved2 : 16;
2333 UINT32 Reserved3 : 32;
2334 } Bits;
2335 ///
2336 /// All bit fields as a 32-bit value
2337 ///
2338 UINT32 Uint32;
2339 ///
2340 /// All bit fields as a 64-bit value
2341 ///
2342 UINT64 Uint64;
2343 } MSR_SANDY_BRIDGE_PKGC7_IRTL_REGISTER;
2344
2345 /**
2346 Package. PP0 Balance Policy (R/W) See Section 14.9.4, "PP0/PP1 RAPL
2347 Domains.".
2348
2349 @param ECX MSR_SANDY_BRIDGE_PP0_POLICY (0x0000063A)
2350 @param EAX Lower 32-bits of MSR value.
2351 @param EDX Upper 32-bits of MSR value.
2352
2353 <b>Example usage</b>
2354 @code
2355 UINT64 Msr;
2356
2357 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PP0_POLICY);
2358 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PP0_POLICY, Msr);
2359 @endcode
2360 @note MSR_SANDY_BRIDGE_PP0_POLICY is defined as MSR_PP0_POLICY in SDM.
2361 **/
2362 #define MSR_SANDY_BRIDGE_PP0_POLICY 0x0000063A
2363
2364 /**
2365 Package. PP1 RAPL Power Limit Control (R/W) See Section 14.9.4, "PP0/PP1
2366 RAPL Domains.".
2367
2368 @param ECX MSR_SANDY_BRIDGE_PP1_POWER_LIMIT (0x00000640)
2369 @param EAX Lower 32-bits of MSR value.
2370 @param EDX Upper 32-bits of MSR value.
2371
2372 <b>Example usage</b>
2373 @code
2374 UINT64 Msr;
2375
2376 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PP1_POWER_LIMIT);
2377 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PP1_POWER_LIMIT, Msr);
2378 @endcode
2379 @note MSR_SANDY_BRIDGE_PP1_POWER_LIMIT is defined as MSR_PP1_POWER_LIMIT in SDM.
2380 **/
2381 #define MSR_SANDY_BRIDGE_PP1_POWER_LIMIT 0x00000640
2382
2383 /**
2384 Package. PP1 Energy Status (R/O) See Section 14.9.4, "PP0/PP1 RAPL
2385 Domains.".
2386
2387 @param ECX MSR_SANDY_BRIDGE_PP1_ENERGY_STATUS (0x00000641)
2388 @param EAX Lower 32-bits of MSR value.
2389 @param EDX Upper 32-bits of MSR value.
2390
2391 <b>Example usage</b>
2392 @code
2393 UINT64 Msr;
2394
2395 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PP1_ENERGY_STATUS);
2396 @endcode
2397 @note MSR_SANDY_BRIDGE_PP1_ENERGY_STATUS is defined as MSR_PP1_ENERGY_STATUS in SDM.
2398 **/
2399 #define MSR_SANDY_BRIDGE_PP1_ENERGY_STATUS 0x00000641
2400
2401 /**
2402 Package. PP1 Balance Policy (R/W) See Section 14.9.4, "PP0/PP1 RAPL
2403 Domains.".
2404
2405 @param ECX MSR_SANDY_BRIDGE_PP1_POLICY (0x00000642)
2406 @param EAX Lower 32-bits of MSR value.
2407 @param EDX Upper 32-bits of MSR value.
2408
2409 <b>Example usage</b>
2410 @code
2411 UINT64 Msr;
2412
2413 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PP1_POLICY);
2414 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PP1_POLICY, Msr);
2415 @endcode
2416 @note MSR_SANDY_BRIDGE_PP1_POLICY is defined as MSR_PP1_POLICY in SDM.
2417 **/
2418 #define MSR_SANDY_BRIDGE_PP1_POLICY 0x00000642
2419
2420 /**
2421 Package. Uncore C-Box 0, counter n event select MSR.
2422
2423 @param ECX MSR_SANDY_BRIDGE_UNC_CBO_0_PERFEVTSELn
2424 @param EAX Lower 32-bits of MSR value.
2425 @param EDX Upper 32-bits of MSR value.
2426
2427 <b>Example usage</b>
2428 @code
2429 UINT64 Msr;
2430
2431 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_0_PERFEVTSEL0);
2432 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_0_PERFEVTSEL0, Msr);
2433 @endcode
2434 @note MSR_SANDY_BRIDGE_UNC_CBO_0_PERFEVTSEL0 is defined as MSR_UNC_CBO_0_PERFEVTSEL0 in SDM.
2435 MSR_SANDY_BRIDGE_UNC_CBO_0_PERFEVTSEL1 is defined as MSR_UNC_CBO_0_PERFEVTSEL1 in SDM.
2436 MSR_SANDY_BRIDGE_UNC_CBO_0_PERFEVTSEL2 is defined as MSR_UNC_CBO_0_PERFEVTSEL2 in SDM.
2437 MSR_SANDY_BRIDGE_UNC_CBO_0_PERFEVTSEL3 is defined as MSR_UNC_CBO_0_PERFEVTSEL3 in SDM.
2438 @{
2439 **/
2440 #define MSR_SANDY_BRIDGE_UNC_CBO_0_PERFEVTSEL0 0x00000700
2441 #define MSR_SANDY_BRIDGE_UNC_CBO_0_PERFEVTSEL1 0x00000701
2442 #define MSR_SANDY_BRIDGE_UNC_CBO_0_PERFEVTSEL2 0x00000702
2443 #define MSR_SANDY_BRIDGE_UNC_CBO_0_PERFEVTSEL3 0x00000703
2444 /// @}
2445
2446 /**
2447 Package. Uncore C-Box n, unit status for counter 0-3.
2448
2449 @param ECX MSR_SANDY_BRIDGE_UNC_CBO_n_UNIT_STATUS
2450 @param EAX Lower 32-bits of MSR value.
2451 @param EDX Upper 32-bits of MSR value.
2452
2453 <b>Example usage</b>
2454 @code
2455 UINT64 Msr;
2456
2457 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_0_UNIT_STATUS);
2458 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_0_UNIT_STATUS, Msr);
2459 @endcode
2460 @note MSR_SANDY_BRIDGE_UNC_CBO_0_UNIT_STATUS is defined as MSR_UNC_CBO_0_UNIT_STATUS in SDM.
2461 MSR_SANDY_BRIDGE_UNC_CBO_1_UNIT_STATUS is defined as MSR_UNC_CBO_1_UNIT_STATUS in SDM.
2462 MSR_SANDY_BRIDGE_UNC_CBO_2_UNIT_STATUS is defined as MSR_UNC_CBO_2_UNIT_STATUS in SDM.
2463 MSR_SANDY_BRIDGE_UNC_CBO_3_UNIT_STATUS is defined as MSR_UNC_CBO_3_UNIT_STATUS in SDM.
2464 MSR_SANDY_BRIDGE_UNC_CBO_4_UNIT_STATUS is defined as MSR_UNC_CBO_4_UNIT_STATUS in SDM.
2465 @{
2466 **/
2467 #define MSR_SANDY_BRIDGE_UNC_CBO_0_UNIT_STATUS 0x00000705
2468 #define MSR_SANDY_BRIDGE_UNC_CBO_1_UNIT_STATUS 0x00000715
2469 #define MSR_SANDY_BRIDGE_UNC_CBO_2_UNIT_STATUS 0x00000725
2470 #define MSR_SANDY_BRIDGE_UNC_CBO_3_UNIT_STATUS 0x00000735
2471 #define MSR_SANDY_BRIDGE_UNC_CBO_4_UNIT_STATUS 0x00000745
2472 /// @}
2473
2474 /**
2475 Package. Uncore C-Box 0, performance counter n.
2476
2477 @param ECX MSR_SANDY_BRIDGE_UNC_CBO_0_PERFCTRn
2478 @param EAX Lower 32-bits of MSR value.
2479 @param EDX Upper 32-bits of MSR value.
2480
2481 <b>Example usage</b>
2482 @code
2483 UINT64 Msr;
2484
2485 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_0_PERFCTR0);
2486 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_0_PERFCTR0, Msr);
2487 @endcode
2488 @note MSR_SANDY_BRIDGE_UNC_CBO_0_PERFCTR0 is defined as MSR_UNC_CBO_0_PERFCTR0 in SDM.
2489 MSR_SANDY_BRIDGE_UNC_CBO_0_PERFCTR1 is defined as MSR_UNC_CBO_0_PERFCTR1 in SDM.
2490 MSR_SANDY_BRIDGE_UNC_CBO_0_PERFCTR2 is defined as MSR_UNC_CBO_0_PERFCTR2 in SDM.
2491 MSR_SANDY_BRIDGE_UNC_CBO_0_PERFCTR3 is defined as MSR_UNC_CBO_0_PERFCTR3 in SDM.
2492 @{
2493 **/
2494 #define MSR_SANDY_BRIDGE_UNC_CBO_0_PERFCTR0 0x00000706
2495 #define MSR_SANDY_BRIDGE_UNC_CBO_0_PERFCTR1 0x00000707
2496 #define MSR_SANDY_BRIDGE_UNC_CBO_0_PERFCTR2 0x00000708
2497 #define MSR_SANDY_BRIDGE_UNC_CBO_0_PERFCTR3 0x00000709
2498 /// @}
2499
2500 /**
2501 Package. Uncore C-Box 1, counter n event select MSR.
2502
2503 @param ECX MSR_SANDY_BRIDGE_UNC_CBO_1_PERFEVTSELn
2504 @param EAX Lower 32-bits of MSR value.
2505 @param EDX Upper 32-bits of MSR value.
2506
2507 <b>Example usage</b>
2508 @code
2509 UINT64 Msr;
2510
2511 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_1_PERFEVTSEL0);
2512 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_1_PERFEVTSEL0, Msr);
2513 @endcode
2514 @note MSR_SANDY_BRIDGE_UNC_CBO_1_PERFEVTSEL0 is defined as MSR_UNC_CBO_1_PERFEVTSEL0 in SDM.
2515 MSR_SANDY_BRIDGE_UNC_CBO_1_PERFEVTSEL1 is defined as MSR_UNC_CBO_1_PERFEVTSEL1 in SDM.
2516 MSR_SANDY_BRIDGE_UNC_CBO_1_PERFEVTSEL2 is defined as MSR_UNC_CBO_1_PERFEVTSEL2 in SDM.
2517 MSR_SANDY_BRIDGE_UNC_CBO_1_PERFEVTSEL3 is defined as MSR_UNC_CBO_1_PERFEVTSEL3 in SDM.
2518 @{
2519 **/
2520 #define MSR_SANDY_BRIDGE_UNC_CBO_1_PERFEVTSEL0 0x00000710
2521 #define MSR_SANDY_BRIDGE_UNC_CBO_1_PERFEVTSEL1 0x00000711
2522 #define MSR_SANDY_BRIDGE_UNC_CBO_1_PERFEVTSEL2 0x00000712
2523 #define MSR_SANDY_BRIDGE_UNC_CBO_1_PERFEVTSEL3 0x00000713
2524 /// @}
2525
2526 /**
2527 Package. Uncore C-Box 1, performance counter n.
2528
2529 @param ECX MSR_SANDY_BRIDGE_UNC_CBO_1_PERFCTRn
2530 @param EAX Lower 32-bits of MSR value.
2531 @param EDX Upper 32-bits of MSR value.
2532
2533 <b>Example usage</b>
2534 @code
2535 UINT64 Msr;
2536
2537 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_1_PERFCTR0);
2538 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_1_PERFCTR0, Msr);
2539 @endcode
2540 @note MSR_SANDY_BRIDGE_UNC_CBO_1_PERFCTR0 is defined as MSR_UNC_CBO_1_PERFCTR0 in SDM.
2541 MSR_SANDY_BRIDGE_UNC_CBO_1_PERFCTR1 is defined as MSR_UNC_CBO_1_PERFCTR1 in SDM.
2542 MSR_SANDY_BRIDGE_UNC_CBO_1_PERFCTR2 is defined as MSR_UNC_CBO_1_PERFCTR2 in SDM.
2543 MSR_SANDY_BRIDGE_UNC_CBO_1_PERFCTR3 is defined as MSR_UNC_CBO_1_PERFCTR3 in SDM.
2544 @{
2545 **/
2546 #define MSR_SANDY_BRIDGE_UNC_CBO_1_PERFCTR0 0x00000716
2547 #define MSR_SANDY_BRIDGE_UNC_CBO_1_PERFCTR1 0x00000717
2548 #define MSR_SANDY_BRIDGE_UNC_CBO_1_PERFCTR2 0x00000718
2549 #define MSR_SANDY_BRIDGE_UNC_CBO_1_PERFCTR3 0x00000719
2550 /// @}
2551
2552 /**
2553 Package. Uncore C-Box 2, counter n event select MSR.
2554
2555 @param ECX MSR_SANDY_BRIDGE_UNC_CBO_2_PERFEVTSELn
2556 @param EAX Lower 32-bits of MSR value.
2557 @param EDX Upper 32-bits of MSR value.
2558
2559 <b>Example usage</b>
2560 @code
2561 UINT64 Msr;
2562
2563 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_2_PERFEVTSEL0);
2564 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_2_PERFEVTSEL0, Msr);
2565 @endcode
2566 @note MSR_SANDY_BRIDGE_UNC_CBO_2_PERFEVTSEL0 is defined as MSR_UNC_CBO_2_PERFEVTSEL0 in SDM.
2567 MSR_SANDY_BRIDGE_UNC_CBO_2_PERFEVTSEL1 is defined as MSR_UNC_CBO_2_PERFEVTSEL1 in SDM.
2568 MSR_SANDY_BRIDGE_UNC_CBO_2_PERFEVTSEL2 is defined as MSR_UNC_CBO_2_PERFEVTSEL2 in SDM.
2569 MSR_SANDY_BRIDGE_UNC_CBO_2_PERFEVTSEL3 is defined as MSR_UNC_CBO_2_PERFEVTSEL3 in SDM.
2570 @{
2571 **/
2572 #define MSR_SANDY_BRIDGE_UNC_CBO_2_PERFEVTSEL0 0x00000720
2573 #define MSR_SANDY_BRIDGE_UNC_CBO_2_PERFEVTSEL1 0x00000721
2574 #define MSR_SANDY_BRIDGE_UNC_CBO_2_PERFEVTSEL2 0x00000722
2575 #define MSR_SANDY_BRIDGE_UNC_CBO_2_PERFEVTSEL3 0x00000723
2576 /// @}
2577
2578 /**
2579 Package. Uncore C-Box 2, performance counter n.
2580
2581 @param ECX MSR_SANDY_BRIDGE_UNC_CBO_2_PERFCTRn
2582 @param EAX Lower 32-bits of MSR value.
2583 @param EDX Upper 32-bits of MSR value.
2584
2585 <b>Example usage</b>
2586 @code
2587 UINT64 Msr;
2588
2589 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_2_PERFCTR0);
2590 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_2_PERFCTR0, Msr);
2591 @endcode
2592 @note MSR_SANDY_BRIDGE_UNC_CBO_2_PERFCTR0 is defined as MSR_UNC_CBO_2_PERFCTR0 in SDM.
2593 MSR_SANDY_BRIDGE_UNC_CBO_2_PERFCTR1 is defined as MSR_UNC_CBO_2_PERFCTR1 in SDM.
2594 MSR_SANDY_BRIDGE_UNC_CBO_2_PERFCTR2 is defined as MSR_UNC_CBO_2_PERFCTR2 in SDM.
2595 MSR_SANDY_BRIDGE_UNC_CBO_2_PERFCTR3 is defined as MSR_UNC_CBO_2_PERFCTR3 in SDM.
2596 @{
2597 **/
2598 #define MSR_SANDY_BRIDGE_UNC_CBO_2_PERFCTR0 0x00000726
2599 #define MSR_SANDY_BRIDGE_UNC_CBO_2_PERFCTR1 0x00000727
2600 #define MSR_SANDY_BRIDGE_UNC_CBO_2_PERFCTR2 0x00000728
2601 #define MSR_SANDY_BRIDGE_UNC_CBO_2_PERFCTR3 0x00000729
2602 /// @}
2603
2604 /**
2605 Package. Uncore C-Box 3, counter n event select MSR.
2606
2607 @param ECX MSR_SANDY_BRIDGE_UNC_CBO_3_PERFEVTSELn
2608 @param EAX Lower 32-bits of MSR value.
2609 @param EDX Upper 32-bits of MSR value.
2610
2611 <b>Example usage</b>
2612 @code
2613 UINT64 Msr;
2614
2615 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_3_PERFEVTSEL0);
2616 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_3_PERFEVTSEL0, Msr);
2617 @endcode
2618 @note MSR_SANDY_BRIDGE_UNC_CBO_3_PERFEVTSEL0 is defined as MSR_UNC_CBO_3_PERFEVTSEL0 in SDM.
2619 MSR_SANDY_BRIDGE_UNC_CBO_3_PERFEVTSEL1 is defined as MSR_UNC_CBO_3_PERFEVTSEL1 in SDM.
2620 MSR_SANDY_BRIDGE_UNC_CBO_3_PERFEVTSEL2 is defined as MSR_UNC_CBO_3_PERFEVTSEL2 in SDM.
2621 MSR_SANDY_BRIDGE_UNC_CBO_3_PERFEVTSEL3 is defined as MSR_UNC_CBO_3_PERFEVTSEL3 in SDM.
2622 @{
2623 **/
2624 #define MSR_SANDY_BRIDGE_UNC_CBO_3_PERFEVTSEL0 0x00000730
2625 #define MSR_SANDY_BRIDGE_UNC_CBO_3_PERFEVTSEL1 0x00000731
2626 #define MSR_SANDY_BRIDGE_UNC_CBO_3_PERFEVTSEL2 0x00000732
2627 #define MSR_SANDY_BRIDGE_UNC_CBO_3_PERFEVTSEL3 0x00000733
2628 /// @}
2629
2630 /**
2631 Package. Uncore C-Box 3, performance counter n.
2632
2633 @param ECX MSR_SANDY_BRIDGE_UNC_CBO_3_PERFCTRn
2634 @param EAX Lower 32-bits of MSR value.
2635 @param EDX Upper 32-bits of MSR value.
2636
2637 <b>Example usage</b>
2638 @code
2639 UINT64 Msr;
2640
2641 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_3_PERFCTR0);
2642 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_3_PERFCTR0, Msr);
2643 @endcode
2644 @note MSR_SANDY_BRIDGE_UNC_CBO_3_PERFCTR0 is defined as MSR_UNC_CBO_3_PERFCTR0 in SDM.
2645 MSR_SANDY_BRIDGE_UNC_CBO_3_PERFCTR1 is defined as MSR_UNC_CBO_3_PERFCTR1 in SDM.
2646 MSR_SANDY_BRIDGE_UNC_CBO_3_PERFCTR2 is defined as MSR_UNC_CBO_3_PERFCTR2 in SDM.
2647 MSR_SANDY_BRIDGE_UNC_CBO_3_PERFCTR3 is defined as MSR_UNC_CBO_3_PERFCTR3 in SDM.
2648 @{
2649 **/
2650 #define MSR_SANDY_BRIDGE_UNC_CBO_3_PERFCTR0 0x00000736
2651 #define MSR_SANDY_BRIDGE_UNC_CBO_3_PERFCTR1 0x00000737
2652 #define MSR_SANDY_BRIDGE_UNC_CBO_3_PERFCTR2 0x00000738
2653 #define MSR_SANDY_BRIDGE_UNC_CBO_3_PERFCTR3 0x00000739
2654 /// @}
2655
2656 /**
2657 Package. Uncore C-Box 4, counter n event select MSR.
2658
2659 @param ECX MSR_SANDY_BRIDGE_UNC_CBO_4_PERFEVTSELn
2660 @param EAX Lower 32-bits of MSR value.
2661 @param EDX Upper 32-bits of MSR value.
2662
2663 <b>Example usage</b>
2664 @code
2665 UINT64 Msr;
2666
2667 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_4_PERFEVTSEL0);
2668 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_4_PERFEVTSEL0, Msr);
2669 @endcode
2670 @note MSR_SANDY_BRIDGE_UNC_CBO_4_PERFEVTSEL0 is defined as MSR_UNC_CBO_4_PERFEVTSEL0 in SDM.
2671 MSR_SANDY_BRIDGE_UNC_CBO_4_PERFEVTSEL1 is defined as MSR_UNC_CBO_4_PERFEVTSEL1 in SDM.
2672 MSR_SANDY_BRIDGE_UNC_CBO_4_PERFEVTSEL2 is defined as MSR_UNC_CBO_4_PERFEVTSEL2 in SDM.
2673 MSR_SANDY_BRIDGE_UNC_CBO_4_PERFEVTSEL3 is defined as MSR_UNC_CBO_4_PERFEVTSEL3 in SDM.
2674 @{
2675 **/
2676 #define MSR_SANDY_BRIDGE_UNC_CBO_4_PERFEVTSEL0 0x00000740
2677 #define MSR_SANDY_BRIDGE_UNC_CBO_4_PERFEVTSEL1 0x00000741
2678 #define MSR_SANDY_BRIDGE_UNC_CBO_4_PERFEVTSEL2 0x00000742
2679 #define MSR_SANDY_BRIDGE_UNC_CBO_4_PERFEVTSEL3 0x00000743
2680 /// @}
2681
2682 /**
2683 Package. Uncore C-Box 4, performance counter n.
2684
2685 @param ECX MSR_SANDY_BRIDGE_UNC_CBO_4_PERFCTRn
2686 @param EAX Lower 32-bits of MSR value.
2687 @param EDX Upper 32-bits of MSR value.
2688
2689 <b>Example usage</b>
2690 @code
2691 UINT64 Msr;
2692
2693 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_4_PERFCTR0);
2694 AsmWriteMsr64 (MSR_SANDY_BRIDGE_UNC_CBO_4_PERFCTR0, Msr);
2695 @endcode
2696 @note MSR_SANDY_BRIDGE_UNC_CBO_4_PERFCTR0 is defined as MSR_UNC_CBO_4_PERFCTR0 in SDM.
2697 MSR_SANDY_BRIDGE_UNC_CBO_4_PERFCTR1 is defined as MSR_UNC_CBO_4_PERFCTR1 in SDM.
2698 MSR_SANDY_BRIDGE_UNC_CBO_4_PERFCTR2 is defined as MSR_UNC_CBO_4_PERFCTR2 in SDM.
2699 MSR_SANDY_BRIDGE_UNC_CBO_4_PERFCTR3 is defined as MSR_UNC_CBO_4_PERFCTR3 in SDM.
2700 @{
2701 **/
2702 #define MSR_SANDY_BRIDGE_UNC_CBO_4_PERFCTR0 0x00000746
2703 #define MSR_SANDY_BRIDGE_UNC_CBO_4_PERFCTR1 0x00000747
2704 #define MSR_SANDY_BRIDGE_UNC_CBO_4_PERFCTR2 0x00000748
2705 #define MSR_SANDY_BRIDGE_UNC_CBO_4_PERFCTR3 0x00000749
2706 /// @}
2707
2708 /**
2709 Package. MC Bank Error Configuration (R/W).
2710
2711 @param ECX MSR_SANDY_BRIDGE_ERROR_CONTROL (0x0000017F)
2712 @param EAX Lower 32-bits of MSR value.
2713 Described by the type MSR_SANDY_BRIDGE_ERROR_CONTROL_REGISTER.
2714 @param EDX Upper 32-bits of MSR value.
2715 Described by the type MSR_SANDY_BRIDGE_ERROR_CONTROL_REGISTER.
2716
2717 <b>Example usage</b>
2718 @code
2719 MSR_SANDY_BRIDGE_ERROR_CONTROL_REGISTER Msr;
2720
2721 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_ERROR_CONTROL);
2722 AsmWriteMsr64 (MSR_SANDY_BRIDGE_ERROR_CONTROL, Msr.Uint64);
2723 @endcode
2724 @note MSR_SANDY_BRIDGE_ERROR_CONTROL is defined as MSR_ERROR_CONTROL in SDM.
2725 **/
2726 #define MSR_SANDY_BRIDGE_ERROR_CONTROL 0x0000017F
2727
2728 /**
2729 MSR information returned for MSR index #MSR_SANDY_BRIDGE_ERROR_CONTROL
2730 **/
2731 typedef union {
2732 ///
2733 /// Individual bit fields
2734 ///
2735 struct {
2736 UINT32 Reserved1 : 1;
2737 ///
2738 /// [Bit 1] MemError Log Enable (R/W) When set, enables IMC status bank
2739 /// to log additional info in bits 36:32.
2740 ///
2741 UINT32 MemErrorLogEnable : 1;
2742 UINT32 Reserved2 : 30;
2743 UINT32 Reserved3 : 32;
2744 } Bits;
2745 ///
2746 /// All bit fields as a 32-bit value
2747 ///
2748 UINT32 Uint32;
2749 ///
2750 /// All bit fields as a 64-bit value
2751 ///
2752 UINT64 Uint64;
2753 } MSR_SANDY_BRIDGE_ERROR_CONTROL_REGISTER;
2754
2755 /**
2756 Package.
2757
2758 @param ECX MSR_SANDY_BRIDGE_PEBS_NUM_ALT (0x0000039C)
2759 @param EAX Lower 32-bits of MSR value.
2760 Described by the type MSR_SANDY_BRIDGE_PEBS_NUM_ALT_REGISTER.
2761 @param EDX Upper 32-bits of MSR value.
2762 Described by the type MSR_SANDY_BRIDGE_PEBS_NUM_ALT_REGISTER.
2763
2764 <b>Example usage</b>
2765 @code
2766 MSR_SANDY_BRIDGE_PEBS_NUM_ALT_REGISTER Msr;
2767
2768 Msr.Uint64 = AsmReadMsr64 (MSR_SANDY_BRIDGE_PEBS_NUM_ALT);
2769 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PEBS_NUM_ALT, Msr.Uint64);
2770 @endcode
2771 @note MSR_SANDY_BRIDGE_PEBS_NUM_ALT is defined as MSR_PEBS_NUM_ALT in SDM.
2772 **/
2773 #define MSR_SANDY_BRIDGE_PEBS_NUM_ALT 0x0000039C
2774
2775 /**
2776 MSR information returned for MSR index #MSR_SANDY_BRIDGE_PEBS_NUM_ALT
2777 **/
2778 typedef union {
2779 ///
2780 /// Individual bit fields
2781 ///
2782 struct {
2783 ///
2784 /// [Bit 0] ENABLE_PEBS_NUM_ALT (RW) Write 1 to enable alternate PEBS
2785 /// counting logic for specific events requiring additional configuration,
2786 /// see Table 19-17.
2787 ///
2788 UINT32 ENABLE_PEBS_NUM_ALT : 1;
2789 UINT32 Reserved1 : 31;
2790 UINT32 Reserved2 : 32;
2791 } Bits;
2792 ///
2793 /// All bit fields as a 32-bit value
2794 ///
2795 UINT32 Uint32;
2796 ///
2797 /// All bit fields as a 64-bit value
2798 ///
2799 UINT64 Uint64;
2800 } MSR_SANDY_BRIDGE_PEBS_NUM_ALT_REGISTER;
2801
2802 /**
2803 Package. Package RAPL Perf Status (R/O).
2804
2805 @param ECX MSR_SANDY_BRIDGE_PKG_PERF_STATUS (0x00000613)
2806 @param EAX Lower 32-bits of MSR value.
2807 @param EDX Upper 32-bits of MSR value.
2808
2809 <b>Example usage</b>
2810 @code
2811 UINT64 Msr;
2812
2813 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PKG_PERF_STATUS);
2814 @endcode
2815 @note MSR_SANDY_BRIDGE_PKG_PERF_STATUS is defined as MSR_PKG_PERF_STATUS in SDM.
2816 **/
2817 #define MSR_SANDY_BRIDGE_PKG_PERF_STATUS 0x00000613
2818
2819 /**
2820 Package. DRAM RAPL Power Limit Control (R/W) See Section 14.9.5, "DRAM RAPL
2821 Domain.".
2822
2823 @param ECX MSR_SANDY_BRIDGE_DRAM_POWER_LIMIT (0x00000618)
2824 @param EAX Lower 32-bits of MSR value.
2825 @param EDX Upper 32-bits of MSR value.
2826
2827 <b>Example usage</b>
2828 @code
2829 UINT64 Msr;
2830
2831 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_DRAM_POWER_LIMIT);
2832 AsmWriteMsr64 (MSR_SANDY_BRIDGE_DRAM_POWER_LIMIT, Msr);
2833 @endcode
2834 @note MSR_SANDY_BRIDGE_DRAM_POWER_LIMIT is defined as MSR_DRAM_POWER_LIMIT in SDM.
2835 **/
2836 #define MSR_SANDY_BRIDGE_DRAM_POWER_LIMIT 0x00000618
2837
2838 /**
2839 Package. DRAM Energy Status (R/O) See Section 14.9.5, "DRAM RAPL Domain.".
2840
2841 @param ECX MSR_SANDY_BRIDGE_DRAM_ENERGY_STATUS (0x00000619)
2842 @param EAX Lower 32-bits of MSR value.
2843 @param EDX Upper 32-bits of MSR value.
2844
2845 <b>Example usage</b>
2846 @code
2847 UINT64 Msr;
2848
2849 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_DRAM_ENERGY_STATUS);
2850 @endcode
2851 @note MSR_SANDY_BRIDGE_DRAM_ENERGY_STATUS is defined as MSR_DRAM_ENERGY_STATUS in SDM.
2852 **/
2853 #define MSR_SANDY_BRIDGE_DRAM_ENERGY_STATUS 0x00000619
2854
2855 /**
2856 Package. DRAM Performance Throttling Status (R/O) See Section 14.9.5, "DRAM
2857 RAPL Domain.".
2858
2859 @param ECX MSR_SANDY_BRIDGE_DRAM_PERF_STATUS (0x0000061B)
2860 @param EAX Lower 32-bits of MSR value.
2861 @param EDX Upper 32-bits of MSR value.
2862
2863 <b>Example usage</b>
2864 @code
2865 UINT64 Msr;
2866
2867 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_DRAM_PERF_STATUS);
2868 @endcode
2869 @note MSR_SANDY_BRIDGE_DRAM_PERF_STATUS is defined as MSR_DRAM_PERF_STATUS in SDM.
2870 **/
2871 #define MSR_SANDY_BRIDGE_DRAM_PERF_STATUS 0x0000061B
2872
2873 /**
2874 Package. DRAM RAPL Parameters (R/W) See Section 14.9.5, "DRAM RAPL Domain.".
2875
2876 @param ECX MSR_SANDY_BRIDGE_DRAM_POWER_INFO (0x0000061C)
2877 @param EAX Lower 32-bits of MSR value.
2878 @param EDX Upper 32-bits of MSR value.
2879
2880 <b>Example usage</b>
2881 @code
2882 UINT64 Msr;
2883
2884 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_DRAM_POWER_INFO);
2885 AsmWriteMsr64 (MSR_SANDY_BRIDGE_DRAM_POWER_INFO, Msr);
2886 @endcode
2887 @note MSR_SANDY_BRIDGE_DRAM_POWER_INFO is defined as MSR_DRAM_POWER_INFO in SDM.
2888 **/
2889 #define MSR_SANDY_BRIDGE_DRAM_POWER_INFO 0x0000061C
2890
2891 /**
2892 Package. Uncore U-box UCLK fixed counter control.
2893
2894 @param ECX MSR_SANDY_BRIDGE_U_PMON_UCLK_FIXED_CTL (0x00000C08)
2895 @param EAX Lower 32-bits of MSR value.
2896 @param EDX Upper 32-bits of MSR value.
2897
2898 <b>Example usage</b>
2899 @code
2900 UINT64 Msr;
2901
2902 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_U_PMON_UCLK_FIXED_CTL);
2903 AsmWriteMsr64 (MSR_SANDY_BRIDGE_U_PMON_UCLK_FIXED_CTL, Msr);
2904 @endcode
2905 @note MSR_SANDY_BRIDGE_U_PMON_UCLK_FIXED_CTL is defined as MSR_U_PMON_UCLK_FIXED_CTL in SDM.
2906 **/
2907 #define MSR_SANDY_BRIDGE_U_PMON_UCLK_FIXED_CTL 0x00000C08
2908
2909 /**
2910 Package. Uncore U-box UCLK fixed counter.
2911
2912 @param ECX MSR_SANDY_BRIDGE_U_PMON_UCLK_FIXED_CTR (0x00000C09)
2913 @param EAX Lower 32-bits of MSR value.
2914 @param EDX Upper 32-bits of MSR value.
2915
2916 <b>Example usage</b>
2917 @code
2918 UINT64 Msr;
2919
2920 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_U_PMON_UCLK_FIXED_CTR);
2921 AsmWriteMsr64 (MSR_SANDY_BRIDGE_U_PMON_UCLK_FIXED_CTR, Msr);
2922 @endcode
2923 @note MSR_SANDY_BRIDGE_U_PMON_UCLK_FIXED_CTR is defined as MSR_U_PMON_UCLK_FIXED_CTR in SDM.
2924 **/
2925 #define MSR_SANDY_BRIDGE_U_PMON_UCLK_FIXED_CTR 0x00000C09
2926
2927 /**
2928 Package. Uncore U-box perfmon event select for U-box counter 0.
2929
2930 @param ECX MSR_SANDY_BRIDGE_U_PMON_EVNTSEL0 (0x00000C10)
2931 @param EAX Lower 32-bits of MSR value.
2932 @param EDX Upper 32-bits of MSR value.
2933
2934 <b>Example usage</b>
2935 @code
2936 UINT64 Msr;
2937
2938 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_U_PMON_EVNTSEL0);
2939 AsmWriteMsr64 (MSR_SANDY_BRIDGE_U_PMON_EVNTSEL0, Msr);
2940 @endcode
2941 @note MSR_SANDY_BRIDGE_U_PMON_EVNTSEL0 is defined as MSR_U_PMON_EVNTSEL0 in SDM.
2942 **/
2943 #define MSR_SANDY_BRIDGE_U_PMON_EVNTSEL0 0x00000C10
2944
2945 /**
2946 Package. Uncore U-box perfmon event select for U-box counter 1.
2947
2948 @param ECX MSR_SANDY_BRIDGE_U_PMON_EVNTSEL1 (0x00000C11)
2949 @param EAX Lower 32-bits of MSR value.
2950 @param EDX Upper 32-bits of MSR value.
2951
2952 <b>Example usage</b>
2953 @code
2954 UINT64 Msr;
2955
2956 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_U_PMON_EVNTSEL1);
2957 AsmWriteMsr64 (MSR_SANDY_BRIDGE_U_PMON_EVNTSEL1, Msr);
2958 @endcode
2959 @note MSR_SANDY_BRIDGE_U_PMON_EVNTSEL1 is defined as MSR_U_PMON_EVNTSEL1 in SDM.
2960 **/
2961 #define MSR_SANDY_BRIDGE_U_PMON_EVNTSEL1 0x00000C11
2962
2963 /**
2964 Package. Uncore U-box perfmon counter 0.
2965
2966 @param ECX MSR_SANDY_BRIDGE_U_PMON_CTR0 (0x00000C16)
2967 @param EAX Lower 32-bits of MSR value.
2968 @param EDX Upper 32-bits of MSR value.
2969
2970 <b>Example usage</b>
2971 @code
2972 UINT64 Msr;
2973
2974 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_U_PMON_CTR0);
2975 AsmWriteMsr64 (MSR_SANDY_BRIDGE_U_PMON_CTR0, Msr);
2976 @endcode
2977 @note MSR_SANDY_BRIDGE_U_PMON_CTR0 is defined as MSR_U_PMON_CTR0 in SDM.
2978 **/
2979 #define MSR_SANDY_BRIDGE_U_PMON_CTR0 0x00000C16
2980
2981 /**
2982 Package. Uncore U-box perfmon counter 1.
2983
2984 @param ECX MSR_SANDY_BRIDGE_U_PMON_CTR1 (0x00000C17)
2985 @param EAX Lower 32-bits of MSR value.
2986 @param EDX Upper 32-bits of MSR value.
2987
2988 <b>Example usage</b>
2989 @code
2990 UINT64 Msr;
2991
2992 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_U_PMON_CTR1);
2993 AsmWriteMsr64 (MSR_SANDY_BRIDGE_U_PMON_CTR1, Msr);
2994 @endcode
2995 @note MSR_SANDY_BRIDGE_U_PMON_CTR1 is defined as MSR_U_PMON_CTR1 in SDM.
2996 **/
2997 #define MSR_SANDY_BRIDGE_U_PMON_CTR1 0x00000C17
2998
2999 /**
3000 Package. Uncore PCU perfmon for PCU-box-wide control.
3001
3002 @param ECX MSR_SANDY_BRIDGE_PCU_PMON_BOX_CTL (0x00000C24)
3003 @param EAX Lower 32-bits of MSR value.
3004 @param EDX Upper 32-bits of MSR value.
3005
3006 <b>Example usage</b>
3007 @code
3008 UINT64 Msr;
3009
3010 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_BOX_CTL);
3011 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_BOX_CTL, Msr);
3012 @endcode
3013 @note MSR_SANDY_BRIDGE_PCU_PMON_BOX_CTL is defined as MSR_PCU_PMON_BOX_CTL in SDM.
3014 **/
3015 #define MSR_SANDY_BRIDGE_PCU_PMON_BOX_CTL 0x00000C24
3016
3017 /**
3018 Package. Uncore PCU perfmon event select for PCU counter 0.
3019
3020 @param ECX MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL0 (0x00000C30)
3021 @param EAX Lower 32-bits of MSR value.
3022 @param EDX Upper 32-bits of MSR value.
3023
3024 <b>Example usage</b>
3025 @code
3026 UINT64 Msr;
3027
3028 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL0);
3029 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL0, Msr);
3030 @endcode
3031 @note MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL0 is defined as MSR_PCU_PMON_EVNTSEL0 in SDM.
3032 **/
3033 #define MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL0 0x00000C30
3034
3035 /**
3036 Package. Uncore PCU perfmon event select for PCU counter 1.
3037
3038 @param ECX MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL1 (0x00000C31)
3039 @param EAX Lower 32-bits of MSR value.
3040 @param EDX Upper 32-bits of MSR value.
3041
3042 <b>Example usage</b>
3043 @code
3044 UINT64 Msr;
3045
3046 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL1);
3047 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL1, Msr);
3048 @endcode
3049 @note MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL1 is defined as MSR_PCU_PMON_EVNTSEL1 in SDM.
3050 **/
3051 #define MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL1 0x00000C31
3052
3053 /**
3054 Package. Uncore PCU perfmon event select for PCU counter 2.
3055
3056 @param ECX MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL2 (0x00000C32)
3057 @param EAX Lower 32-bits of MSR value.
3058 @param EDX Upper 32-bits of MSR value.
3059
3060 <b>Example usage</b>
3061 @code
3062 UINT64 Msr;
3063
3064 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL2);
3065 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL2, Msr);
3066 @endcode
3067 @note MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL2 is defined as MSR_PCU_PMON_EVNTSEL2 in SDM.
3068 **/
3069 #define MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL2 0x00000C32
3070
3071 /**
3072 Package. Uncore PCU perfmon event select for PCU counter 3.
3073
3074 @param ECX MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL3 (0x00000C33)
3075 @param EAX Lower 32-bits of MSR value.
3076 @param EDX Upper 32-bits of MSR value.
3077
3078 <b>Example usage</b>
3079 @code
3080 UINT64 Msr;
3081
3082 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL3);
3083 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL3, Msr);
3084 @endcode
3085 @note MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL3 is defined as MSR_PCU_PMON_EVNTSEL3 in SDM.
3086 **/
3087 #define MSR_SANDY_BRIDGE_PCU_PMON_EVNTSEL3 0x00000C33
3088
3089 /**
3090 Package. Uncore PCU perfmon box-wide filter.
3091
3092 @param ECX MSR_SANDY_BRIDGE_PCU_PMON_BOX_FILTER (0x00000C34)
3093 @param EAX Lower 32-bits of MSR value.
3094 @param EDX Upper 32-bits of MSR value.
3095
3096 <b>Example usage</b>
3097 @code
3098 UINT64 Msr;
3099
3100 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_BOX_FILTER);
3101 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_BOX_FILTER, Msr);
3102 @endcode
3103 @note MSR_SANDY_BRIDGE_PCU_PMON_BOX_FILTER is defined as MSR_PCU_PMON_BOX_FILTER in SDM.
3104 **/
3105 #define MSR_SANDY_BRIDGE_PCU_PMON_BOX_FILTER 0x00000C34
3106
3107 /**
3108 Package. Uncore PCU perfmon counter 0.
3109
3110 @param ECX MSR_SANDY_BRIDGE_PCU_PMON_CTR0 (0x00000C36)
3111 @param EAX Lower 32-bits of MSR value.
3112 @param EDX Upper 32-bits of MSR value.
3113
3114 <b>Example usage</b>
3115 @code
3116 UINT64 Msr;
3117
3118 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_CTR0);
3119 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_CTR0, Msr);
3120 @endcode
3121 @note MSR_SANDY_BRIDGE_PCU_PMON_CTR0 is defined as MSR_PCU_PMON_CTR0 in SDM.
3122 **/
3123 #define MSR_SANDY_BRIDGE_PCU_PMON_CTR0 0x00000C36
3124
3125 /**
3126 Package. Uncore PCU perfmon counter 1.
3127
3128 @param ECX MSR_SANDY_BRIDGE_PCU_PMON_CTR1 (0x00000C37)
3129 @param EAX Lower 32-bits of MSR value.
3130 @param EDX Upper 32-bits of MSR value.
3131
3132 <b>Example usage</b>
3133 @code
3134 UINT64 Msr;
3135
3136 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_CTR1);
3137 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_CTR1, Msr);
3138 @endcode
3139 @note MSR_SANDY_BRIDGE_PCU_PMON_CTR1 is defined as MSR_PCU_PMON_CTR1 in SDM.
3140 **/
3141 #define MSR_SANDY_BRIDGE_PCU_PMON_CTR1 0x00000C37
3142
3143 /**
3144 Package. Uncore PCU perfmon counter 2.
3145
3146 @param ECX MSR_SANDY_BRIDGE_PCU_PMON_CTR2 (0x00000C38)
3147 @param EAX Lower 32-bits of MSR value.
3148 @param EDX Upper 32-bits of MSR value.
3149
3150 <b>Example usage</b>
3151 @code
3152 UINT64 Msr;
3153
3154 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_CTR2);
3155 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_CTR2, Msr);
3156 @endcode
3157 @note MSR_SANDY_BRIDGE_PCU_PMON_CTR2 is defined as MSR_PCU_PMON_CTR2 in SDM.
3158 **/
3159 #define MSR_SANDY_BRIDGE_PCU_PMON_CTR2 0x00000C38
3160
3161 /**
3162 Package. Uncore PCU perfmon counter 3.
3163
3164 @param ECX MSR_SANDY_BRIDGE_PCU_PMON_CTR3 (0x00000C39)
3165 @param EAX Lower 32-bits of MSR value.
3166 @param EDX Upper 32-bits of MSR value.
3167
3168 <b>Example usage</b>
3169 @code
3170 UINT64 Msr;
3171
3172 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_CTR3);
3173 AsmWriteMsr64 (MSR_SANDY_BRIDGE_PCU_PMON_CTR3, Msr);
3174 @endcode
3175 @note MSR_SANDY_BRIDGE_PCU_PMON_CTR3 is defined as MSR_PCU_PMON_CTR3 in SDM.
3176 **/
3177 #define MSR_SANDY_BRIDGE_PCU_PMON_CTR3 0x00000C39
3178
3179 /**
3180 Package. Uncore C-box 0 perfmon local box wide control.
3181
3182 @param ECX MSR_SANDY_BRIDGE_C0_PMON_BOX_CTL (0x00000D04)
3183 @param EAX Lower 32-bits of MSR value.
3184 @param EDX Upper 32-bits of MSR value.
3185
3186 <b>Example usage</b>
3187 @code
3188 UINT64 Msr;
3189
3190 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C0_PMON_BOX_CTL);
3191 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C0_PMON_BOX_CTL, Msr);
3192 @endcode
3193 @note MSR_SANDY_BRIDGE_C0_PMON_BOX_CTL is defined as MSR_C0_PMON_BOX_CTL in SDM.
3194 **/
3195 #define MSR_SANDY_BRIDGE_C0_PMON_BOX_CTL 0x00000D04
3196
3197 /**
3198 Package. Uncore C-box 0 perfmon event select for C-box 0 counter 0.
3199
3200 @param ECX MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL0 (0x00000D10)
3201 @param EAX Lower 32-bits of MSR value.
3202 @param EDX Upper 32-bits of MSR value.
3203
3204 <b>Example usage</b>
3205 @code
3206 UINT64 Msr;
3207
3208 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL0);
3209 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL0, Msr);
3210 @endcode
3211 @note MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL0 is defined as MSR_C0_PMON_EVNTSEL0 in SDM.
3212 **/
3213 #define MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL0 0x00000D10
3214
3215 /**
3216 Package. Uncore C-box 0 perfmon event select for C-box 0 counter 1.
3217
3218 @param ECX MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL1 (0x00000D11)
3219 @param EAX Lower 32-bits of MSR value.
3220 @param EDX Upper 32-bits of MSR value.
3221
3222 <b>Example usage</b>
3223 @code
3224 UINT64 Msr;
3225
3226 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL1);
3227 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL1, Msr);
3228 @endcode
3229 @note MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL1 is defined as MSR_C0_PMON_EVNTSEL1 in SDM.
3230 **/
3231 #define MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL1 0x00000D11
3232
3233 /**
3234 Package. Uncore C-box 0 perfmon event select for C-box 0 counter 2.
3235
3236 @param ECX MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL2 (0x00000D12)
3237 @param EAX Lower 32-bits of MSR value.
3238 @param EDX Upper 32-bits of MSR value.
3239
3240 <b>Example usage</b>
3241 @code
3242 UINT64 Msr;
3243
3244 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL2);
3245 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL2, Msr);
3246 @endcode
3247 @note MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL2 is defined as MSR_C0_PMON_EVNTSEL2 in SDM.
3248 **/
3249 #define MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL2 0x00000D12
3250
3251 /**
3252 Package. Uncore C-box 0 perfmon event select for C-box 0 counter 3.
3253
3254 @param ECX MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL3 (0x00000D13)
3255 @param EAX Lower 32-bits of MSR value.
3256 @param EDX Upper 32-bits of MSR value.
3257
3258 <b>Example usage</b>
3259 @code
3260 UINT64 Msr;
3261
3262 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL3);
3263 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL3, Msr);
3264 @endcode
3265 @note MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL3 is defined as MSR_C0_PMON_EVNTSEL3 in SDM.
3266 **/
3267 #define MSR_SANDY_BRIDGE_C0_PMON_EVNTSEL3 0x00000D13
3268
3269 /**
3270 Package. Uncore C-box 0 perfmon box wide filter.
3271
3272 @param ECX MSR_SANDY_BRIDGE_C0_PMON_BOX_FILTER (0x00000D14)
3273 @param EAX Lower 32-bits of MSR value.
3274 @param EDX Upper 32-bits of MSR value.
3275
3276 <b>Example usage</b>
3277 @code
3278 UINT64 Msr;
3279
3280 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C0_PMON_BOX_FILTER);
3281 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C0_PMON_BOX_FILTER, Msr);
3282 @endcode
3283 @note MSR_SANDY_BRIDGE_C0_PMON_BOX_FILTER is defined as MSR_C0_PMON_BOX_FILTER in SDM.
3284 **/
3285 #define MSR_SANDY_BRIDGE_C0_PMON_BOX_FILTER 0x00000D14
3286
3287 /**
3288 Package. Uncore C-box 0 perfmon counter 0.
3289
3290 @param ECX MSR_SANDY_BRIDGE_C0_PMON_CTR0 (0x00000D16)
3291 @param EAX Lower 32-bits of MSR value.
3292 @param EDX Upper 32-bits of MSR value.
3293
3294 <b>Example usage</b>
3295 @code
3296 UINT64 Msr;
3297
3298 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C0_PMON_CTR0);
3299 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C0_PMON_CTR0, Msr);
3300 @endcode
3301 @note MSR_SANDY_BRIDGE_C0_PMON_CTR0 is defined as MSR_C0_PMON_CTR0 in SDM.
3302 **/
3303 #define MSR_SANDY_BRIDGE_C0_PMON_CTR0 0x00000D16
3304
3305 /**
3306 Package. Uncore C-box 0 perfmon counter 1.
3307
3308 @param ECX MSR_SANDY_BRIDGE_C0_PMON_CTR1 (0x00000D17)
3309 @param EAX Lower 32-bits of MSR value.
3310 @param EDX Upper 32-bits of MSR value.
3311
3312 <b>Example usage</b>
3313 @code
3314 UINT64 Msr;
3315
3316 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C0_PMON_CTR1);
3317 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C0_PMON_CTR1, Msr);
3318 @endcode
3319 @note MSR_SANDY_BRIDGE_C0_PMON_CTR1 is defined as MSR_C0_PMON_CTR1 in SDM.
3320 **/
3321 #define MSR_SANDY_BRIDGE_C0_PMON_CTR1 0x00000D17
3322
3323 /**
3324 Package. Uncore C-box 0 perfmon counter 2.
3325
3326 @param ECX MSR_SANDY_BRIDGE_C0_PMON_CTR2 (0x00000D18)
3327 @param EAX Lower 32-bits of MSR value.
3328 @param EDX Upper 32-bits of MSR value.
3329
3330 <b>Example usage</b>
3331 @code
3332 UINT64 Msr;
3333
3334 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C0_PMON_CTR2);
3335 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C0_PMON_CTR2, Msr);
3336 @endcode
3337 @note MSR_SANDY_BRIDGE_C0_PMON_CTR2 is defined as MSR_C0_PMON_CTR2 in SDM.
3338 **/
3339 #define MSR_SANDY_BRIDGE_C0_PMON_CTR2 0x00000D18
3340
3341 /**
3342 Package. Uncore C-box 0 perfmon counter 3.
3343
3344 @param ECX MSR_SANDY_BRIDGE_C0_PMON_CTR3 (0x00000D19)
3345 @param EAX Lower 32-bits of MSR value.
3346 @param EDX Upper 32-bits of MSR value.
3347
3348 <b>Example usage</b>
3349 @code
3350 UINT64 Msr;
3351
3352 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C0_PMON_CTR3);
3353 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C0_PMON_CTR3, Msr);
3354 @endcode
3355 @note MSR_SANDY_BRIDGE_C0_PMON_CTR3 is defined as MSR_C0_PMON_CTR3 in SDM.
3356 **/
3357 #define MSR_SANDY_BRIDGE_C0_PMON_CTR3 0x00000D19
3358
3359 /**
3360 Package. Uncore C-box 1 perfmon local box wide control.
3361
3362 @param ECX MSR_SANDY_BRIDGE_C1_PMON_BOX_CTL (0x00000D24)
3363 @param EAX Lower 32-bits of MSR value.
3364 @param EDX Upper 32-bits of MSR value.
3365
3366 <b>Example usage</b>
3367 @code
3368 UINT64 Msr;
3369
3370 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C1_PMON_BOX_CTL);
3371 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C1_PMON_BOX_CTL, Msr);
3372 @endcode
3373 @note MSR_SANDY_BRIDGE_C1_PMON_BOX_CTL is defined as MSR_C1_PMON_BOX_CTL in SDM.
3374 **/
3375 #define MSR_SANDY_BRIDGE_C1_PMON_BOX_CTL 0x00000D24
3376
3377 /**
3378 Package. Uncore C-box 1 perfmon event select for C-box 1 counter 0.
3379
3380 @param ECX MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL0 (0x00000D30)
3381 @param EAX Lower 32-bits of MSR value.
3382 @param EDX Upper 32-bits of MSR value.
3383
3384 <b>Example usage</b>
3385 @code
3386 UINT64 Msr;
3387
3388 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL0);
3389 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL0, Msr);
3390 @endcode
3391 @note MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL0 is defined as MSR_C1_PMON_EVNTSEL0 in SDM.
3392 **/
3393 #define MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL0 0x00000D30
3394
3395 /**
3396 Package. Uncore C-box 1 perfmon event select for C-box 1 counter 1.
3397
3398 @param ECX MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL1 (0x00000D31)
3399 @param EAX Lower 32-bits of MSR value.
3400 @param EDX Upper 32-bits of MSR value.
3401
3402 <b>Example usage</b>
3403 @code
3404 UINT64 Msr;
3405
3406 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL1);
3407 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL1, Msr);
3408 @endcode
3409 @note MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL1 is defined as MSR_C1_PMON_EVNTSEL1 in SDM.
3410 **/
3411 #define MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL1 0x00000D31
3412
3413 /**
3414 Package. Uncore C-box 1 perfmon event select for C-box 1 counter 2.
3415
3416 @param ECX MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL2 (0x00000D32)
3417 @param EAX Lower 32-bits of MSR value.
3418 @param EDX Upper 32-bits of MSR value.
3419
3420 <b>Example usage</b>
3421 @code
3422 UINT64 Msr;
3423
3424 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL2);
3425 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL2, Msr);
3426 @endcode
3427 @note MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL2 is defined as MSR_C1_PMON_EVNTSEL2 in SDM.
3428 **/
3429 #define MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL2 0x00000D32
3430
3431 /**
3432 Package. Uncore C-box 1 perfmon event select for C-box 1 counter 3.
3433
3434 @param ECX MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL3 (0x00000D33)
3435 @param EAX Lower 32-bits of MSR value.
3436 @param EDX Upper 32-bits of MSR value.
3437
3438 <b>Example usage</b>
3439 @code
3440 UINT64 Msr;
3441
3442 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL3);
3443 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL3, Msr);
3444 @endcode
3445 @note MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL3 is defined as MSR_C1_PMON_EVNTSEL3 in SDM.
3446 **/
3447 #define MSR_SANDY_BRIDGE_C1_PMON_EVNTSEL3 0x00000D33
3448
3449 /**
3450 Package. Uncore C-box 1 perfmon box wide filter.
3451
3452 @param ECX MSR_SANDY_BRIDGE_C1_PMON_BOX_FILTER (0x00000D34)
3453 @param EAX Lower 32-bits of MSR value.
3454 @param EDX Upper 32-bits of MSR value.
3455
3456 <b>Example usage</b>
3457 @code
3458 UINT64 Msr;
3459
3460 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C1_PMON_BOX_FILTER);
3461 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C1_PMON_BOX_FILTER, Msr);
3462 @endcode
3463 @note MSR_SANDY_BRIDGE_C1_PMON_BOX_FILTER is defined as MSR_C1_PMON_BOX_FILTER in SDM.
3464 **/
3465 #define MSR_SANDY_BRIDGE_C1_PMON_BOX_FILTER 0x00000D34
3466
3467 /**
3468 Package. Uncore C-box 1 perfmon counter 0.
3469
3470 @param ECX MSR_SANDY_BRIDGE_C1_PMON_CTR0 (0x00000D36)
3471 @param EAX Lower 32-bits of MSR value.
3472 @param EDX Upper 32-bits of MSR value.
3473
3474 <b>Example usage</b>
3475 @code
3476 UINT64 Msr;
3477
3478 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C1_PMON_CTR0);
3479 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C1_PMON_CTR0, Msr);
3480 @endcode
3481 @note MSR_SANDY_BRIDGE_C1_PMON_CTR0 is defined as MSR_C1_PMON_CTR0 in SDM.
3482 **/
3483 #define MSR_SANDY_BRIDGE_C1_PMON_CTR0 0x00000D36
3484
3485 /**
3486 Package. Uncore C-box 1 perfmon counter 1.
3487
3488 @param ECX MSR_SANDY_BRIDGE_C1_PMON_CTR1 (0x00000D37)
3489 @param EAX Lower 32-bits of MSR value.
3490 @param EDX Upper 32-bits of MSR value.
3491
3492 <b>Example usage</b>
3493 @code
3494 UINT64 Msr;
3495
3496 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C1_PMON_CTR1);
3497 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C1_PMON_CTR1, Msr);
3498 @endcode
3499 @note MSR_SANDY_BRIDGE_C1_PMON_CTR1 is defined as MSR_C1_PMON_CTR1 in SDM.
3500 **/
3501 #define MSR_SANDY_BRIDGE_C1_PMON_CTR1 0x00000D37
3502
3503 /**
3504 Package. Uncore C-box 1 perfmon counter 2.
3505
3506 @param ECX MSR_SANDY_BRIDGE_C1_PMON_CTR2 (0x00000D38)
3507 @param EAX Lower 32-bits of MSR value.
3508 @param EDX Upper 32-bits of MSR value.
3509
3510 <b>Example usage</b>
3511 @code
3512 UINT64 Msr;
3513
3514 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C1_PMON_CTR2);
3515 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C1_PMON_CTR2, Msr);
3516 @endcode
3517 @note MSR_SANDY_BRIDGE_C1_PMON_CTR2 is defined as MSR_C1_PMON_CTR2 in SDM.
3518 **/
3519 #define MSR_SANDY_BRIDGE_C1_PMON_CTR2 0x00000D38
3520
3521 /**
3522 Package. Uncore C-box 1 perfmon counter 3.
3523
3524 @param ECX MSR_SANDY_BRIDGE_C1_PMON_CTR3 (0x00000D39)
3525 @param EAX Lower 32-bits of MSR value.
3526 @param EDX Upper 32-bits of MSR value.
3527
3528 <b>Example usage</b>
3529 @code
3530 UINT64 Msr;
3531
3532 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C1_PMON_CTR3);
3533 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C1_PMON_CTR3, Msr);
3534 @endcode
3535 @note MSR_SANDY_BRIDGE_C1_PMON_CTR3 is defined as MSR_C1_PMON_CTR3 in SDM.
3536 **/
3537 #define MSR_SANDY_BRIDGE_C1_PMON_CTR3 0x00000D39
3538
3539 /**
3540 Package. Uncore C-box 2 perfmon local box wide control.
3541
3542 @param ECX MSR_SANDY_BRIDGE_C2_PMON_BOX_CTL (0x00000D44)
3543 @param EAX Lower 32-bits of MSR value.
3544 @param EDX Upper 32-bits of MSR value.
3545
3546 <b>Example usage</b>
3547 @code
3548 UINT64 Msr;
3549
3550 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C2_PMON_BOX_CTL);
3551 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C2_PMON_BOX_CTL, Msr);
3552 @endcode
3553 @note MSR_SANDY_BRIDGE_C2_PMON_BOX_CTL is defined as MSR_C2_PMON_BOX_CTL in SDM.
3554 **/
3555 #define MSR_SANDY_BRIDGE_C2_PMON_BOX_CTL 0x00000D44
3556
3557 /**
3558 Package. Uncore C-box 2 perfmon event select for C-box 2 counter 0.
3559
3560 @param ECX MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL0 (0x00000D50)
3561 @param EAX Lower 32-bits of MSR value.
3562 @param EDX Upper 32-bits of MSR value.
3563
3564 <b>Example usage</b>
3565 @code
3566 UINT64 Msr;
3567
3568 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL0);
3569 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL0, Msr);
3570 @endcode
3571 @note MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL0 is defined as MSR_C2_PMON_EVNTSEL0 in SDM.
3572 **/
3573 #define MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL0 0x00000D50
3574
3575 /**
3576 Package. Uncore C-box 2 perfmon event select for C-box 2 counter 1.
3577
3578 @param ECX MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL1 (0x00000D51)
3579 @param EAX Lower 32-bits of MSR value.
3580 @param EDX Upper 32-bits of MSR value.
3581
3582 <b>Example usage</b>
3583 @code
3584 UINT64 Msr;
3585
3586 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL1);
3587 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL1, Msr);
3588 @endcode
3589 @note MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL1 is defined as MSR_C2_PMON_EVNTSEL1 in SDM.
3590 **/
3591 #define MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL1 0x00000D51
3592
3593 /**
3594 Package. Uncore C-box 2 perfmon event select for C-box 2 counter 2.
3595
3596 @param ECX MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL2 (0x00000D52)
3597 @param EAX Lower 32-bits of MSR value.
3598 @param EDX Upper 32-bits of MSR value.
3599
3600 <b>Example usage</b>
3601 @code
3602 UINT64 Msr;
3603
3604 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL2);
3605 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL2, Msr);
3606 @endcode
3607 @note MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL2 is defined as MSR_C2_PMON_EVNTSEL2 in SDM.
3608 **/
3609 #define MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL2 0x00000D52
3610
3611 /**
3612 Package. Uncore C-box 2 perfmon event select for C-box 2 counter 3.
3613
3614 @param ECX MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL3 (0x00000D53)
3615 @param EAX Lower 32-bits of MSR value.
3616 @param EDX Upper 32-bits of MSR value.
3617
3618 <b>Example usage</b>
3619 @code
3620 UINT64 Msr;
3621
3622 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL3);
3623 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL3, Msr);
3624 @endcode
3625 @note MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL3 is defined as MSR_C2_PMON_EVNTSEL3 in SDM.
3626 **/
3627 #define MSR_SANDY_BRIDGE_C2_PMON_EVNTSEL3 0x00000D53
3628
3629 /**
3630 Package. Uncore C-box 2 perfmon box wide filter.
3631
3632 @param ECX MSR_SANDY_BRIDGE_C2_PMON_BOX_FILTER (0x00000D54)
3633 @param EAX Lower 32-bits of MSR value.
3634 @param EDX Upper 32-bits of MSR value.
3635
3636 <b>Example usage</b>
3637 @code
3638 UINT64 Msr;
3639
3640 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C2_PMON_BOX_FILTER);
3641 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C2_PMON_BOX_FILTER, Msr);
3642 @endcode
3643 @note MSR_SANDY_BRIDGE_C2_PMON_BOX_FILTER is defined as MSR_C2_PMON_BOX_FILTER in SDM.
3644 **/
3645 #define MSR_SANDY_BRIDGE_C2_PMON_BOX_FILTER 0x00000D54
3646
3647 /**
3648 Package. Uncore C-box 2 perfmon counter 0.
3649
3650 @param ECX MSR_SANDY_BRIDGE_C2_PMON_CTR0 (0x00000D56)
3651 @param EAX Lower 32-bits of MSR value.
3652 @param EDX Upper 32-bits of MSR value.
3653
3654 <b>Example usage</b>
3655 @code
3656 UINT64 Msr;
3657
3658 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C2_PMON_CTR0);
3659 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C2_PMON_CTR0, Msr);
3660 @endcode
3661 @note MSR_SANDY_BRIDGE_C2_PMON_CTR0 is defined as MSR_C2_PMON_CTR0 in SDM.
3662 **/
3663 #define MSR_SANDY_BRIDGE_C2_PMON_CTR0 0x00000D56
3664
3665 /**
3666 Package. Uncore C-box 2 perfmon counter 1.
3667
3668 @param ECX MSR_SANDY_BRIDGE_C2_PMON_CTR1 (0x00000D57)
3669 @param EAX Lower 32-bits of MSR value.
3670 @param EDX Upper 32-bits of MSR value.
3671
3672 <b>Example usage</b>
3673 @code
3674 UINT64 Msr;
3675
3676 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C2_PMON_CTR1);
3677 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C2_PMON_CTR1, Msr);
3678 @endcode
3679 @note MSR_SANDY_BRIDGE_C2_PMON_CTR1 is defined as MSR_C2_PMON_CTR1 in SDM.
3680 **/
3681 #define MSR_SANDY_BRIDGE_C2_PMON_CTR1 0x00000D57
3682
3683 /**
3684 Package. Uncore C-box 2 perfmon counter 2.
3685
3686 @param ECX MSR_SANDY_BRIDGE_C2_PMON_CTR2 (0x00000D58)
3687 @param EAX Lower 32-bits of MSR value.
3688 @param EDX Upper 32-bits of MSR value.
3689
3690 <b>Example usage</b>
3691 @code
3692 UINT64 Msr;
3693
3694 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C2_PMON_CTR2);
3695 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C2_PMON_CTR2, Msr);
3696 @endcode
3697 @note MSR_SANDY_BRIDGE_C2_PMON_CTR2 is defined as MSR_C2_PMON_CTR2 in SDM.
3698 **/
3699 #define MSR_SANDY_BRIDGE_C2_PMON_CTR2 0x00000D58
3700
3701 /**
3702 Package. Uncore C-box 2 perfmon counter 3.
3703
3704 @param ECX MSR_SANDY_BRIDGE_C2_PMON_CTR3 (0x00000D59)
3705 @param EAX Lower 32-bits of MSR value.
3706 @param EDX Upper 32-bits of MSR value.
3707
3708 <b>Example usage</b>
3709 @code
3710 UINT64 Msr;
3711
3712 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C2_PMON_CTR3);
3713 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C2_PMON_CTR3, Msr);
3714 @endcode
3715 @note MSR_SANDY_BRIDGE_C2_PMON_CTR3 is defined as MSR_C2_PMON_CTR3 in SDM.
3716 **/
3717 #define MSR_SANDY_BRIDGE_C2_PMON_CTR3 0x00000D59
3718
3719 /**
3720 Package. Uncore C-box 3 perfmon local box wide control.
3721
3722 @param ECX MSR_SANDY_BRIDGE_C3_PMON_BOX_CTL (0x00000D64)
3723 @param EAX Lower 32-bits of MSR value.
3724 @param EDX Upper 32-bits of MSR value.
3725
3726 <b>Example usage</b>
3727 @code
3728 UINT64 Msr;
3729
3730 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C3_PMON_BOX_CTL);
3731 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C3_PMON_BOX_CTL, Msr);
3732 @endcode
3733 @note MSR_SANDY_BRIDGE_C3_PMON_BOX_CTL is defined as MSR_C3_PMON_BOX_CTL in SDM.
3734 **/
3735 #define MSR_SANDY_BRIDGE_C3_PMON_BOX_CTL 0x00000D64
3736
3737 /**
3738 Package. Uncore C-box 3 perfmon event select for C-box 3 counter 0.
3739
3740 @param ECX MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL0 (0x00000D70)
3741 @param EAX Lower 32-bits of MSR value.
3742 @param EDX Upper 32-bits of MSR value.
3743
3744 <b>Example usage</b>
3745 @code
3746 UINT64 Msr;
3747
3748 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL0);
3749 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL0, Msr);
3750 @endcode
3751 @note MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL0 is defined as MSR_C3_PMON_EVNTSEL0 in SDM.
3752 **/
3753 #define MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL0 0x00000D70
3754
3755 /**
3756 Package. Uncore C-box 3 perfmon event select for C-box 3 counter 1.
3757
3758 @param ECX MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL1 (0x00000D71)
3759 @param EAX Lower 32-bits of MSR value.
3760 @param EDX Upper 32-bits of MSR value.
3761
3762 <b>Example usage</b>
3763 @code
3764 UINT64 Msr;
3765
3766 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL1);
3767 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL1, Msr);
3768 @endcode
3769 @note MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL1 is defined as MSR_C3_PMON_EVNTSEL1 in SDM.
3770 **/
3771 #define MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL1 0x00000D71
3772
3773 /**
3774 Package. Uncore C-box 3 perfmon event select for C-box 3 counter 2.
3775
3776 @param ECX MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL2 (0x00000D72)
3777 @param EAX Lower 32-bits of MSR value.
3778 @param EDX Upper 32-bits of MSR value.
3779
3780 <b>Example usage</b>
3781 @code
3782 UINT64 Msr;
3783
3784 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL2);
3785 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL2, Msr);
3786 @endcode
3787 @note MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL2 is defined as MSR_C3_PMON_EVNTSEL2 in SDM.
3788 **/
3789 #define MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL2 0x00000D72
3790
3791 /**
3792 Package. Uncore C-box 3 perfmon event select for C-box 3 counter 3.
3793
3794 @param ECX MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL3 (0x00000D73)
3795 @param EAX Lower 32-bits of MSR value.
3796 @param EDX Upper 32-bits of MSR value.
3797
3798 <b>Example usage</b>
3799 @code
3800 UINT64 Msr;
3801
3802 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL3);
3803 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL3, Msr);
3804 @endcode
3805 @note MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL3 is defined as MSR_C3_PMON_EVNTSEL3 in SDM.
3806 **/
3807 #define MSR_SANDY_BRIDGE_C3_PMON_EVNTSEL3 0x00000D73
3808
3809 /**
3810 Package. Uncore C-box 3 perfmon box wide filter.
3811
3812 @param ECX MSR_SANDY_BRIDGE_C3_PMON_BOX_FILTER (0x00000D74)
3813 @param EAX Lower 32-bits of MSR value.
3814 @param EDX Upper 32-bits of MSR value.
3815
3816 <b>Example usage</b>
3817 @code
3818 UINT64 Msr;
3819
3820 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C3_PMON_BOX_FILTER);
3821 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C3_PMON_BOX_FILTER, Msr);
3822 @endcode
3823 @note MSR_SANDY_BRIDGE_C3_PMON_BOX_FILTER is defined as MSR_C3_PMON_BOX_FILTER in SDM.
3824 **/
3825 #define MSR_SANDY_BRIDGE_C3_PMON_BOX_FILTER 0x00000D74
3826
3827 /**
3828 Package. Uncore C-box 3 perfmon counter 0.
3829
3830 @param ECX MSR_SANDY_BRIDGE_C3_PMON_CTR0 (0x00000D76)
3831 @param EAX Lower 32-bits of MSR value.
3832 @param EDX Upper 32-bits of MSR value.
3833
3834 <b>Example usage</b>
3835 @code
3836 UINT64 Msr;
3837
3838 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C3_PMON_CTR0);
3839 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C3_PMON_CTR0, Msr);
3840 @endcode
3841 @note MSR_SANDY_BRIDGE_C3_PMON_CTR0 is defined as MSR_C3_PMON_CTR0 in SDM.
3842 **/
3843 #define MSR_SANDY_BRIDGE_C3_PMON_CTR0 0x00000D76
3844
3845 /**
3846 Package. Uncore C-box 3 perfmon counter 1.
3847
3848 @param ECX MSR_SANDY_BRIDGE_C3_PMON_CTR1 (0x00000D77)
3849 @param EAX Lower 32-bits of MSR value.
3850 @param EDX Upper 32-bits of MSR value.
3851
3852 <b>Example usage</b>
3853 @code
3854 UINT64 Msr;
3855
3856 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C3_PMON_CTR1);
3857 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C3_PMON_CTR1, Msr);
3858 @endcode
3859 @note MSR_SANDY_BRIDGE_C3_PMON_CTR1 is defined as MSR_C3_PMON_CTR1 in SDM.
3860 **/
3861 #define MSR_SANDY_BRIDGE_C3_PMON_CTR1 0x00000D77
3862
3863 /**
3864 Package. Uncore C-box 3 perfmon counter 2.
3865
3866 @param ECX MSR_SANDY_BRIDGE_C3_PMON_CTR2 (0x00000D78)
3867 @param EAX Lower 32-bits of MSR value.
3868 @param EDX Upper 32-bits of MSR value.
3869
3870 <b>Example usage</b>
3871 @code
3872 UINT64 Msr;
3873
3874 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C3_PMON_CTR2);
3875 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C3_PMON_CTR2, Msr);
3876 @endcode
3877 @note MSR_SANDY_BRIDGE_C3_PMON_CTR2 is defined as MSR_C3_PMON_CTR2 in SDM.
3878 **/
3879 #define MSR_SANDY_BRIDGE_C3_PMON_CTR2 0x00000D78
3880
3881 /**
3882 Package. Uncore C-box 3 perfmon counter 3.
3883
3884 @param ECX MSR_SANDY_BRIDGE_C3_PMON_CTR3 (0x00000D79)
3885 @param EAX Lower 32-bits of MSR value.
3886 @param EDX Upper 32-bits of MSR value.
3887
3888 <b>Example usage</b>
3889 @code
3890 UINT64 Msr;
3891
3892 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C3_PMON_CTR3);
3893 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C3_PMON_CTR3, Msr);
3894 @endcode
3895 @note MSR_SANDY_BRIDGE_C3_PMON_CTR3 is defined as MSR_C3_PMON_CTR3 in SDM.
3896 **/
3897 #define MSR_SANDY_BRIDGE_C3_PMON_CTR3 0x00000D79
3898
3899 /**
3900 Package. Uncore C-box 4 perfmon local box wide control.
3901
3902 @param ECX MSR_SANDY_BRIDGE_C4_PMON_BOX_CTL (0x00000D84)
3903 @param EAX Lower 32-bits of MSR value.
3904 @param EDX Upper 32-bits of MSR value.
3905
3906 <b>Example usage</b>
3907 @code
3908 UINT64 Msr;
3909
3910 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C4_PMON_BOX_CTL);
3911 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C4_PMON_BOX_CTL, Msr);
3912 @endcode
3913 @note MSR_SANDY_BRIDGE_C4_PMON_BOX_CTL is defined as MSR_C4_PMON_BOX_CTL in SDM.
3914 **/
3915 #define MSR_SANDY_BRIDGE_C4_PMON_BOX_CTL 0x00000D84
3916
3917 /**
3918 Package. Uncore C-box 4 perfmon event select for C-box 4 counter 0.
3919
3920 @param ECX MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL0 (0x00000D90)
3921 @param EAX Lower 32-bits of MSR value.
3922 @param EDX Upper 32-bits of MSR value.
3923
3924 <b>Example usage</b>
3925 @code
3926 UINT64 Msr;
3927
3928 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL0);
3929 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL0, Msr);
3930 @endcode
3931 @note MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL0 is defined as MSR_C4_PMON_EVNTSEL0 in SDM.
3932 **/
3933 #define MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL0 0x00000D90
3934
3935 /**
3936 Package. Uncore C-box 4 perfmon event select for C-box 4 counter 1.
3937
3938 @param ECX MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL1 (0x00000D91)
3939 @param EAX Lower 32-bits of MSR value.
3940 @param EDX Upper 32-bits of MSR value.
3941
3942 <b>Example usage</b>
3943 @code
3944 UINT64 Msr;
3945
3946 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL1);
3947 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL1, Msr);
3948 @endcode
3949 @note MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL1 is defined as MSR_C4_PMON_EVNTSEL1 in SDM.
3950 **/
3951 #define MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL1 0x00000D91
3952
3953 /**
3954 Package. Uncore C-box 4 perfmon event select for C-box 4 counter 2.
3955
3956 @param ECX MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL2 (0x00000D92)
3957 @param EAX Lower 32-bits of MSR value.
3958 @param EDX Upper 32-bits of MSR value.
3959
3960 <b>Example usage</b>
3961 @code
3962 UINT64 Msr;
3963
3964 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL2);
3965 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL2, Msr);
3966 @endcode
3967 @note MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL2 is defined as MSR_C4_PMON_EVNTSEL2 in SDM.
3968 **/
3969 #define MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL2 0x00000D92
3970
3971 /**
3972 Package. Uncore C-box 4 perfmon event select for C-box 4 counter 3.
3973
3974 @param ECX MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL3 (0x00000D93)
3975 @param EAX Lower 32-bits of MSR value.
3976 @param EDX Upper 32-bits of MSR value.
3977
3978 <b>Example usage</b>
3979 @code
3980 UINT64 Msr;
3981
3982 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL3);
3983 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL3, Msr);
3984 @endcode
3985 @note MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL3 is defined as MSR_C4_PMON_EVNTSEL3 in SDM.
3986 **/
3987 #define MSR_SANDY_BRIDGE_C4_PMON_EVNTSEL3 0x00000D93
3988
3989 /**
3990 Package. Uncore C-box 4 perfmon box wide filter.
3991
3992 @param ECX MSR_SANDY_BRIDGE_C4_PMON_BOX_FILTER (0x00000D94)
3993 @param EAX Lower 32-bits of MSR value.
3994 @param EDX Upper 32-bits of MSR value.
3995
3996 <b>Example usage</b>
3997 @code
3998 UINT64 Msr;
3999
4000 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C4_PMON_BOX_FILTER);
4001 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C4_PMON_BOX_FILTER, Msr);
4002 @endcode
4003 @note MSR_SANDY_BRIDGE_C4_PMON_BOX_FILTER is defined as MSR_C4_PMON_BOX_FILTER in SDM.
4004 **/
4005 #define MSR_SANDY_BRIDGE_C4_PMON_BOX_FILTER 0x00000D94
4006
4007 /**
4008 Package. Uncore C-box 4 perfmon counter 0.
4009
4010 @param ECX MSR_SANDY_BRIDGE_C4_PMON_CTR0 (0x00000D96)
4011 @param EAX Lower 32-bits of MSR value.
4012 @param EDX Upper 32-bits of MSR value.
4013
4014 <b>Example usage</b>
4015 @code
4016 UINT64 Msr;
4017
4018 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C4_PMON_CTR0);
4019 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C4_PMON_CTR0, Msr);
4020 @endcode
4021 @note MSR_SANDY_BRIDGE_C4_PMON_CTR0 is defined as MSR_C4_PMON_CTR0 in SDM.
4022 **/
4023 #define MSR_SANDY_BRIDGE_C4_PMON_CTR0 0x00000D96
4024
4025 /**
4026 Package. Uncore C-box 4 perfmon counter 1.
4027
4028 @param ECX MSR_SANDY_BRIDGE_C4_PMON_CTR1 (0x00000D97)
4029 @param EAX Lower 32-bits of MSR value.
4030 @param EDX Upper 32-bits of MSR value.
4031
4032 <b>Example usage</b>
4033 @code
4034 UINT64 Msr;
4035
4036 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C4_PMON_CTR1);
4037 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C4_PMON_CTR1, Msr);
4038 @endcode
4039 @note MSR_SANDY_BRIDGE_C4_PMON_CTR1 is defined as MSR_C4_PMON_CTR1 in SDM.
4040 **/
4041 #define MSR_SANDY_BRIDGE_C4_PMON_CTR1 0x00000D97
4042
4043 /**
4044 Package. Uncore C-box 4 perfmon counter 2.
4045
4046 @param ECX MSR_SANDY_BRIDGE_C4_PMON_CTR2 (0x00000D98)
4047 @param EAX Lower 32-bits of MSR value.
4048 @param EDX Upper 32-bits of MSR value.
4049
4050 <b>Example usage</b>
4051 @code
4052 UINT64 Msr;
4053
4054 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C4_PMON_CTR2);
4055 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C4_PMON_CTR2, Msr);
4056 @endcode
4057 @note MSR_SANDY_BRIDGE_C4_PMON_CTR2 is defined as MSR_C4_PMON_CTR2 in SDM.
4058 **/
4059 #define MSR_SANDY_BRIDGE_C4_PMON_CTR2 0x00000D98
4060
4061 /**
4062 Package. Uncore C-box 4 perfmon counter 3.
4063
4064 @param ECX MSR_SANDY_BRIDGE_C4_PMON_CTR3 (0x00000D99)
4065 @param EAX Lower 32-bits of MSR value.
4066 @param EDX Upper 32-bits of MSR value.
4067
4068 <b>Example usage</b>
4069 @code
4070 UINT64 Msr;
4071
4072 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C4_PMON_CTR3);
4073 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C4_PMON_CTR3, Msr);
4074 @endcode
4075 @note MSR_SANDY_BRIDGE_C4_PMON_CTR3 is defined as MSR_C4_PMON_CTR3 in SDM.
4076 **/
4077 #define MSR_SANDY_BRIDGE_C4_PMON_CTR3 0x00000D99
4078
4079 /**
4080 Package. Uncore C-box 5 perfmon local box wide control.
4081
4082 @param ECX MSR_SANDY_BRIDGE_C5_PMON_BOX_CTL (0x00000DA4)
4083 @param EAX Lower 32-bits of MSR value.
4084 @param EDX Upper 32-bits of MSR value.
4085
4086 <b>Example usage</b>
4087 @code
4088 UINT64 Msr;
4089
4090 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C5_PMON_BOX_CTL);
4091 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C5_PMON_BOX_CTL, Msr);
4092 @endcode
4093 @note MSR_SANDY_BRIDGE_C5_PMON_BOX_CTL is defined as MSR_C5_PMON_BOX_CTL in SDM.
4094 **/
4095 #define MSR_SANDY_BRIDGE_C5_PMON_BOX_CTL 0x00000DA4
4096
4097 /**
4098 Package. Uncore C-box 5 perfmon event select for C-box 5 counter 0.
4099
4100 @param ECX MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL0 (0x00000DB0)
4101 @param EAX Lower 32-bits of MSR value.
4102 @param EDX Upper 32-bits of MSR value.
4103
4104 <b>Example usage</b>
4105 @code
4106 UINT64 Msr;
4107
4108 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL0);
4109 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL0, Msr);
4110 @endcode
4111 @note MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL0 is defined as MSR_C5_PMON_EVNTSEL0 in SDM.
4112 **/
4113 #define MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL0 0x00000DB0
4114
4115 /**
4116 Package. Uncore C-box 5 perfmon event select for C-box 5 counter 1.
4117
4118 @param ECX MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL1 (0x00000DB1)
4119 @param EAX Lower 32-bits of MSR value.
4120 @param EDX Upper 32-bits of MSR value.
4121
4122 <b>Example usage</b>
4123 @code
4124 UINT64 Msr;
4125
4126 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL1);
4127 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL1, Msr);
4128 @endcode
4129 @note MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL1 is defined as MSR_C5_PMON_EVNTSEL1 in SDM.
4130 **/
4131 #define MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL1 0x00000DB1
4132
4133 /**
4134 Package. Uncore C-box 5 perfmon event select for C-box 5 counter 2.
4135
4136 @param ECX MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL2 (0x00000DB2)
4137 @param EAX Lower 32-bits of MSR value.
4138 @param EDX Upper 32-bits of MSR value.
4139
4140 <b>Example usage</b>
4141 @code
4142 UINT64 Msr;
4143
4144 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL2);
4145 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL2, Msr);
4146 @endcode
4147 @note MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL2 is defined as MSR_C5_PMON_EVNTSEL2 in SDM.
4148 **/
4149 #define MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL2 0x00000DB2
4150
4151 /**
4152 Package. Uncore C-box 5 perfmon event select for C-box 5 counter 3.
4153
4154 @param ECX MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL3 (0x00000DB3)
4155 @param EAX Lower 32-bits of MSR value.
4156 @param EDX Upper 32-bits of MSR value.
4157
4158 <b>Example usage</b>
4159 @code
4160 UINT64 Msr;
4161
4162 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL3);
4163 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL3, Msr);
4164 @endcode
4165 @note MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL3 is defined as MSR_C5_PMON_EVNTSEL3 in SDM.
4166 **/
4167 #define MSR_SANDY_BRIDGE_C5_PMON_EVNTSEL3 0x00000DB3
4168
4169 /**
4170 Package. Uncore C-box 5 perfmon box wide filter.
4171
4172 @param ECX MSR_SANDY_BRIDGE_C5_PMON_BOX_FILTER (0x00000DB4)
4173 @param EAX Lower 32-bits of MSR value.
4174 @param EDX Upper 32-bits of MSR value.
4175
4176 <b>Example usage</b>
4177 @code
4178 UINT64 Msr;
4179
4180 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C5_PMON_BOX_FILTER);
4181 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C5_PMON_BOX_FILTER, Msr);
4182 @endcode
4183 @note MSR_SANDY_BRIDGE_C5_PMON_BOX_FILTER is defined as MSR_C5_PMON_BOX_FILTER in SDM.
4184 **/
4185 #define MSR_SANDY_BRIDGE_C5_PMON_BOX_FILTER 0x00000DB4
4186
4187 /**
4188 Package. Uncore C-box 5 perfmon counter 0.
4189
4190 @param ECX MSR_SANDY_BRIDGE_C5_PMON_CTR0 (0x00000DB6)
4191 @param EAX Lower 32-bits of MSR value.
4192 @param EDX Upper 32-bits of MSR value.
4193
4194 <b>Example usage</b>
4195 @code
4196 UINT64 Msr;
4197
4198 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C5_PMON_CTR0);
4199 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C5_PMON_CTR0, Msr);
4200 @endcode
4201 @note MSR_SANDY_BRIDGE_C5_PMON_CTR0 is defined as MSR_C5_PMON_CTR0 in SDM.
4202 **/
4203 #define MSR_SANDY_BRIDGE_C5_PMON_CTR0 0x00000DB6
4204
4205 /**
4206 Package. Uncore C-box 5 perfmon counter 1.
4207
4208 @param ECX MSR_SANDY_BRIDGE_C5_PMON_CTR1 (0x00000DB7)
4209 @param EAX Lower 32-bits of MSR value.
4210 @param EDX Upper 32-bits of MSR value.
4211
4212 <b>Example usage</b>
4213 @code
4214 UINT64 Msr;
4215
4216 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C5_PMON_CTR1);
4217 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C5_PMON_CTR1, Msr);
4218 @endcode
4219 @note MSR_SANDY_BRIDGE_C5_PMON_CTR1 is defined as MSR_C5_PMON_CTR1 in SDM.
4220 **/
4221 #define MSR_SANDY_BRIDGE_C5_PMON_CTR1 0x00000DB7
4222
4223 /**
4224 Package. Uncore C-box 5 perfmon counter 2.
4225
4226 @param ECX MSR_SANDY_BRIDGE_C5_PMON_CTR2 (0x00000DB8)
4227 @param EAX Lower 32-bits of MSR value.
4228 @param EDX Upper 32-bits of MSR value.
4229
4230 <b>Example usage</b>
4231 @code
4232 UINT64 Msr;
4233
4234 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C5_PMON_CTR2);
4235 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C5_PMON_CTR2, Msr);
4236 @endcode
4237 @note MSR_SANDY_BRIDGE_C5_PMON_CTR2 is defined as MSR_C5_PMON_CTR2 in SDM.
4238 **/
4239 #define MSR_SANDY_BRIDGE_C5_PMON_CTR2 0x00000DB8
4240
4241 /**
4242 Package. Uncore C-box 5 perfmon counter 3.
4243
4244 @param ECX MSR_SANDY_BRIDGE_C5_PMON_CTR3 (0x00000DB9)
4245 @param EAX Lower 32-bits of MSR value.
4246 @param EDX Upper 32-bits of MSR value.
4247
4248 <b>Example usage</b>
4249 @code
4250 UINT64 Msr;
4251
4252 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C5_PMON_CTR3);
4253 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C5_PMON_CTR3, Msr);
4254 @endcode
4255 @note MSR_SANDY_BRIDGE_C5_PMON_CTR3 is defined as MSR_C5_PMON_CTR3 in SDM.
4256 **/
4257 #define MSR_SANDY_BRIDGE_C5_PMON_CTR3 0x00000DB9
4258
4259 /**
4260 Package. Uncore C-box 6 perfmon local box wide control.
4261
4262 @param ECX MSR_SANDY_BRIDGE_C6_PMON_BOX_CTL (0x00000DC4)
4263 @param EAX Lower 32-bits of MSR value.
4264 @param EDX Upper 32-bits of MSR value.
4265
4266 <b>Example usage</b>
4267 @code
4268 UINT64 Msr;
4269
4270 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C6_PMON_BOX_CTL);
4271 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C6_PMON_BOX_CTL, Msr);
4272 @endcode
4273 @note MSR_SANDY_BRIDGE_C6_PMON_BOX_CTL is defined as MSR_C6_PMON_BOX_CTL in SDM.
4274 **/
4275 #define MSR_SANDY_BRIDGE_C6_PMON_BOX_CTL 0x00000DC4
4276
4277 /**
4278 Package. Uncore C-box 6 perfmon event select for C-box 6 counter 0.
4279
4280 @param ECX MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL0 (0x00000DD0)
4281 @param EAX Lower 32-bits of MSR value.
4282 @param EDX Upper 32-bits of MSR value.
4283
4284 <b>Example usage</b>
4285 @code
4286 UINT64 Msr;
4287
4288 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL0);
4289 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL0, Msr);
4290 @endcode
4291 @note MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL0 is defined as MSR_C6_PMON_EVNTSEL0 in SDM.
4292 **/
4293 #define MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL0 0x00000DD0
4294
4295 /**
4296 Package. Uncore C-box 6 perfmon event select for C-box 6 counter 1.
4297
4298 @param ECX MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL1 (0x00000DD1)
4299 @param EAX Lower 32-bits of MSR value.
4300 @param EDX Upper 32-bits of MSR value.
4301
4302 <b>Example usage</b>
4303 @code
4304 UINT64 Msr;
4305
4306 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL1);
4307 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL1, Msr);
4308 @endcode
4309 @note MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL1 is defined as MSR_C6_PMON_EVNTSEL1 in SDM.
4310 **/
4311 #define MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL1 0x00000DD1
4312
4313 /**
4314 Package. Uncore C-box 6 perfmon event select for C-box 6 counter 2.
4315
4316 @param ECX MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL2 (0x00000DD2)
4317 @param EAX Lower 32-bits of MSR value.
4318 @param EDX Upper 32-bits of MSR value.
4319
4320 <b>Example usage</b>
4321 @code
4322 UINT64 Msr;
4323
4324 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL2);
4325 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL2, Msr);
4326 @endcode
4327 @note MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL2 is defined as MSR_C6_PMON_EVNTSEL2 in SDM.
4328 **/
4329 #define MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL2 0x00000DD2
4330
4331 /**
4332 Package. Uncore C-box 6 perfmon event select for C-box 6 counter 3.
4333
4334 @param ECX MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL3 (0x00000DD3)
4335 @param EAX Lower 32-bits of MSR value.
4336 @param EDX Upper 32-bits of MSR value.
4337
4338 <b>Example usage</b>
4339 @code
4340 UINT64 Msr;
4341
4342 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL3);
4343 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL3, Msr);
4344 @endcode
4345 @note MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL3 is defined as MSR_C6_PMON_EVNTSEL3 in SDM.
4346 **/
4347 #define MSR_SANDY_BRIDGE_C6_PMON_EVNTSEL3 0x00000DD3
4348
4349 /**
4350 Package. Uncore C-box 6 perfmon box wide filter.
4351
4352 @param ECX MSR_SANDY_BRIDGE_C6_PMON_BOX_FILTER (0x00000DD4)
4353 @param EAX Lower 32-bits of MSR value.
4354 @param EDX Upper 32-bits of MSR value.
4355
4356 <b>Example usage</b>
4357 @code
4358 UINT64 Msr;
4359
4360 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C6_PMON_BOX_FILTER);
4361 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C6_PMON_BOX_FILTER, Msr);
4362 @endcode
4363 @note MSR_SANDY_BRIDGE_C6_PMON_BOX_FILTER is defined as MSR_C6_PMON_BOX_FILTER in SDM.
4364 **/
4365 #define MSR_SANDY_BRIDGE_C6_PMON_BOX_FILTER 0x00000DD4
4366
4367 /**
4368 Package. Uncore C-box 6 perfmon counter 0.
4369
4370 @param ECX MSR_SANDY_BRIDGE_C6_PMON_CTR0 (0x00000DD6)
4371 @param EAX Lower 32-bits of MSR value.
4372 @param EDX Upper 32-bits of MSR value.
4373
4374 <b>Example usage</b>
4375 @code
4376 UINT64 Msr;
4377
4378 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C6_PMON_CTR0);
4379 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C6_PMON_CTR0, Msr);
4380 @endcode
4381 @note MSR_SANDY_BRIDGE_C6_PMON_CTR0 is defined as MSR_C6_PMON_CTR0 in SDM.
4382 **/
4383 #define MSR_SANDY_BRIDGE_C6_PMON_CTR0 0x00000DD6
4384
4385 /**
4386 Package. Uncore C-box 6 perfmon counter 1.
4387
4388 @param ECX MSR_SANDY_BRIDGE_C6_PMON_CTR1 (0x00000DD7)
4389 @param EAX Lower 32-bits of MSR value.
4390 @param EDX Upper 32-bits of MSR value.
4391
4392 <b>Example usage</b>
4393 @code
4394 UINT64 Msr;
4395
4396 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C6_PMON_CTR1);
4397 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C6_PMON_CTR1, Msr);
4398 @endcode
4399 @note MSR_SANDY_BRIDGE_C6_PMON_CTR1 is defined as MSR_C6_PMON_CTR1 in SDM.
4400 **/
4401 #define MSR_SANDY_BRIDGE_C6_PMON_CTR1 0x00000DD7
4402
4403 /**
4404 Package. Uncore C-box 6 perfmon counter 2.
4405
4406 @param ECX MSR_SANDY_BRIDGE_C6_PMON_CTR2 (0x00000DD8)
4407 @param EAX Lower 32-bits of MSR value.
4408 @param EDX Upper 32-bits of MSR value.
4409
4410 <b>Example usage</b>
4411 @code
4412 UINT64 Msr;
4413
4414 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C6_PMON_CTR2);
4415 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C6_PMON_CTR2, Msr);
4416 @endcode
4417 @note MSR_SANDY_BRIDGE_C6_PMON_CTR2 is defined as MSR_C6_PMON_CTR2 in SDM.
4418 **/
4419 #define MSR_SANDY_BRIDGE_C6_PMON_CTR2 0x00000DD8
4420
4421 /**
4422 Package. Uncore C-box 6 perfmon counter 3.
4423
4424 @param ECX MSR_SANDY_BRIDGE_C6_PMON_CTR3 (0x00000DD9)
4425 @param EAX Lower 32-bits of MSR value.
4426 @param EDX Upper 32-bits of MSR value.
4427
4428 <b>Example usage</b>
4429 @code
4430 UINT64 Msr;
4431
4432 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C6_PMON_CTR3);
4433 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C6_PMON_CTR3, Msr);
4434 @endcode
4435 @note MSR_SANDY_BRIDGE_C6_PMON_CTR3 is defined as MSR_C6_PMON_CTR3 in SDM.
4436 **/
4437 #define MSR_SANDY_BRIDGE_C6_PMON_CTR3 0x00000DD9
4438
4439 /**
4440 Package. Uncore C-box 7 perfmon local box wide control.
4441
4442 @param ECX MSR_SANDY_BRIDGE_C7_PMON_BOX_CTL (0x00000DE4)
4443 @param EAX Lower 32-bits of MSR value.
4444 @param EDX Upper 32-bits of MSR value.
4445
4446 <b>Example usage</b>
4447 @code
4448 UINT64 Msr;
4449
4450 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C7_PMON_BOX_CTL);
4451 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C7_PMON_BOX_CTL, Msr);
4452 @endcode
4453 @note MSR_SANDY_BRIDGE_C7_PMON_BOX_CTL is defined as MSR_C7_PMON_BOX_CTL in SDM.
4454 **/
4455 #define MSR_SANDY_BRIDGE_C7_PMON_BOX_CTL 0x00000DE4
4456
4457 /**
4458 Package. Uncore C-box 7 perfmon event select for C-box 7 counter 0.
4459
4460 @param ECX MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL0 (0x00000DF0)
4461 @param EAX Lower 32-bits of MSR value.
4462 @param EDX Upper 32-bits of MSR value.
4463
4464 <b>Example usage</b>
4465 @code
4466 UINT64 Msr;
4467
4468 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL0);
4469 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL0, Msr);
4470 @endcode
4471 @note MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL0 is defined as MSR_C7_PMON_EVNTSEL0 in SDM.
4472 **/
4473 #define MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL0 0x00000DF0
4474
4475 /**
4476 Package. Uncore C-box 7 perfmon event select for C-box 7 counter 1.
4477
4478 @param ECX MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL1 (0x00000DF1)
4479 @param EAX Lower 32-bits of MSR value.
4480 @param EDX Upper 32-bits of MSR value.
4481
4482 <b>Example usage</b>
4483 @code
4484 UINT64 Msr;
4485
4486 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL1);
4487 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL1, Msr);
4488 @endcode
4489 @note MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL1 is defined as MSR_C7_PMON_EVNTSEL1 in SDM.
4490 **/
4491 #define MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL1 0x00000DF1
4492
4493 /**
4494 Package. Uncore C-box 7 perfmon event select for C-box 7 counter 2.
4495
4496 @param ECX MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL2 (0x00000DF2)
4497 @param EAX Lower 32-bits of MSR value.
4498 @param EDX Upper 32-bits of MSR value.
4499
4500 <b>Example usage</b>
4501 @code
4502 UINT64 Msr;
4503
4504 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL2);
4505 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL2, Msr);
4506 @endcode
4507 @note MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL2 is defined as MSR_C7_PMON_EVNTSEL2 in SDM.
4508 **/
4509 #define MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL2 0x00000DF2
4510
4511 /**
4512 Package. Uncore C-box 7 perfmon event select for C-box 7 counter 3.
4513
4514 @param ECX MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL3 (0x00000DF3)
4515 @param EAX Lower 32-bits of MSR value.
4516 @param EDX Upper 32-bits of MSR value.
4517
4518 <b>Example usage</b>
4519 @code
4520 UINT64 Msr;
4521
4522 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL3);
4523 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL3, Msr);
4524 @endcode
4525 @note MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL3 is defined as MSR_C7_PMON_EVNTSEL3 in SDM.
4526 **/
4527 #define MSR_SANDY_BRIDGE_C7_PMON_EVNTSEL3 0x00000DF3
4528
4529 /**
4530 Package. Uncore C-box 7 perfmon box wide filter.
4531
4532 @param ECX MSR_SANDY_BRIDGE_C7_PMON_BOX_FILTER (0x00000DF4)
4533 @param EAX Lower 32-bits of MSR value.
4534 @param EDX Upper 32-bits of MSR value.
4535
4536 <b>Example usage</b>
4537 @code
4538 UINT64 Msr;
4539
4540 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C7_PMON_BOX_FILTER);
4541 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C7_PMON_BOX_FILTER, Msr);
4542 @endcode
4543 @note MSR_SANDY_BRIDGE_C7_PMON_BOX_FILTER is defined as MSR_C7_PMON_BOX_FILTER in SDM.
4544 **/
4545 #define MSR_SANDY_BRIDGE_C7_PMON_BOX_FILTER 0x00000DF4
4546
4547 /**
4548 Package. Uncore C-box 7 perfmon counter 0.
4549
4550 @param ECX MSR_SANDY_BRIDGE_C7_PMON_CTR0 (0x00000DF6)
4551 @param EAX Lower 32-bits of MSR value.
4552 @param EDX Upper 32-bits of MSR value.
4553
4554 <b>Example usage</b>
4555 @code
4556 UINT64 Msr;
4557
4558 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C7_PMON_CTR0);
4559 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C7_PMON_CTR0, Msr);
4560 @endcode
4561 @note MSR_SANDY_BRIDGE_C7_PMON_CTR0 is defined as MSR_C7_PMON_CTR0 in SDM.
4562 **/
4563 #define MSR_SANDY_BRIDGE_C7_PMON_CTR0 0x00000DF6
4564
4565 /**
4566 Package. Uncore C-box 7 perfmon counter 1.
4567
4568 @param ECX MSR_SANDY_BRIDGE_C7_PMON_CTR1 (0x00000DF7)
4569 @param EAX Lower 32-bits of MSR value.
4570 @param EDX Upper 32-bits of MSR value.
4571
4572 <b>Example usage</b>
4573 @code
4574 UINT64 Msr;
4575
4576 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C7_PMON_CTR1);
4577 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C7_PMON_CTR1, Msr);
4578 @endcode
4579 @note MSR_SANDY_BRIDGE_C7_PMON_CTR1 is defined as MSR_C7_PMON_CTR1 in SDM.
4580 **/
4581 #define MSR_SANDY_BRIDGE_C7_PMON_CTR1 0x00000DF7
4582
4583 /**
4584 Package. Uncore C-box 7 perfmon counter 2.
4585
4586 @param ECX MSR_SANDY_BRIDGE_C7_PMON_CTR2 (0x00000DF8)
4587 @param EAX Lower 32-bits of MSR value.
4588 @param EDX Upper 32-bits of MSR value.
4589
4590 <b>Example usage</b>
4591 @code
4592 UINT64 Msr;
4593
4594 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C7_PMON_CTR2);
4595 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C7_PMON_CTR2, Msr);
4596 @endcode
4597 @note MSR_SANDY_BRIDGE_C7_PMON_CTR2 is defined as MSR_C7_PMON_CTR2 in SDM.
4598 **/
4599 #define MSR_SANDY_BRIDGE_C7_PMON_CTR2 0x00000DF8
4600
4601 /**
4602 Package. Uncore C-box 7 perfmon counter 3.
4603
4604 @param ECX MSR_SANDY_BRIDGE_C7_PMON_CTR3 (0x00000DF9)
4605 @param EAX Lower 32-bits of MSR value.
4606 @param EDX Upper 32-bits of MSR value.
4607
4608 <b>Example usage</b>
4609 @code
4610 UINT64 Msr;
4611
4612 Msr = AsmReadMsr64 (MSR_SANDY_BRIDGE_C7_PMON_CTR3);
4613 AsmWriteMsr64 (MSR_SANDY_BRIDGE_C7_PMON_CTR3, Msr);
4614 @endcode
4615 @note MSR_SANDY_BRIDGE_C7_PMON_CTR3 is defined as MSR_C7_PMON_CTR3 in SDM.
4616 **/
4617 #define MSR_SANDY_BRIDGE_C7_PMON_CTR3 0x00000DF9
4618
4619 #endif