2 MSR Definitions for Intel(R) Xeon(R) Phi(TM) processor Family.
4 Provides defines for Machine Specific Registers(MSR) indexes. Data structures
5 are provided for MSRs that contain one or more bit fields. If the MSR value
6 returned is a single 32-bit or 64-bit value, then a data structure is not
9 Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.<BR>
10 SPDX-License-Identifier: BSD-2-Clause-Patent
12 @par Specification Reference:
13 Intel(R) 64 and IA-32 Architectures Software Developer's Manual, Volume 4,
14 May 2018, Volume 4: Model-Specific-Registers (MSR)
18 #ifndef __XEON_PHI_MSR_H__
19 #define __XEON_PHI_MSR_H__
21 #include <Register/Intel/ArchitecturalMsr.h>
24 Is Intel(R) Xeon(R) Phi(TM) processor Family?
26 @param DisplayFamily Display Family ID
27 @param DisplayModel Display Model ID
29 @retval TRUE Yes, it is.
30 @retval FALSE No, it isn't.
32 #define IS_XEON_PHI_PROCESSOR(DisplayFamily, DisplayModel) \
33 (DisplayFamily == 0x06 && \
35 DisplayModel == 0x57 || \
36 DisplayModel == 0x85 \
41 Thread. SMI Counter (R/O).
43 @param ECX MSR_XEON_PHI_SMI_COUNT (0x00000034)
44 @param EAX Lower 32-bits of MSR value.
45 Described by the type MSR_XEON_PHI_SMI_COUNT_REGISTER.
46 @param EDX Upper 32-bits of MSR value.
47 Described by the type MSR_XEON_PHI_SMI_COUNT_REGISTER.
51 MSR_XEON_PHI_SMI_COUNT_REGISTER Msr;
53 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_PHI_SMI_COUNT);
55 @note MSR_XEON_PHI_SMI_COUNT is defined as MSR_SMI_COUNT in SDM.
57 #define MSR_XEON_PHI_SMI_COUNT 0x00000034
60 MSR information returned for MSR index #MSR_XEON_PHI_SMI_COUNT
64 /// Individual bit fields
68 /// [Bits 31:0] SMI Count (R/O).
74 /// All bit fields as a 32-bit value
78 /// All bit fields as a 64-bit value
81 } MSR_XEON_PHI_SMI_COUNT_REGISTER
;
84 Package. Protected Processor Inventory Number Enable Control (R/W).
86 @param ECX MSR_XEON_PHI_PPIN_CTL (0x0000004E)
87 @param EAX Lower 32-bits of MSR value.
88 Described by the type MSR_XEON_PHI_PPIN_CTL_REGISTER.
89 @param EDX Upper 32-bits of MSR value.
90 Described by the type MSR_XEON_PHI_PPIN_CTL_REGISTER.
94 MSR_XEON_PHI_PPIN_CTL_REGISTER Msr;
96 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_PHI_PPIN_CTL);
97 AsmWriteMsr64 (MSR_XEON_PHI_PPIN_CTL, Msr.Uint64);
100 #define MSR_XEON_PHI_PPIN_CTL 0x0000004E
103 MSR information returned for MSR index #MSR_XEON_PHI_PPIN_CTL
107 /// Individual bit fields
111 /// [Bit 0] LockOut (R/WO) Set 1 to prevent further writes to
112 /// MSR_PPIN_CTL. Writing 1 to MSR_PPINCTL[bit 0] is permitted only if
113 /// MSR_PPIN_CTL[bit 1] is clear. Default is 0. BIOS should provide an
114 /// opt-in menu to enable the user to turn on MSR_PPIN_CTL[bit 1] for a
115 /// privileged inventory initialization agent to access MSR_PPIN. After
116 /// reading MSR_PPIN, the privileged inventory initialization agent should
117 /// write '01b' to MSR_PPIN_CTL to disable further access to MSR_PPIN and
118 /// prevent unauthorized modification to MSR_PPIN_CTL.
122 /// [Bit 1] Enable_PPIN (R/W) If 1, enables MSR_PPIN to be accessible
123 /// using RDMSR. Once set, an attempt to write 1 to MSR_PPIN_CTL[bit 0]
124 /// will cause #GP. If 0, an attempt to read MSR_PPIN will cause #GP.
127 UINT32 Enable_PPIN
: 1;
128 UINT32 Reserved1
: 30;
129 UINT32 Reserved2
: 32;
132 /// All bit fields as a 32-bit value
136 /// All bit fields as a 64-bit value
139 } MSR_XEON_PHI_PPIN_CTL_REGISTER
;
142 Package. Protected Processor Inventory Number (R/O). Protected Processor
143 Inventory Number (R/O) A unique value within a given CPUID
144 family/model/stepping signature that a privileged inventory initialization
145 agent can access to identify each physical processor, when access to
146 MSR_PPIN is enabled. Access to MSR_PPIN is permitted only if
147 MSR_PPIN_CTL[bits 1:0] = '10b'.
149 @param ECX MSR_XEON_PHI_PPIN (0x0000004F)
150 @param EAX Lower 32-bits of MSR value.
151 @param EDX Upper 32-bits of MSR value.
157 Msr = AsmReadMsr64 (MSR_XEON_PHI_PPIN);
160 #define MSR_XEON_PHI_PPIN 0x0000004F
163 Package. Platform Information Contains power management and other model
164 specific features enumeration. See http://biosbits.org.
166 @param ECX MSR_XEON_PHI_PLATFORM_INFO (0x000000CE)
167 @param EAX Lower 32-bits of MSR value.
168 Described by the type MSR_XEON_PHI_PLATFORM_INFO_REGISTER.
169 @param EDX Upper 32-bits of MSR value.
170 Described by the type MSR_XEON_PHI_PLATFORM_INFO_REGISTER.
174 MSR_XEON_PHI_PLATFORM_INFO_REGISTER Msr;
176 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_PHI_PLATFORM_INFO);
177 AsmWriteMsr64 (MSR_XEON_PHI_PLATFORM_INFO, Msr.Uint64);
179 @note MSR_XEON_PHI_PLATFORM_INFO is defined as MSR_PLATFORM_INFO in SDM.
181 #define MSR_XEON_PHI_PLATFORM_INFO 0x000000CE
184 MSR information returned for MSR index #MSR_XEON_PHI_PLATFORM_INFO
188 /// Individual bit fields
191 UINT32 Reserved1
: 8;
193 /// [Bits 15:8] Package. Maximum Non-Turbo Ratio (R/O) The is the ratio
194 /// of the frequency that invariant TSC runs at. Frequency = ratio * 100
197 UINT32 MaximumNonTurboRatio
: 8;
198 UINT32 Reserved2
: 12;
200 /// [Bit 28] Package. Programmable Ratio Limit for Turbo Mode (R/O) When
201 /// set to 1, indicates that Programmable Ratio Limits for Turbo mode is
202 /// enabled, and when set to 0, indicates Programmable Ratio Limits for
203 /// Turbo mode is disabled.
205 UINT32 RatioLimit
: 1;
207 /// [Bit 29] Package. Programmable TDP Limit for Turbo Mode (R/O) When
208 /// set to 1, indicates that TDP Limits for Turbo mode are programmable,
209 /// and when set to 0, indicates TDP Limit for Turbo mode is not
213 UINT32 Reserved3
: 2;
214 UINT32 Reserved4
: 8;
216 /// [Bits 47:40] Package. Maximum Efficiency Ratio (R/O) The is the
217 /// minimum ratio (maximum efficiency) that the processor can operates, in
220 UINT32 MaximumEfficiencyRatio
: 8;
221 UINT32 Reserved5
: 16;
224 /// All bit fields as a 64-bit value
227 } MSR_XEON_PHI_PLATFORM_INFO_REGISTER
;
230 Module. C-State Configuration Control (R/W).
232 @param ECX MSR_XEON_PHI_PKG_CST_CONFIG_CONTROL (0x000000E2)
233 @param EAX Lower 32-bits of MSR value.
234 Described by the type MSR_XEON_PHI_PKG_CST_CONFIG_CONTROL_REGISTER.
235 @param EDX Upper 32-bits of MSR value.
236 Described by the type MSR_XEON_PHI_PKG_CST_CONFIG_CONTROL_REGISTER.
240 MSR_XEON_PHI_PKG_CST_CONFIG_CONTROL_REGISTER Msr;
242 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_PHI_PKG_CST_CONFIG_CONTROL);
243 AsmWriteMsr64 (MSR_XEON_PHI_PKG_CST_CONFIG_CONTROL, Msr.Uint64);
245 @note MSR_XEON_PHI_PKG_CST_CONFIG_CONTROL is defined as MSR_PKG_CST_CONFIG_CONTROL in SDM.
247 #define MSR_XEON_PHI_PKG_CST_CONFIG_CONTROL 0x000000E2
250 MSR information returned for MSR index #MSR_XEON_PHI_PKG_CST_CONFIG_CONTROL
254 /// Individual bit fields
258 /// [Bits 2:0] Package C-State Limit (R/W) The following C-state code
259 /// name encodings are supported: 000b: C0/C1 001b: C2 010b: C6 No
260 /// Retention 011b: C6 Retention 111b: No limit.
263 UINT32 Reserved1
: 7;
265 /// [Bit 10] I/O MWAIT Redirection Enable (R/W).
268 UINT32 Reserved2
: 4;
270 /// [Bit 15] CFG Lock (R/WO).
273 UINT32 Reserved5
: 10;
275 /// [Bit 26] C1 State Auto Demotion Enable (R/W) When set, the processor
276 /// will conditionally demote C3/C6/C7 requests to C1 based on uncore
277 /// auto-demote information.
279 UINT32 C1StateAutoDemotionEnable
: 1;
280 UINT32 Reserved6
: 1;
282 /// [Bit 28] C1 State Auto Undemotion Enable (R/W) When set, enables
283 /// Undemotion from Demoted C1.
285 UINT32 C1StateAutoUndemotionEnable
: 1;
287 /// [Bit 29] PKG C-State Auto Demotion Enable (R/W) When set, enables
288 /// Package C state demotion.
290 UINT32 PKGC_StateAutoDemotionEnable
: 1;
291 UINT32 Reserved7
: 2;
292 UINT32 Reserved4
: 32;
295 /// All bit fields as a 32-bit value
299 /// All bit fields as a 64-bit value
302 } MSR_XEON_PHI_PKG_CST_CONFIG_CONTROL_REGISTER
;
305 Module. Power Management IO Redirection in C-state (R/W).
307 @param ECX MSR_XEON_PHI_PMG_IO_CAPTURE_BASE (0x000000E4)
308 @param EAX Lower 32-bits of MSR value.
309 Described by the type MSR_XEON_PHI_PMG_IO_CAPTURE_BASE_REGISTER.
310 @param EDX Upper 32-bits of MSR value.
311 Described by the type MSR_XEON_PHI_PMG_IO_CAPTURE_BASE_REGISTER.
315 MSR_XEON_PHI_PMG_IO_CAPTURE_BASE_REGISTER Msr;
317 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_PHI_PMG_IO_CAPTURE_BASE);
318 AsmWriteMsr64 (MSR_XEON_PHI_PMG_IO_CAPTURE_BASE, Msr.Uint64);
320 @note MSR_XEON_PHI_PMG_IO_CAPTURE_BASE is defined as MSR_PMG_IO_CAPTURE_BASE in SDM.
322 #define MSR_XEON_PHI_PMG_IO_CAPTURE_BASE 0x000000E4
325 MSR information returned for MSR index #MSR_XEON_PHI_PMG_IO_CAPTURE_BASE
329 /// Individual bit fields
333 /// [Bits 15:0] LVL_2 Base Address (R/W).
335 UINT32 Lvl2Base
: 16;
337 /// [Bits 22:16] C-State Range (R/W) The IO-port block size in which
338 /// IO-redirection will be executed (0-127). Should be programmed based on
339 /// the number of LVLx registers existing in the chipset.
341 UINT32 CStateRange
: 7;
342 UINT32 Reserved3
: 9;
343 UINT32 Reserved2
: 32;
346 /// All bit fields as a 32-bit value
350 /// All bit fields as a 64-bit value
353 } MSR_XEON_PHI_PMG_IO_CAPTURE_BASE_REGISTER
;
356 Core. AES Configuration (RW-L) Privileged post-BIOS agent must provide a #GP
357 handler to handle unsuccessful read of this MSR.
359 @param ECX MSR_XEON_PHI_FEATURE_CONFIG (0x0000013C)
360 @param EAX Lower 32-bits of MSR value.
361 Described by the type MSR_XEON_PHI_FEATURE_CONFIG_REGISTER.
362 @param EDX Upper 32-bits of MSR value.
363 Described by the type MSR_XEON_PHI_FEATURE_CONFIG_REGISTER.
367 MSR_XEON_PHI_FEATURE_CONFIG_REGISTER Msr;
369 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_PHI_FEATURE_CONFIG);
370 AsmWriteMsr64 (MSR_XEON_PHI_FEATURE_CONFIG, Msr.Uint64);
372 @note MSR_XEON_PHI_FEATURE_CONFIG is defined as MSR_FEATURE_CONFIG in SDM.
374 #define MSR_XEON_PHI_FEATURE_CONFIG 0x0000013C
377 MSR information returned for MSR index #MSR_XEON_PHI_FEATURE_CONFIG
381 /// Individual bit fields
385 /// [Bits 1:0] AES Configuration (RW-L) Upon a successful read of this
386 /// MSR, the configuration of AES instruction set availability is as
387 /// follows: 11b: AES instructions are not available until next RESET.
388 /// otherwise, AES instructions are available. Note, AES instruction set
389 /// is not available if read is unsuccessful. If the configuration is not
390 /// 01b, AES instruction can be mis-configured if a privileged agent
391 /// unintentionally writes 11b.
393 UINT32 AESConfiguration
: 2;
394 UINT32 Reserved1
: 30;
395 UINT32 Reserved2
: 32;
398 /// All bit fields as a 32-bit value
402 /// All bit fields as a 64-bit value
405 } MSR_XEON_PHI_FEATURE_CONFIG_REGISTER
;
408 Thread. MISC_FEATURE_ENABLES.
410 @param ECX MSR_XEON_PHI_MISC_FEATURE_ENABLES (0x00000140)
411 @param EAX Lower 32-bits of MSR value.
412 Described by the type MSR_XEON_PHI_MISC_FEATURE_ENABLES_REGISTER.
413 @param EDX Upper 32-bits of MSR value.
414 Described by the type MSR_XEON_PHI_MISC_FEATURE_ENABLES_REGISTER.
418 MSR_XEON_PHI_MISC_FEATURE_ENABLES_REGISTER Msr;
420 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_PHI_MISC_FEATURE_ENABLES);
421 AsmWriteMsr64 (MSR_XEON_PHI_MISC_FEATURE_ENABLES, Msr.Uint64);
424 #define MSR_XEON_PHI_MISC_FEATURE_ENABLES 0x00000140
427 MSR information returned for MSR index #MSR_XEON_PHI_MISC_FEATURE_ENABLES
431 /// Individual bit fields
434 UINT32 Reserved1
: 1;
436 /// [Bit 1] User Mode MONITOR and MWAIT (R/W) If set to 1, the MONITOR and
437 /// MWAIT instructions do not cause invalid-opcode exceptions when
438 /// executed with CPL > 0 or in virtual-8086 mode. If MWAIT is executed
439 /// when CPL > 0 or in virtual-8086 mode, and if EAX indicates a C-state
440 /// other than C0 or C1, the instruction operates as if EAX indicated the
443 UINT32 UserModeMonitorAndMwait
: 1;
444 UINT32 Reserved2
: 30;
445 UINT32 Reserved3
: 32;
448 /// All bit fields as a 32-bit value
452 /// All bit fields as a 64-bit value
455 } MSR_XEON_PHI_MISC_FEATURE_ENABLES_REGISTER
;
458 THREAD. Enhanced SMM Capabilities (SMM-RO) Reports SMM capability
459 Enhancement. Accessible only while in SMM.
461 @param ECX MSR_XEON_PHI_SMM_MCA_CAP (0x0000017D)
462 @param EAX Lower 32-bits of MSR value.
463 Described by the type MSR_XEON_PHI_SMM_MCA_CAP_REGISTER.
464 @param EDX Upper 32-bits of MSR value.
465 Described by the type MSR_XEON_PHI_SMM_MCA_CAP_REGISTER.
469 MSR_XEON_PHI_SMM_MCA_CAP_REGISTER Msr;
471 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_PHI_SMM_MCA_CAP);
472 AsmWriteMsr64 (MSR_XEON_PHI_SMM_MCA_CAP, Msr.Uint64);
474 @note MSR_XEON_PHI_SMM_MCA_CAP is defined as MSR_SMM_MCA_CAP in SDM.
476 #define MSR_XEON_PHI_SMM_MCA_CAP 0x0000017D
479 MSR information returned for MSR index #MSR_XEON_PHI_SMM_MCA_CAP
483 /// Individual bit fields
487 /// [Bits 31:0] Bank Support (SMM-RO) One bit per MCA bank. If the bit is
488 /// set, that bank supports Enhanced MCA (Default all 0; does not support
491 UINT32 BankSupport
: 32;
492 UINT32 Reserved4
: 24;
494 /// [Bit 56] Targeted SMI (SMM-RO) Set if targeted SMI is supported.
496 UINT32 TargetedSMI
: 1;
498 /// [Bit 57] SMM_CPU_SVRSTR (SMM-RO) Set if SMM SRAM save/restore feature
501 UINT32 SMM_CPU_SVRSTR
: 1;
503 /// [Bit 58] SMM_Code_Access_Chk (SMM-RO) If set to 1 indicates that the
504 /// SMM code access restriction is supported and a host-space interface
505 /// available to SMM handler.
507 UINT32 SMM_Code_Access_Chk
: 1;
509 /// [Bit 59] Long_Flow_Indication (SMM-RO) If set to 1 indicates that the
510 /// SMM long flow indicator is supported and a host-space interface
511 /// available to SMM handler.
513 UINT32 Long_Flow_Indication
: 1;
514 UINT32 Reserved3
: 4;
517 /// All bit fields as a 64-bit value
520 } MSR_XEON_PHI_SMM_MCA_CAP_REGISTER
;
523 Thread. Enable Misc. Processor Features (R/W) Allows a variety of processor
524 functions to be enabled and disabled.
526 @param ECX MSR_XEON_PHI_IA32_MISC_ENABLE (0x000001A0)
527 @param EAX Lower 32-bits of MSR value.
528 Described by the type MSR_XEON_PHI_IA32_MISC_ENABLE_REGISTER.
529 @param EDX Upper 32-bits of MSR value.
530 Described by the type MSR_XEON_PHI_IA32_MISC_ENABLE_REGISTER.
534 MSR_XEON_PHI_IA32_MISC_ENABLE_REGISTER Msr;
536 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_PHI_IA32_MISC_ENABLE);
537 AsmWriteMsr64 (MSR_XEON_PHI_IA32_MISC_ENABLE, Msr.Uint64);
539 @note MSR_XEON_PHI_IA32_MISC_ENABLE is defined as IA32_MISC_ENABLE in SDM.
541 #define MSR_XEON_PHI_IA32_MISC_ENABLE 0x000001A0
544 MSR information returned for MSR index #MSR_XEON_PHI_IA32_MISC_ENABLE
548 /// Individual bit fields
552 /// [Bit 0] Fast-Strings Enable.
554 UINT32 FastStrings
: 1;
555 UINT32 Reserved1
: 2;
557 /// [Bit 3] Automatic Thermal Control Circuit Enable (R/W) Default value
560 UINT32 AutomaticThermalControlCircuit
: 1;
561 UINT32 Reserved2
: 3;
563 /// [Bit 7] Performance Monitoring Available (R).
565 UINT32 PerformanceMonitoring
: 1;
566 UINT32 Reserved3
: 3;
568 /// [Bit 11] Branch Trace Storage Unavailable (RO).
572 /// [Bit 12] Processor Event Based Sampling Unavailable (RO).
575 UINT32 Reserved4
: 3;
577 /// [Bit 16] Enhanced Intel SpeedStep Technology Enable (R/W).
580 UINT32 Reserved5
: 1;
582 /// [Bit 18] ENABLE MONITOR FSM (R/W).
585 UINT32 Reserved6
: 3;
587 /// [Bit 22] Limit CPUID Maxval (R/W).
589 UINT32 LimitCpuidMaxval
: 1;
591 /// [Bit 23] xTPR Message Disable (R/W).
593 UINT32 xTPR_Message_Disable
: 1;
594 UINT32 Reserved7
: 8;
595 UINT32 Reserved8
: 2;
597 /// [Bit 34] XD Bit Disable (R/W).
600 UINT32 Reserved9
: 3;
602 /// [Bit 38] Turbo Mode Disable (R/W).
604 UINT32 TurboModeDisable
: 1;
605 UINT32 Reserved10
: 25;
608 /// All bit fields as a 64-bit value
611 } MSR_XEON_PHI_IA32_MISC_ENABLE_REGISTER
;
616 @param ECX MSR_XEON_PHI_TEMPERATURE_TARGET (0x000001A2)
617 @param EAX Lower 32-bits of MSR value.
618 Described by the type MSR_XEON_PHI_TEMPERATURE_TARGET_REGISTER.
619 @param EDX Upper 32-bits of MSR value.
620 Described by the type MSR_XEON_PHI_TEMPERATURE_TARGET_REGISTER.
624 MSR_XEON_PHI_TEMPERATURE_TARGET_REGISTER Msr;
626 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_PHI_TEMPERATURE_TARGET);
627 AsmWriteMsr64 (MSR_XEON_PHI_TEMPERATURE_TARGET, Msr.Uint64);
629 @note MSR_XEON_PHI_TEMPERATURE_TARGET is defined as MSR_TEMPERATURE_TARGET in SDM.
631 #define MSR_XEON_PHI_TEMPERATURE_TARGET 0x000001A2
634 MSR information returned for MSR index #MSR_XEON_PHI_TEMPERATURE_TARGET
638 /// Individual bit fields
641 UINT32 Reserved1
: 16;
643 /// [Bits 23:16] Temperature Target (R).
645 UINT32 TemperatureTarget
: 8;
647 /// [Bits 29:24] Target Offset (R/W).
649 UINT32 TargetOffset
: 6;
650 UINT32 Reserved2
: 2;
651 UINT32 Reserved3
: 32;
654 /// All bit fields as a 32-bit value
658 /// All bit fields as a 64-bit value
661 } MSR_XEON_PHI_TEMPERATURE_TARGET_REGISTER
;
664 Miscellaneous Feature Control (R/W).
666 @param ECX MSR_XEON_PHI_MISC_FEATURE_CONTROL (0x000001A4)
667 @param EAX Lower 32-bits of MSR value.
668 Described by the type MSR_XEON_PHI_MISC_FEATURE_CONTROL_REGISTER.
669 @param EDX Upper 32-bits of MSR value.
670 Described by the type MSR_XEON_PHI_MISC_FEATURE_CONTROL_REGISTER.
674 MSR_XEON_PHI_MISC_FEATURE_CONTROL_REGISTER Msr;
676 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_PHI_MISC_FEATURE_CONTROL);
677 AsmWriteMsr64 (MSR_XEON_PHI_MISC_FEATURE_CONTROL, Msr.Uint64);
679 @note MSR_XEON_PHI_MISC_FEATURE_CONTROL is defined as MSR_MISC_FEATURE_CONTROL in SDM.
681 #define MSR_XEON_PHI_MISC_FEATURE_CONTROL 0x000001A4
684 MSR information returned for MSR index #MSR_XEON_PHI_MISC_FEATURE_CONTROL
688 /// Individual bit fields
692 /// [Bit 0] Core. DCU Hardware Prefetcher Disable (R/W) If 1, disables the
693 /// L1 data cache prefetcher.
695 UINT32 DCUHardwarePrefetcherDisable
: 1;
697 /// [Bit 1] Core. L2 Hardware Prefetcher Disable (R/W) If 1, disables the
698 /// L2 hardware prefetcher.
700 UINT32 L2HardwarePrefetcherDisable
: 1;
701 UINT32 Reserved1
: 30;
702 UINT32 Reserved2
: 32;
705 /// All bit fields as a 32-bit value
709 /// All bit fields as a 64-bit value
712 } MSR_XEON_PHI_MISC_FEATURE_CONTROL_REGISTER
;
715 Shared. Offcore Response Event Select Register (R/W).
717 @param ECX MSR_XEON_PHI_OFFCORE_RSP_0 (0x000001A6)
718 @param EAX Lower 32-bits of MSR value.
719 @param EDX Upper 32-bits of MSR value.
725 Msr = AsmReadMsr64 (MSR_XEON_PHI_OFFCORE_RSP_0);
726 AsmWriteMsr64 (MSR_XEON_PHI_OFFCORE_RSP_0, Msr);
728 @note MSR_XEON_PHI_OFFCORE_RSP_0 is defined as MSR_OFFCORE_RSP_0 in SDM.
730 #define MSR_XEON_PHI_OFFCORE_RSP_0 0x000001A6
733 Shared. Offcore Response Event Select Register (R/W).
735 @param ECX MSR_XEON_PHI_OFFCORE_RSP_1 (0x000001A7)
736 @param EAX Lower 32-bits of MSR value.
737 @param EDX Upper 32-bits of MSR value.
743 Msr = AsmReadMsr64 (MSR_XEON_PHI_OFFCORE_RSP_1);
744 AsmWriteMsr64 (MSR_XEON_PHI_OFFCORE_RSP_1, Msr);
746 @note MSR_XEON_PHI_OFFCORE_RSP_1 is defined as MSR_OFFCORE_RSP_1 in SDM.
748 #define MSR_XEON_PHI_OFFCORE_RSP_1 0x000001A7
751 Package. Maximum Ratio Limit of Turbo Mode for Groups of Cores (RW).
753 @param ECX MSR_XEON_PHI_TURBO_RATIO_LIMIT (0x000001AD)
754 @param EAX Lower 32-bits of MSR value.
755 Described by the type MSR_XEON_PHI_TURBO_RATIO_LIMIT_REGISTER.
756 @param EDX Upper 32-bits of MSR value.
757 Described by the type MSR_XEON_PHI_TURBO_RATIO_LIMIT_REGISTER.
761 MSR_XEON_PHI_TURBO_RATIO_LIMIT_REGISTER Msr;
763 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_PHI_TURBO_RATIO_LIMIT);
764 AsmWriteMsr64 (MSR_XEON_PHI_TURBO_RATIO_LIMIT, Msr.Uint64);
766 @note MSR_XEON_PHI_TURBO_RATIO_LIMIT is defined as MSR_TURBO_RATIO_LIMIT in SDM.
768 #define MSR_XEON_PHI_TURBO_RATIO_LIMIT 0x000001AD
771 MSR information returned for MSR index #MSR_XEON_PHI_TURBO_RATIO_LIMIT
775 /// Individual bit fields
780 /// [Bits 7:1] Package. Maximum Number of Cores in Group 0 Number active
781 /// processor cores which operates under the maximum ratio limit for group
784 UINT32 MaxCoresGroup0
: 7;
786 /// [Bits 15:8] Package. Maximum Ratio Limit for Group 0 Maximum turbo
787 /// ratio limit when the number of active cores are not more than the
788 /// group 0 maximum core count.
790 UINT32 MaxRatioLimitGroup0
: 8;
792 /// [Bits 20:16] Package. Number of Incremental Cores Added to Group 1
793 /// Group 1, which includes the specified number of additional cores plus
794 /// the cores in group 0, operates under the group 1 turbo max ratio limit
795 /// = "group 0 Max ratio limit" - "group ratio delta for group 1".
797 UINT32 MaxIncrementalCoresGroup1
: 5;
799 /// [Bits 23:21] Package. Group Ratio Delta for Group 1 An unsigned
800 /// integer specifying the ratio decrement relative to the Max ratio limit
803 UINT32 DeltaRatioGroup1
: 3;
805 /// [Bits 28:24] Package. Number of Incremental Cores Added to Group 2
806 /// Group 2, which includes the specified number of additional cores plus
807 /// all the cores in group 1, operates under the group 2 turbo max ratio
808 /// limit = "group 1 Max ratio limit" - "group ratio delta for group 2".
810 UINT32 MaxIncrementalCoresGroup2
: 5;
812 /// [Bits 31:29] Package. Group Ratio Delta for Group 2 An unsigned
813 /// integer specifying the ratio decrement relative to the Max ratio limit
816 UINT32 DeltaRatioGroup2
: 3;
818 /// [Bits 36:32] Package. Number of Incremental Cores Added to Group 3
819 /// Group 3, which includes the specified number of additional cores plus
820 /// all the cores in group 2, operates under the group 3 turbo max ratio
821 /// limit = "group 2 Max ratio limit" - "group ratio delta for group 3".
823 UINT32 MaxIncrementalCoresGroup3
: 5;
825 /// [Bits 39:37] Package. Group Ratio Delta for Group 3 An unsigned
826 /// integer specifying the ratio decrement relative to the Max ratio limit
829 UINT32 DeltaRatioGroup3
: 3;
831 /// [Bits 44:40] Package. Number of Incremental Cores Added to Group 4
832 /// Group 4, which includes the specified number of additional cores plus
833 /// all the cores in group 3, operates under the group 4 turbo max ratio
834 /// limit = "group 3 Max ratio limit" - "group ratio delta for group 4".
836 UINT32 MaxIncrementalCoresGroup4
: 5;
838 /// [Bits 47:45] Package. Group Ratio Delta for Group 4 An unsigned
839 /// integer specifying the ratio decrement relative to the Max ratio limit
842 UINT32 DeltaRatioGroup4
: 3;
844 /// [Bits 52:48] Package. Number of Incremental Cores Added to Group 5
845 /// Group 5, which includes the specified number of additional cores plus
846 /// all the cores in group 4, operates under the group 5 turbo max ratio
847 /// limit = "group 4 Max ratio limit" - "group ratio delta for group 5".
849 UINT32 MaxIncrementalCoresGroup5
: 5;
851 /// [Bits 55:53] Package. Group Ratio Delta for Group 5 An unsigned
852 /// integer specifying the ratio decrement relative to the Max ratio limit
855 UINT32 DeltaRatioGroup5
: 3;
857 /// [Bits 60:56] Package. Number of Incremental Cores Added to Group 6
858 /// Group 6, which includes the specified number of additional cores plus
859 /// all the cores in group 5, operates under the group 6 turbo max ratio
860 /// limit = "group 5 Max ratio limit" - "group ratio delta for group 6".
862 UINT32 MaxIncrementalCoresGroup6
: 5;
864 /// [Bits 63:61] Package. Group Ratio Delta for Group 6 An unsigned
865 /// integer specifying the ratio decrement relative to the Max ratio limit
868 UINT32 DeltaRatioGroup6
: 3;
871 /// All bit fields as a 64-bit value
874 } MSR_XEON_PHI_TURBO_RATIO_LIMIT_REGISTER
;
877 Thread. Last Branch Record Filtering Select Register (R/W).
879 @param ECX MSR_XEON_PHI_LBR_SELECT (0x000001C8)
880 @param EAX Lower 32-bits of MSR value.
881 @param EDX Upper 32-bits of MSR value.
887 Msr = AsmReadMsr64 (MSR_XEON_PHI_LBR_SELECT);
888 AsmWriteMsr64 (MSR_XEON_PHI_LBR_SELECT, Msr);
890 @note MSR_XEON_PHI_LBR_SELECT is defined as MSR_LBR_SELECT in SDM.
892 #define MSR_XEON_PHI_LBR_SELECT 0x000001C8
895 MSR information returned for MSR index #MSR_XEON_PHI_LBR_SELECT
899 /// Individual bit fields
903 /// [Bit 0] CPL_EQ_0.
907 /// [Bit 1] CPL_NEQ_0.
909 UINT32 CPL_NEQ_0
: 1;
915 /// [Bit 3] NEAR_REL_CALL.
917 UINT32 NEAR_REL_CALL
: 1;
919 /// [Bit 4] NEAR_IND_CALL.
921 UINT32 NEAR_IND_CALL
: 1;
923 /// [Bit 5] NEAR_RET.
927 /// [Bit 6] NEAR_IND_JMP.
929 UINT32 NEAR_IND_JMP
: 1;
931 /// [Bit 7] NEAR_REL_JMP.
933 UINT32 NEAR_REL_JMP
: 1;
935 /// [Bit 8] FAR_BRANCH.
937 UINT32 FAR_BRANCH
: 1;
938 UINT32 Reserved1
: 23;
939 UINT32 Reserved2
: 32;
942 /// All bit fields as a 32-bit value
946 /// All bit fields as a 64-bit value
949 } MSR_XEON_PHI_LBR_SELECT_REGISTER
;
952 Thread. Last Branch Record Stack TOS (R/W).
954 @param ECX MSR_XEON_PHI_LASTBRANCH_TOS (0x000001C9)
955 @param EAX Lower 32-bits of MSR value.
956 @param EDX Upper 32-bits of MSR value.
962 Msr = AsmReadMsr64 (MSR_XEON_PHI_LASTBRANCH_TOS);
963 AsmWriteMsr64 (MSR_XEON_PHI_LASTBRANCH_TOS, Msr);
965 @note MSR_XEON_PHI_LASTBRANCH_TOS is defined as MSR_LASTBRANCH_TOS in SDM.
967 #define MSR_XEON_PHI_LASTBRANCH_TOS 0x000001C9
970 Thread. Last Exception Record From Linear IP (R).
972 @param ECX MSR_XEON_PHI_LER_FROM_LIP (0x000001DD)
973 @param EAX Lower 32-bits of MSR value.
974 @param EDX Upper 32-bits of MSR value.
980 Msr = AsmReadMsr64 (MSR_XEON_PHI_LER_FROM_LIP);
982 @note MSR_XEON_PHI_LER_FROM_LIP is defined as MSR_LER_FROM_LIP in SDM.
984 #define MSR_XEON_PHI_LER_FROM_LIP 0x000001DD
987 Thread. Last Exception Record To Linear IP (R).
989 @param ECX MSR_XEON_PHI_LER_TO_LIP (0x000001DE)
990 @param EAX Lower 32-bits of MSR value.
991 @param EDX Upper 32-bits of MSR value.
997 Msr = AsmReadMsr64 (MSR_XEON_PHI_LER_TO_LIP);
999 @note MSR_XEON_PHI_LER_TO_LIP is defined as MSR_LER_TO_LIP in SDM.
1001 #define MSR_XEON_PHI_LER_TO_LIP 0x000001DE
1004 Thread. See Table 2-2.
1006 @param ECX MSR_XEON_PHI_PEBS_ENABLE (0x000003F1)
1007 @param EAX Lower 32-bits of MSR value.
1008 @param EDX Upper 32-bits of MSR value.
1010 <b>Example usage</b>
1014 Msr = AsmReadMsr64 (MSR_XEON_PHI_PEBS_ENABLE);
1015 AsmWriteMsr64 (MSR_XEON_PHI_PEBS_ENABLE, Msr);
1017 @note MSR_XEON_PHI_PEBS_ENABLE is defined as MSR_PEBS_ENABLE in SDM.
1019 #define MSR_XEON_PHI_PEBS_ENABLE 0x000003F1
1022 Package. Note: C-state values are processor specific C-state code names,
1023 unrelated to MWAIT extension C-state parameters or ACPI C-States. Package C3
1024 Residency Counter. (R/O).
1026 @param ECX MSR_XEON_PHI_PKG_C3_RESIDENCY (0x000003F8)
1027 @param EAX Lower 32-bits of MSR value.
1028 @param EDX Upper 32-bits of MSR value.
1030 <b>Example usage</b>
1034 Msr = AsmReadMsr64 (MSR_XEON_PHI_PKG_C3_RESIDENCY);
1035 AsmWriteMsr64 (MSR_XEON_PHI_PKG_C3_RESIDENCY, Msr);
1037 @note MSR_XEON_PHI_PKG_C3_RESIDENCY is defined as MSR_PKG_C3_RESIDENCY in SDM.
1039 #define MSR_XEON_PHI_PKG_C3_RESIDENCY 0x000003F8
1042 Package. Package C6 Residency Counter. (R/O).
1044 @param ECX MSR_XEON_PHI_PKG_C6_RESIDENCY (0x000003F9)
1045 @param EAX Lower 32-bits of MSR value.
1046 @param EDX Upper 32-bits of MSR value.
1048 <b>Example usage</b>
1052 Msr = AsmReadMsr64 (MSR_XEON_PHI_PKG_C6_RESIDENCY);
1053 AsmWriteMsr64 (MSR_XEON_PHI_PKG_C6_RESIDENCY, Msr);
1055 @note MSR_XEON_PHI_PKG_C6_RESIDENCY is defined as MSR_PKG_C6_RESIDENCY in SDM.
1057 #define MSR_XEON_PHI_PKG_C6_RESIDENCY 0x000003F9
1060 Package. Package C7 Residency Counter. (R/O).
1062 @param ECX MSR_XEON_PHI_PKG_C7_RESIDENCY (0x000003FA)
1063 @param EAX Lower 32-bits of MSR value.
1064 @param EDX Upper 32-bits of MSR value.
1066 <b>Example usage</b>
1070 Msr = AsmReadMsr64 (MSR_XEON_PHI_PKG_C7_RESIDENCY);
1071 AsmWriteMsr64 (MSR_XEON_PHI_PKG_C7_RESIDENCY, Msr);
1073 @note MSR_XEON_PHI_PKG_C7_RESIDENCY is defined as MSR_PKG_C7_RESIDENCY in SDM.
1075 #define MSR_XEON_PHI_PKG_C7_RESIDENCY 0x000003FA
1078 Module. Note: C-state values are processor specific C-state code names,
1079 unrelated to MWAIT extension C-state parameters or ACPI C-States. Module C0
1080 Residency Counter. (R/O).
1082 @param ECX MSR_XEON_PHI_MC0_RESIDENCY (0x000003FC)
1083 @param EAX Lower 32-bits of MSR value.
1084 @param EDX Upper 32-bits of MSR value.
1086 <b>Example usage</b>
1090 Msr = AsmReadMsr64 (MSR_XEON_PHI_MC0_RESIDENCY);
1091 AsmWriteMsr64 (MSR_XEON_PHI_MC0_RESIDENCY, Msr);
1093 @note MSR_XEON_PHI_MC0_RESIDENCY is defined as MSR_MC0_RESIDENCY in SDM.
1095 #define MSR_XEON_PHI_MC0_RESIDENCY 0x000003FC
1098 Module. Module C6 Residency Counter. (R/O).
1100 @param ECX MSR_XEON_PHI_MC6_RESIDENCY (0x000003FD)
1101 @param EAX Lower 32-bits of MSR value.
1102 @param EDX Upper 32-bits of MSR value.
1104 <b>Example usage</b>
1108 Msr = AsmReadMsr64 (MSR_XEON_PHI_MC6_RESIDENCY);
1109 AsmWriteMsr64 (MSR_XEON_PHI_MC6_RESIDENCY, Msr);
1111 @note MSR_XEON_PHI_MC6_RESIDENCY is defined as MSR_MC6_RESIDENCY in SDM.
1113 #define MSR_XEON_PHI_MC6_RESIDENCY 0x000003FD
1116 Core. Note: C-state values are processor specific C-state code names,
1117 unrelated to MWAIT extension C-state parameters or ACPI C-States. CORE C6
1118 Residency Counter. (R/O).
1120 @param ECX MSR_XEON_PHI_CORE_C6_RESIDENCY (0x000003FF)
1121 @param EAX Lower 32-bits of MSR value.
1122 @param EDX Upper 32-bits of MSR value.
1124 <b>Example usage</b>
1128 Msr = AsmReadMsr64 (MSR_XEON_PHI_CORE_C6_RESIDENCY);
1129 AsmWriteMsr64 (MSR_XEON_PHI_CORE_C6_RESIDENCY, Msr);
1131 @note MSR_XEON_PHI_CORE_C6_RESIDENCY is defined as MSR_CORE_C6_RESIDENCY in SDM.
1133 #define MSR_XEON_PHI_CORE_C6_RESIDENCY 0x000003FF
1136 Core. Capability Reporting Register of EPT and VPID (R/O) See Table 2-2.
1138 @param ECX MSR_XEON_PHI_IA32_VMX_EPT_VPID_ENUM (0x0000048C)
1139 @param EAX Lower 32-bits of MSR value.
1140 @param EDX Upper 32-bits of MSR value.
1142 <b>Example usage</b>
1146 Msr = AsmReadMsr64 (MSR_XEON_PHI_IA32_VMX_EPT_VPID_ENUM);
1148 @note MSR_XEON_PHI_IA32_VMX_EPT_VPID_ENUM is defined as IA32_VMX_EPT_VPID_ENUM in SDM.
1150 #define MSR_XEON_PHI_IA32_VMX_EPT_VPID_ENUM 0x0000048C
1153 Core. Capability Reporting Register of VM-Function Controls (R/O) See Table
1156 @param ECX MSR_XEON_PHI_IA32_VMX_FMFUNC (0x00000491)
1157 @param EAX Lower 32-bits of MSR value.
1158 @param EDX Upper 32-bits of MSR value.
1160 <b>Example usage</b>
1164 Msr = AsmReadMsr64 (MSR_XEON_PHI_IA32_VMX_FMFUNC);
1166 @note MSR_XEON_PHI_IA32_VMX_FMFUNC is defined as IA32_VMX_FMFUNC in SDM.
1168 #define MSR_XEON_PHI_IA32_VMX_FMFUNC 0x00000491
1171 Package. Unit Multipliers used in RAPL Interfaces (R/O).
1173 @param ECX MSR_XEON_PHI_RAPL_POWER_UNIT (0x00000606)
1174 @param EAX Lower 32-bits of MSR value.
1175 Described by the type MSR_XEON_PHI_RAPL_POWER_UNIT_REGISTER.
1176 @param EDX Upper 32-bits of MSR value.
1177 Described by the type MSR_XEON_PHI_RAPL_POWER_UNIT_REGISTER.
1179 <b>Example usage</b>
1181 MSR_XEON_PHI_RAPL_POWER_UNIT_REGISTER Msr;
1183 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_PHI_RAPL_POWER_UNIT);
1185 @note MSR_XEON_PHI_RAPL_POWER_UNIT is defined as MSR_RAPL_POWER_UNIT in SDM.
1187 #define MSR_XEON_PHI_RAPL_POWER_UNIT 0x00000606
1190 MSR information returned for MSR index #MSR_XEON_PHI_RAPL_POWER_UNIT
1194 /// Individual bit fields
1198 /// [Bits 3:0] Package. Power Units See Section 14.9.1, "RAPL Interfaces.".
1200 UINT32 PowerUnits
: 4;
1201 UINT32 Reserved1
: 4;
1203 /// [Bits 12:8] Package. Energy Status Units Energy related information
1204 /// (in Joules) is based on the multiplier, 1/2^ESU; where ESU is an
1205 /// unsigned integer represented by bits 12:8. Default value is 0EH (or 61
1208 UINT32 EnergyStatusUnits
: 5;
1209 UINT32 Reserved2
: 3;
1211 /// [Bits 19:16] Package. Time Units See Section 14.9.1, "RAPL
1214 UINT32 TimeUnits
: 4;
1215 UINT32 Reserved3
: 12;
1216 UINT32 Reserved4
: 32;
1219 /// All bit fields as a 32-bit value
1223 /// All bit fields as a 64-bit value
1226 } MSR_XEON_PHI_RAPL_POWER_UNIT_REGISTER
;
1229 Package. Note: C-state values are processor specific C-state code names,
1230 unrelated to MWAIT extension C-state parameters or ACPI C-States. Package C2
1231 Residency Counter. (R/O).
1233 @param ECX MSR_XEON_PHI_PKG_C2_RESIDENCY (0x0000060D)
1234 @param EAX Lower 32-bits of MSR value.
1235 @param EDX Upper 32-bits of MSR value.
1237 <b>Example usage</b>
1241 Msr = AsmReadMsr64 (MSR_XEON_PHI_PKG_C2_RESIDENCY);
1242 AsmWriteMsr64 (MSR_XEON_PHI_PKG_C2_RESIDENCY, Msr);
1244 @note MSR_XEON_PHI_PKG_C2_RESIDENCY is defined as MSR_PKG_C2_RESIDENCY in SDM.
1246 #define MSR_XEON_PHI_PKG_C2_RESIDENCY 0x0000060D
1249 Package. PKG RAPL Power Limit Control (R/W) See Section 14.9.3, "Package
1252 @param ECX MSR_XEON_PHI_PKG_POWER_LIMIT (0x00000610)
1253 @param EAX Lower 32-bits of MSR value.
1254 @param EDX Upper 32-bits of MSR value.
1256 <b>Example usage</b>
1260 Msr = AsmReadMsr64 (MSR_XEON_PHI_PKG_POWER_LIMIT);
1261 AsmWriteMsr64 (MSR_XEON_PHI_PKG_POWER_LIMIT, Msr);
1263 @note MSR_XEON_PHI_PKG_POWER_LIMIT is defined as MSR_PKG_POWER_LIMIT in SDM.
1265 #define MSR_XEON_PHI_PKG_POWER_LIMIT 0x00000610
1268 Package. PKG Energy Status (R/O) See Section 14.9.3, "Package RAPL Domain.".
1270 @param ECX MSR_XEON_PHI_PKG_ENERGY_STATUS (0x00000611)
1271 @param EAX Lower 32-bits of MSR value.
1272 @param EDX Upper 32-bits of MSR value.
1274 <b>Example usage</b>
1278 Msr = AsmReadMsr64 (MSR_XEON_PHI_PKG_ENERGY_STATUS);
1280 @note MSR_XEON_PHI_PKG_ENERGY_STATUS is defined as MSR_PKG_ENERGY_STATUS in SDM.
1282 #define MSR_XEON_PHI_PKG_ENERGY_STATUS 0x00000611
1285 Package. PKG Perf Status (R/O) See Section 14.9.3, "Package RAPL Domain.".
1287 @param ECX MSR_XEON_PHI_PKG_PERF_STATUS (0x00000613)
1288 @param EAX Lower 32-bits of MSR value.
1289 @param EDX Upper 32-bits of MSR value.
1291 <b>Example usage</b>
1295 Msr = AsmReadMsr64 (MSR_XEON_PHI_PKG_PERF_STATUS);
1297 @note MSR_XEON_PHI_PKG_PERF_STATUS is defined as MSR_PKG_PERF_STATUS in SDM.
1299 #define MSR_XEON_PHI_PKG_PERF_STATUS 0x00000613
1302 Package. PKG RAPL Parameters (R/W) See Section 14.9.3, "Package RAPL
1305 @param ECX MSR_XEON_PHI_PKG_POWER_INFO (0x00000614)
1306 @param EAX Lower 32-bits of MSR value.
1307 @param EDX Upper 32-bits of MSR value.
1309 <b>Example usage</b>
1313 Msr = AsmReadMsr64 (MSR_XEON_PHI_PKG_POWER_INFO);
1314 AsmWriteMsr64 (MSR_XEON_PHI_PKG_POWER_INFO, Msr);
1316 @note MSR_XEON_PHI_PKG_POWER_INFO is defined as MSR_PKG_POWER_INFO in SDM.
1318 #define MSR_XEON_PHI_PKG_POWER_INFO 0x00000614
1321 Package. DRAM RAPL Power Limit Control (R/W) See Section 14.9.5, "DRAM RAPL
1324 @param ECX MSR_XEON_PHI_DRAM_POWER_LIMIT (0x00000618)
1325 @param EAX Lower 32-bits of MSR value.
1326 @param EDX Upper 32-bits of MSR value.
1328 <b>Example usage</b>
1332 Msr = AsmReadMsr64 (MSR_XEON_PHI_DRAM_POWER_LIMIT);
1333 AsmWriteMsr64 (MSR_XEON_PHI_DRAM_POWER_LIMIT, Msr);
1335 @note MSR_XEON_PHI_DRAM_POWER_LIMIT is defined as MSR_DRAM_POWER_LIMIT in SDM.
1337 #define MSR_XEON_PHI_DRAM_POWER_LIMIT 0x00000618
1340 Package. DRAM Energy Status (R/O) See Section 14.9.5, "DRAM RAPL Domain.".
1342 @param ECX MSR_XEON_PHI_DRAM_ENERGY_STATUS (0x00000619)
1343 @param EAX Lower 32-bits of MSR value.
1344 @param EDX Upper 32-bits of MSR value.
1346 <b>Example usage</b>
1350 Msr = AsmReadMsr64 (MSR_XEON_PHI_DRAM_ENERGY_STATUS);
1352 @note MSR_XEON_PHI_DRAM_ENERGY_STATUS is defined as MSR_DRAM_ENERGY_STATUS in SDM.
1354 #define MSR_XEON_PHI_DRAM_ENERGY_STATUS 0x00000619
1357 Package. DRAM Performance Throttling Status (R/O) See Section 14.9.5, "DRAM
1360 @param ECX MSR_XEON_PHI_DRAM_PERF_STATUS (0x0000061B)
1361 @param EAX Lower 32-bits of MSR value.
1362 @param EDX Upper 32-bits of MSR value.
1364 <b>Example usage</b>
1368 Msr = AsmReadMsr64 (MSR_XEON_PHI_DRAM_PERF_STATUS);
1370 @note MSR_XEON_PHI_DRAM_PERF_STATUS is defined as MSR_DRAM_PERF_STATUS in SDM.
1372 #define MSR_XEON_PHI_DRAM_PERF_STATUS 0x0000061B
1375 Package. DRAM RAPL Parameters (R/W) See Section 14.9.5, "DRAM RAPL Domain.".
1377 @param ECX MSR_XEON_PHI_DRAM_POWER_INFO (0x0000061C)
1378 @param EAX Lower 32-bits of MSR value.
1379 @param EDX Upper 32-bits of MSR value.
1381 <b>Example usage</b>
1385 Msr = AsmReadMsr64 (MSR_XEON_PHI_DRAM_POWER_INFO);
1386 AsmWriteMsr64 (MSR_XEON_PHI_DRAM_POWER_INFO, Msr);
1388 @note MSR_XEON_PHI_DRAM_POWER_INFO is defined as MSR_DRAM_POWER_INFO in SDM.
1390 #define MSR_XEON_PHI_DRAM_POWER_INFO 0x0000061C
1393 Package. Uncore Ratio Limit (R/W) Out of reset, the min_ratio and max_ratio
1394 fields represent the widest possible range of uncore frequencies. Writing to
1395 these fields allows software to control the minimum and the maximum
1396 frequency that hardware will select.
1398 @param ECX MSR_XEON_PHI_MSRUNCORE_RATIO_LIMIT (0x00000620)
1399 @param EAX Lower 32-bits of MSR value.
1400 Described by the type MSR_XEON_PHI_MSRUNCORE_RATIO_LIMIT_REGISTER.
1401 @param EDX Upper 32-bits of MSR value.
1402 Described by the type MSR_XEON_PHI_MSRUNCORE_RATIO_LIMIT_REGISTER.
1404 <b>Example usage</b>
1406 MSR_XEON_PHI_MSRUNCORE_RATIO_LIMIT_REGISTER Msr;
1408 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_PHI_MSRUNCORE_RATIO_LIMIT);
1409 AsmWriteMsr64 (MSR_XEON_PHI_MSRUNCORE_RATIO_LIMIT, Msr.Uint64);
1412 #define MSR_XEON_PHI_MSRUNCORE_RATIO_LIMIT 0x00000620
1415 MSR information returned for MSR index #MSR_XEON_PHI_MSRUNCORE_RATIO_LIMIT
1419 /// Individual bit fields
1423 /// [Bits 6:0] MAX_RATIO This field is used to limit the max ratio of the
1426 UINT32 MAX_RATIO
: 7;
1427 UINT32 Reserved1
: 1;
1429 /// [Bits 14:8] MIN_RATIO Writing to this field controls the minimum
1430 /// possible ratio of the LLC/Ring.
1432 UINT32 MIN_RATIO
: 7;
1433 UINT32 Reserved2
: 17;
1434 UINT32 Reserved3
: 32;
1437 /// All bit fields as a 32-bit value
1441 /// All bit fields as a 64-bit value
1444 } MSR_XEON_PHI_MSRUNCORE_RATIO_LIMIT_REGISTER
;
1447 Package. PP0 RAPL Power Limit Control (R/W) See Section 14.9.4, "PP0/PP1
1450 @param ECX MSR_XEON_PHI_PP0_POWER_LIMIT (0x00000638)
1451 @param EAX Lower 32-bits of MSR value.
1452 @param EDX Upper 32-bits of MSR value.
1454 <b>Example usage</b>
1458 Msr = AsmReadMsr64 (MSR_XEON_PHI_PP0_POWER_LIMIT);
1459 AsmWriteMsr64 (MSR_XEON_PHI_PP0_POWER_LIMIT, Msr);
1461 @note MSR_XEON_PHI_PP0_POWER_LIMIT is defined as MSR_PP0_POWER_LIMIT in SDM.
1463 #define MSR_XEON_PHI_PP0_POWER_LIMIT 0x00000638
1466 Package. PP0 Energy Status (R/O) See Section 14.9.4, "PP0/PP1 RAPL
1469 @param ECX MSR_XEON_PHI_PP0_ENERGY_STATUS (0x00000639)
1470 @param EAX Lower 32-bits of MSR value.
1471 @param EDX Upper 32-bits of MSR value.
1473 <b>Example usage</b>
1477 Msr = AsmReadMsr64 (MSR_XEON_PHI_PP0_ENERGY_STATUS);
1479 @note MSR_XEON_PHI_PP0_ENERGY_STATUS is defined as MSR_PP0_ENERGY_STATUS in SDM.
1481 #define MSR_XEON_PHI_PP0_ENERGY_STATUS 0x00000639
1484 Package. Base TDP Ratio (R/O) See Table 2-24.
1486 @param ECX MSR_XEON_PHI_CONFIG_TDP_NOMINAL (0x00000648)
1487 @param EAX Lower 32-bits of MSR value.
1488 @param EDX Upper 32-bits of MSR value.
1490 <b>Example usage</b>
1494 Msr = AsmReadMsr64 (MSR_XEON_PHI_CONFIG_TDP_NOMINAL);
1496 @note MSR_XEON_PHI_CONFIG_TDP_NOMINAL is defined as MSR_CONFIG_TDP_NOMINAL in SDM.
1498 #define MSR_XEON_PHI_CONFIG_TDP_NOMINAL 0x00000648
1501 Package. ConfigTDP Level 1 ratio and power level (R/O) See Table 2-24.
1503 @param ECX MSR_XEON_PHI_CONFIG_TDP_LEVEL1 (0x00000649)
1504 @param EAX Lower 32-bits of MSR value.
1505 @param EDX Upper 32-bits of MSR value.
1507 <b>Example usage</b>
1511 Msr = AsmReadMsr64 (MSR_XEON_PHI_CONFIG_TDP_LEVEL1);
1513 @note MSR_XEON_PHI_CONFIG_TDP_LEVEL1 is defined as MSR_CONFIG_TDP_LEVEL1 in SDM.
1515 #define MSR_XEON_PHI_CONFIG_TDP_LEVEL1 0x00000649
1518 Package. ConfigTDP Level 2 ratio and power level (R/O) See Table 2-24.
1520 @param ECX MSR_XEON_PHI_CONFIG_TDP_LEVEL2 (0x0000064A)
1521 @param EAX Lower 32-bits of MSR value.
1522 @param EDX Upper 32-bits of MSR value.
1524 <b>Example usage</b>
1528 Msr = AsmReadMsr64 (MSR_XEON_PHI_CONFIG_TDP_LEVEL2);
1530 @note MSR_XEON_PHI_CONFIG_TDP_LEVEL2 is defined as MSR_CONFIG_TDP_LEVEL2 in SDM.
1532 #define MSR_XEON_PHI_CONFIG_TDP_LEVEL2 0x0000064A
1535 Package. ConfigTDP Control (R/W) See Table 2-24.
1537 @param ECX MSR_XEON_PHI_CONFIG_TDP_CONTROL (0x0000064B)
1538 @param EAX Lower 32-bits of MSR value.
1539 @param EDX Upper 32-bits of MSR value.
1541 <b>Example usage</b>
1545 Msr = AsmReadMsr64 (MSR_XEON_PHI_CONFIG_TDP_CONTROL);
1546 AsmWriteMsr64 (MSR_XEON_PHI_CONFIG_TDP_CONTROL, Msr);
1548 @note MSR_XEON_PHI_CONFIG_TDP_CONTROL is defined as MSR_CONFIG_TDP_CONTROL in SDM.
1550 #define MSR_XEON_PHI_CONFIG_TDP_CONTROL 0x0000064B
1553 Package. ConfigTDP Control (R/W) See Table 2-24.
1555 @param ECX MSR_XEON_PHI_TURBO_ACTIVATION_RATIO (0x0000064C)
1556 @param EAX Lower 32-bits of MSR value.
1557 @param EDX Upper 32-bits of MSR value.
1559 <b>Example usage</b>
1563 Msr = AsmReadMsr64 (MSR_XEON_PHI_TURBO_ACTIVATION_RATIO);
1564 AsmWriteMsr64 (MSR_XEON_PHI_TURBO_ACTIVATION_RATIO, Msr);
1566 @note MSR_XEON_PHI_TURBO_ACTIVATION_RATIO is defined as MSR_TURBO_ACTIVATION_RATIO in SDM.
1568 #define MSR_XEON_PHI_TURBO_ACTIVATION_RATIO 0x0000064C
1571 Package. Indicator of Frequency Clipping in Processor Cores (R/W) (frequency
1572 refers to processor core frequency).
1574 @param ECX MSR_XEON_PHI_CORE_PERF_LIMIT_REASONS (0x00000690)
1575 @param EAX Lower 32-bits of MSR value.
1576 Described by the type MSR_XEON_PHI_CORE_PERF_LIMIT_REASONS_REGISTER.
1577 @param EDX Upper 32-bits of MSR value.
1578 Described by the type MSR_XEON_PHI_CORE_PERF_LIMIT_REASONS_REGISTER.
1580 <b>Example usage</b>
1582 MSR_XEON_PHI_CORE_PERF_LIMIT_REASONS_REGISTER Msr;
1584 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_PHI_CORE_PERF_LIMIT_REASONS);
1585 AsmWriteMsr64 (MSR_XEON_PHI_CORE_PERF_LIMIT_REASONS, Msr.Uint64);
1587 @note MSR_XEON_PHI_CORE_PERF_LIMIT_REASONS is defined as MSR_CORE_PERF_LIMIT_REASONS in SDM.
1589 #define MSR_XEON_PHI_CORE_PERF_LIMIT_REASONS 0x00000690
1592 MSR information returned for MSR index #MSR_XEON_PHI_CORE_PERF_LIMIT_REASONS
1596 /// Individual bit fields
1600 /// [Bit 0] PROCHOT Status (R0).
1602 UINT32 PROCHOT_Status
: 1;
1604 /// [Bit 1] Thermal Status (R0).
1606 UINT32 ThermalStatus
: 1;
1607 UINT32 Reserved1
: 4;
1609 /// [Bit 6] VR Therm Alert Status (R0).
1611 UINT32 VRThermAlertStatus
: 1;
1612 UINT32 Reserved2
: 1;
1614 /// [Bit 8] Electrical Design Point Status (R0).
1616 UINT32 ElectricalDesignPointStatus
: 1;
1617 UINT32 Reserved3
: 23;
1618 UINT32 Reserved4
: 32;
1621 /// All bit fields as a 32-bit value
1625 /// All bit fields as a 64-bit value
1628 } MSR_XEON_PHI_CORE_PERF_LIMIT_REASONS_REGISTER
;