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