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