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