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