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