2 MSR Definitions for Intel(R) Xeon(R) Processor D product 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, Intel Corporation. All rights reserved.<BR>
10 This program and the accompanying materials
11 are licensed and made available under the terms and conditions of the BSD License
12 which accompanies this distribution. The full text of the license may be found at
13 http://opensource.org/licenses/bsd-license.php
15 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
16 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 @par Specification Reference:
19 Intel(R) 64 and IA-32 Architectures Software Developer's Manual, Volume 3,
20 December 2015, Chapter 35 Model-Specific-Registers (MSR), Section 35-13.
24 #ifndef __XEON_D_MSR_H__
25 #define __XEON_D_MSR_H__
27 #include <Register/ArchitecturalMsr.h>
30 Package. Protected Processor Inventory Number Enable Control (R/W).
32 @param ECX MSR_XEON_D_PPIN_CTL (0x0000004E)
33 @param EAX Lower 32-bits of MSR value.
34 Described by the type MSR_XEON_D_PPIN_CTL_REGISTER.
35 @param EDX Upper 32-bits of MSR value.
36 Described by the type MSR_XEON_D_PPIN_CTL_REGISTER.
40 MSR_XEON_D_PPIN_CTL_REGISTER Msr;
42 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_D_PPIN_CTL);
43 AsmWriteMsr64 (MSR_XEON_D_PPIN_CTL, Msr.Uint64);
45 @note MSR_XEON_D_PPIN_CTL is defined as MSR_PPIN_CTL in SDM.
47 #define MSR_XEON_D_PPIN_CTL 0x0000004E
50 MSR information returned for MSR index #MSR_XEON_D_PPIN_CTL
54 /// Individual bit fields
58 /// [Bit 0] LockOut (R/WO) See Table 35-21.
62 /// [Bit 1] Enable_PPIN (R/W) See Table 35-21.
69 /// All bit fields as a 32-bit value
73 /// All bit fields as a 64-bit value
76 } MSR_XEON_D_PPIN_CTL_REGISTER
;
80 Package. Protected Processor Inventory Number (R/O). Protected Processor
81 Inventory Number (R/O) See Table 35-21.
83 @param ECX MSR_XEON_D_PPIN (0x0000004F)
84 @param EAX Lower 32-bits of MSR value.
85 @param EDX Upper 32-bits of MSR value.
91 Msr = AsmReadMsr64 (MSR_XEON_D_PPIN);
93 @note MSR_XEON_D_PPIN is defined as MSR_PPIN in SDM.
95 #define MSR_XEON_D_PPIN 0x0000004F
99 Package. See http://biosbits.org.
101 @param ECX MSR_XEON_D_PLATFORM_INFO (0x000000CE)
102 @param EAX Lower 32-bits of MSR value.
103 Described by the type MSR_XEON_D_PLATFORM_INFO_REGISTER.
104 @param EDX Upper 32-bits of MSR value.
105 Described by the type MSR_XEON_D_PLATFORM_INFO_REGISTER.
109 MSR_XEON_D_PLATFORM_INFO_REGISTER Msr;
111 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_D_PLATFORM_INFO);
112 AsmWriteMsr64 (MSR_XEON_D_PLATFORM_INFO, Msr.Uint64);
114 @note MSR_XEON_D_PLATFORM_INFO is defined as MSR_PLATFORM_INFO in SDM.
116 #define MSR_XEON_D_PLATFORM_INFO 0x000000CE
119 MSR information returned for MSR index #MSR_XEON_D_PLATFORM_INFO
123 /// Individual bit fields
128 /// [Bits 15:8] Package. Maximum Non-Turbo Ratio (R/O) See Table 35-21.
130 UINT32 MaximumNonTurboRatio
:8;
133 /// [Bit 23] Package. PPIN_CAP (R/O) See Table 35-21.
138 /// [Bit 28] Package. Programmable Ratio Limit for Turbo Mode (R/O) See
143 /// [Bit 29] Package. Programmable TDP Limit for Turbo Mode (R/O) See
148 /// [Bit 30] Package. Programmable TJ OFFSET (R/O) See Table 35-21.
154 /// [Bits 47:40] Package. Maximum Efficiency Ratio (R/O) See Table 35-21.
156 UINT32 MaximumEfficiencyRatio
:8;
160 /// All bit fields as a 64-bit value
163 } MSR_XEON_D_PLATFORM_INFO_REGISTER
;
167 Core. C-State Configuration Control (R/W) Note: C-state values are processor
168 specific C-state code names, unrelated to MWAIT extension C-state parameters
169 or ACPI C-states. `See http://biosbits.org. <http://biosbits.org>`__.
171 @param ECX MSR_XEON_D_PKG_CST_CONFIG_CONTROL (0x000000E2)
172 @param EAX Lower 32-bits of MSR value.
173 Described by the type MSR_XEON_D_PKG_CST_CONFIG_CONTROL_REGISTER.
174 @param EDX Upper 32-bits of MSR value.
175 Described by the type MSR_XEON_D_PKG_CST_CONFIG_CONTROL_REGISTER.
179 MSR_XEON_D_PKG_CST_CONFIG_CONTROL_REGISTER Msr;
181 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_D_PKG_CST_CONFIG_CONTROL);
182 AsmWriteMsr64 (MSR_XEON_D_PKG_CST_CONFIG_CONTROL, Msr.Uint64);
184 @note MSR_XEON_D_PKG_CST_CONFIG_CONTROL is defined as MSR_PKG_CST_CONFIG_CONTROL in SDM.
186 #define MSR_XEON_D_PKG_CST_CONFIG_CONTROL 0x000000E2
189 MSR information returned for MSR index #MSR_XEON_D_PKG_CST_CONFIG_CONTROL
193 /// Individual bit fields
197 /// [Bits 2:0] Package C-State Limit (R/W) Specifies the lowest
198 /// processor-specific C-state code name (consuming the least power) for
199 /// the package. The default is set as factory-configured package C-state
200 /// limit. The following C-state code name encodings are supported: 000b:
201 /// C0/C1 (no package C-state support) 001b: C2 010b: C6 (non-retention)
202 /// 011b: C6 (retention) 111b: No Package C state limits. All C states
203 /// supported by the processor are available.
208 /// [Bit 10] I/O MWAIT Redirection Enable (R/W).
213 /// [Bit 15] CFG Lock (R/WO).
217 /// [Bit 16] Automatic C-State Conversion Enable (R/W) If 1, the processor
218 /// will convert HALT or MWAT(C1) to MWAIT(C6).
220 UINT32 CStateConversion
:1;
223 /// [Bit 25] C3 State Auto Demotion Enable (R/W).
225 UINT32 C3AutoDemotion
:1;
227 /// [Bit 26] C1 State Auto Demotion Enable (R/W).
229 UINT32 C1AutoDemotion
:1;
231 /// [Bit 27] Enable C3 Undemotion (R/W).
233 UINT32 C3Undemotion
:1;
235 /// [Bit 28] Enable C1 Undemotion (R/W).
237 UINT32 C1Undemotion
:1;
239 /// [Bit 29] Package C State Demotion Enable (R/W).
241 UINT32 CStateDemotion
:1;
243 /// [Bit 30] Package C State UnDemotion Enable (R/W).
245 UINT32 CStateUndemotion
:1;
250 /// All bit fields as a 32-bit value
254 /// All bit fields as a 64-bit value
257 } MSR_XEON_D_PKG_CST_CONFIG_CONTROL_REGISTER
;
261 Thread. Global Machine Check Capability (R/O).
263 @param ECX MSR_XEON_D_IA32_MCG_CAP (0x00000179)
264 @param EAX Lower 32-bits of MSR value.
265 Described by the type MSR_XEON_D_IA32_MCG_CAP_REGISTER.
266 @param EDX Upper 32-bits of MSR value.
267 Described by the type MSR_XEON_D_IA32_MCG_CAP_REGISTER.
271 MSR_XEON_D_IA32_MCG_CAP_REGISTER Msr;
273 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_D_IA32_MCG_CAP);
275 @note MSR_XEON_D_IA32_MCG_CAP is defined as IA32_MCG_CAP in SDM.
277 #define MSR_XEON_D_IA32_MCG_CAP 0x00000179
280 MSR information returned for MSR index #MSR_XEON_D_IA32_MCG_CAP
284 /// Individual bit fields
288 /// [Bits 7:0] Count.
292 /// [Bit 8] MCG_CTL_P.
296 /// [Bit 9] MCG_EXT_P.
300 /// [Bit 10] MCP_CMCI_P.
304 /// [Bit 11] MCG_TES_P.
309 /// [Bits 23:16] MCG_EXT_CNT.
311 UINT32 MCG_EXT_CNT
:8;
313 /// [Bit 24] MCG_SER_P.
317 /// [Bit 25] MCG_EM_P.
321 /// [Bit 26] MCG_ELOG_P.
328 /// All bit fields as a 32-bit value
332 /// All bit fields as a 64-bit value
335 } MSR_XEON_D_IA32_MCG_CAP_REGISTER
;
339 THREAD. Enhanced SMM Capabilities (SMM-RO) Reports SMM capability
340 Enhancement. Accessible only while in SMM.
342 @param ECX MSR_XEON_D_SMM_MCA_CAP (0x0000017D)
343 @param EAX Lower 32-bits of MSR value.
344 Described by the type MSR_XEON_D_SMM_MCA_CAP_REGISTER.
345 @param EDX Upper 32-bits of MSR value.
346 Described by the type MSR_XEON_D_SMM_MCA_CAP_REGISTER.
350 MSR_XEON_D_SMM_MCA_CAP_REGISTER Msr;
352 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_D_SMM_MCA_CAP);
353 AsmWriteMsr64 (MSR_XEON_D_SMM_MCA_CAP, Msr.Uint64);
355 @note MSR_XEON_D_SMM_MCA_CAP is defined as MSR_SMM_MCA_CAP in SDM.
357 #define MSR_XEON_D_SMM_MCA_CAP 0x0000017D
360 MSR information returned for MSR index #MSR_XEON_D_SMM_MCA_CAP
364 /// Individual bit fields
370 /// [Bit 58] SMM_Code_Access_Chk (SMM-RO) If set to 1 indicates that the
371 /// SMM code access restriction is supported and a host-space interface
372 /// available to SMM handler.
374 UINT32 SMM_Code_Access_Chk
:1;
376 /// [Bit 59] Long_Flow_Indication (SMM-RO) If set to 1 indicates that the
377 /// SMM long flow indicator is supported and a host-space interface
378 /// available to SMM handler.
380 UINT32 Long_Flow_Indication
:1;
384 /// All bit fields as a 64-bit value
387 } MSR_XEON_D_SMM_MCA_CAP_REGISTER
;
393 @param ECX MSR_XEON_D_TEMPERATURE_TARGET (0x000001A2)
394 @param EAX Lower 32-bits of MSR value.
395 Described by the type MSR_XEON_D_TEMPERATURE_TARGET_REGISTER.
396 @param EDX Upper 32-bits of MSR value.
397 Described by the type MSR_XEON_D_TEMPERATURE_TARGET_REGISTER.
401 MSR_XEON_D_TEMPERATURE_TARGET_REGISTER Msr;
403 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_D_TEMPERATURE_TARGET);
404 AsmWriteMsr64 (MSR_XEON_D_TEMPERATURE_TARGET, Msr.Uint64);
406 @note MSR_XEON_D_TEMPERATURE_TARGET is defined as MSR_TEMPERATURE_TARGET in SDM.
408 #define MSR_XEON_D_TEMPERATURE_TARGET 0x000001A2
411 MSR information returned for MSR index #MSR_XEON_D_TEMPERATURE_TARGET
415 /// Individual bit fields
420 /// [Bits 23:16] Temperature Target (RO) See Table 35-21.
422 UINT32 TemperatureTarget
:8;
424 /// [Bits 27:24] TCC Activation Offset (R/W) See Table 35-21.
426 UINT32 TCCActivationOffset
:4;
431 /// All bit fields as a 32-bit value
435 /// All bit fields as a 64-bit value
438 } MSR_XEON_D_TEMPERATURE_TARGET_REGISTER
;
442 Package. Maximum Ratio Limit of Turbo Mode RO if MSR_PLATFORM_INFO.[28] = 0,
443 RW if MSR_PLATFORM_INFO.[28] = 1.
445 @param ECX MSR_XEON_D_TURBO_RATIO_LIMIT (0x000001AD)
446 @param EAX Lower 32-bits of MSR value.
447 Described by the type MSR_XEON_D_TURBO_RATIO_LIMIT_REGISTER.
448 @param EDX Upper 32-bits of MSR value.
449 Described by the type MSR_XEON_D_TURBO_RATIO_LIMIT_REGISTER.
453 MSR_XEON_D_TURBO_RATIO_LIMIT_REGISTER Msr;
455 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_D_TURBO_RATIO_LIMIT);
457 @note MSR_XEON_D_TURBO_RATIO_LIMIT is defined as MSR_TURBO_RATIO_LIMIT in SDM.
459 #define MSR_XEON_D_TURBO_RATIO_LIMIT 0x000001AD
462 MSR information returned for MSR index #MSR_XEON_D_TURBO_RATIO_LIMIT
466 /// Individual bit fields
470 /// [Bits 7:0] Package. Maximum Ratio Limit for 1C.
474 /// [Bits 15:8] Package. Maximum Ratio Limit for 2C.
478 /// [Bits 23:16] Package. Maximum Ratio Limit for 3C.
482 /// [Bits 31:24] Package. Maximum Ratio Limit for 4C.
486 /// [Bits 39:32] Package. Maximum Ratio Limit for 5C.
490 /// [Bits 47:40] Package. Maximum Ratio Limit for 6C.
494 /// [Bits 55:48] Package. Maximum Ratio Limit for 7C.
498 /// [Bits 63:56] Package. Maximum Ratio Limit for 8C.
503 /// All bit fields as a 64-bit value
506 } MSR_XEON_D_TURBO_RATIO_LIMIT_REGISTER
;
510 Package. Maximum Ratio Limit of Turbo Mode RO if MSR_PLATFORM_INFO.[28] = 0,
511 RW if MSR_PLATFORM_INFO.[28] = 1.
513 @param ECX MSR_XEON_D_TURBO_RATIO_LIMIT1 (0x000001AE)
514 @param EAX Lower 32-bits of MSR value.
515 Described by the type MSR_XEON_D_TURBO_RATIO_LIMIT1_REGISTER.
516 @param EDX Upper 32-bits of MSR value.
517 Described by the type MSR_XEON_D_TURBO_RATIO_LIMIT1_REGISTER.
521 MSR_XEON_D_TURBO_RATIO_LIMIT1_REGISTER Msr;
523 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_D_TURBO_RATIO_LIMIT1);
525 @note MSR_XEON_D_TURBO_RATIO_LIMIT1 is defined as MSR_TURBO_RATIO_LIMIT1 in SDM.
527 #define MSR_XEON_D_TURBO_RATIO_LIMIT1 0x000001AE
530 MSR information returned for MSR index #MSR_XEON_D_TURBO_RATIO_LIMIT1
534 /// Individual bit fields
538 /// [Bits 7:0] Package. Maximum Ratio Limit for 9C.
542 /// [Bits 15:8] Package. Maximum Ratio Limit for 10C.
546 /// [Bits 23:16] Package. Maximum Ratio Limit for 11C.
550 /// [Bits 31:24] Package. Maximum Ratio Limit for 12C.
554 /// [Bits 39:32] Package. Maximum Ratio Limit for 13C.
558 /// [Bits 47:40] Package. Maximum Ratio Limit for 14C.
562 /// [Bits 55:48] Package. Maximum Ratio Limit for 15C.
566 /// [Bits 63:56] Package. Maximum Ratio Limit for 16C.
571 /// All bit fields as a 64-bit value
574 } MSR_XEON_D_TURBO_RATIO_LIMIT1_REGISTER
;
578 Package. Unit Multipliers used in RAPL Interfaces (R/O).
580 @param ECX MSR_XEON_D_RAPL_POWER_UNIT (0x00000606)
581 @param EAX Lower 32-bits of MSR value.
582 Described by the type MSR_XEON_D_RAPL_POWER_UNIT_REGISTER.
583 @param EDX Upper 32-bits of MSR value.
584 Described by the type MSR_XEON_D_RAPL_POWER_UNIT_REGISTER.
588 MSR_XEON_D_RAPL_POWER_UNIT_REGISTER Msr;
590 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_D_RAPL_POWER_UNIT);
592 @note MSR_XEON_D_RAPL_POWER_UNIT is defined as MSR_RAPL_POWER_UNIT in SDM.
594 #define MSR_XEON_D_RAPL_POWER_UNIT 0x00000606
597 MSR information returned for MSR index #MSR_XEON_D_RAPL_POWER_UNIT
601 /// Individual bit fields
605 /// [Bits 3:0] Package. Power Units See Section 14.9.1, "RAPL Interfaces.".
610 /// [Bits 12:8] Package. Energy Status Units Energy related information
611 /// (in Joules) is based on the multiplier, 1/2^ESU; where ESU is an
612 /// unsigned integer represented by bits 12:8. Default value is 0EH (or 61
615 UINT32 EnergyStatusUnits
:5;
618 /// [Bits 19:16] Package. Time Units See Section 14.9.1, "RAPL
626 /// All bit fields as a 32-bit value
630 /// All bit fields as a 64-bit value
633 } MSR_XEON_D_RAPL_POWER_UNIT_REGISTER
;
637 Package. DRAM RAPL Power Limit Control (R/W) See Section 14.9.5, "DRAM RAPL
640 @param ECX MSR_XEON_D_DRAM_POWER_LIMIT (0x00000618)
641 @param EAX Lower 32-bits of MSR value.
642 @param EDX Upper 32-bits of MSR value.
648 Msr = AsmReadMsr64 (MSR_XEON_D_DRAM_POWER_LIMIT);
649 AsmWriteMsr64 (MSR_XEON_D_DRAM_POWER_LIMIT, Msr);
651 @note MSR_XEON_D_DRAM_POWER_LIMIT is defined as MSR_DRAM_POWER_LIMIT in SDM.
653 #define MSR_XEON_D_DRAM_POWER_LIMIT 0x00000618
657 Package. DRAM Energy Status (R/O) See Section 14.9.5, "DRAM RAPL Domain.".
659 @param ECX MSR_XEON_D_DRAM_ENERGY_STATUS (0x00000619)
660 @param EAX Lower 32-bits of MSR value.
661 @param EDX Upper 32-bits of MSR value.
667 Msr = AsmReadMsr64 (MSR_XEON_D_DRAM_ENERGY_STATUS);
669 @note MSR_XEON_D_DRAM_ENERGY_STATUS is defined as MSR_DRAM_ENERGY_STATUS in SDM.
671 #define MSR_XEON_D_DRAM_ENERGY_STATUS 0x00000619
675 Package. DRAM Performance Throttling Status (R/O) See Section 14.9.5, "DRAM
678 @param ECX MSR_XEON_D_DRAM_PERF_STATUS (0x0000061B)
679 @param EAX Lower 32-bits of MSR value.
680 @param EDX Upper 32-bits of MSR value.
686 Msr = AsmReadMsr64 (MSR_XEON_D_DRAM_PERF_STATUS);
688 @note MSR_XEON_D_DRAM_PERF_STATUS is defined as MSR_DRAM_PERF_STATUS in SDM.
690 #define MSR_XEON_D_DRAM_PERF_STATUS 0x0000061B
694 Package. DRAM RAPL Parameters (R/W) See Section 14.9.5, "DRAM RAPL Domain.".
696 @param ECX MSR_XEON_D_DRAM_POWER_INFO (0x0000061C)
697 @param EAX Lower 32-bits of MSR value.
698 @param EDX Upper 32-bits of MSR value.
704 Msr = AsmReadMsr64 (MSR_XEON_D_DRAM_POWER_INFO);
705 AsmWriteMsr64 (MSR_XEON_D_DRAM_POWER_INFO, Msr);
707 @note MSR_XEON_D_DRAM_POWER_INFO is defined as MSR_DRAM_POWER_INFO in SDM.
709 #define MSR_XEON_D_DRAM_POWER_INFO 0x0000061C
713 Package. Indicator of Frequency Clipping in Processor Cores (R/W) (frequency
714 refers to processor core frequency).
716 @param ECX MSR_XEON_D_CORE_PERF_LIMIT_REASONS (0x00000690)
717 @param EAX Lower 32-bits of MSR value.
718 Described by the type MSR_XEON_D_CORE_PERF_LIMIT_REASONS_REGISTER.
719 @param EDX Upper 32-bits of MSR value.
720 Described by the type MSR_XEON_D_CORE_PERF_LIMIT_REASONS_REGISTER.
724 MSR_XEON_D_CORE_PERF_LIMIT_REASONS_REGISTER Msr;
726 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_D_CORE_PERF_LIMIT_REASONS);
727 AsmWriteMsr64 (MSR_XEON_D_CORE_PERF_LIMIT_REASONS, Msr.Uint64);
729 @note MSR_XEON_D_CORE_PERF_LIMIT_REASONS is defined as MSR_CORE_PERF_LIMIT_REASONS in SDM.
731 #define MSR_XEON_D_CORE_PERF_LIMIT_REASONS 0x00000690
734 MSR information returned for MSR index #MSR_XEON_D_CORE_PERF_LIMIT_REASONS
738 /// Individual bit fields
742 /// [Bit 0] PROCHOT Status (R0) When set, processor core frequency is
743 /// reduced below the operating system request due to assertion of
744 /// external PROCHOT.
746 UINT32 PROCHOT_Status
:1;
748 /// [Bit 1] Thermal Status (R0) When set, frequency is reduced below the
749 /// operating system request due to a thermal event.
751 UINT32 ThermalStatus
:1;
753 /// [Bit 2] Power Budget Management Status (R0) When set, frequency is
754 /// reduced below the operating system request due to PBM limit.
756 UINT32 PowerBudgetManagementStatus
:1;
758 /// [Bit 3] Platform Configuration Services Status (R0) When set,
759 /// frequency is reduced below the operating system request due to PCS
762 UINT32 PlatformConfigurationServicesStatus
:1;
765 /// [Bit 5] Autonomous Utilization-Based Frequency Control Status (R0)
766 /// When set, frequency is reduced below the operating system request
767 /// because the processor has detected that utilization is low.
769 UINT32 AutonomousUtilizationBasedFrequencyControlStatus
:1;
771 /// [Bit 6] VR Therm Alert Status (R0) When set, frequency is reduced
772 /// below the operating system request due to a thermal alert from the
773 /// Voltage Regulator.
775 UINT32 VRThermAlertStatus
:1;
778 /// [Bit 8] Electrical Design Point Status (R0) When set, frequency is
779 /// reduced below the operating system request due to electrical design
780 /// point constraints (e.g. maximum electrical current consumption).
782 UINT32 ElectricalDesignPointStatus
:1;
785 /// [Bit 10] Multi-Core Turbo Status (R0) When set, frequency is reduced
786 /// below the operating system request due to Multi-Core Turbo limits.
788 UINT32 MultiCoreTurboStatus
:1;
791 /// [Bit 13] Core Frequency P1 Status (R0) When set, frequency is reduced
792 /// below max non-turbo P1.
794 UINT32 FrequencyP1Status
:1;
796 /// [Bit 14] Core Max n-core Turbo Frequency Limiting Status (R0) When
797 /// set, frequency is reduced below max n-core turbo frequency.
799 UINT32 TurboFrequencyLimitingStatus
:1;
801 /// [Bit 15] Core Frequency Limiting Status (R0) When set, frequency is
802 /// reduced below the operating system request.
804 UINT32 FrequencyLimitingStatus
:1;
806 /// [Bit 16] PROCHOT Log When set, indicates that the PROCHOT Status bit
807 /// has asserted since the log bit was last cleared. This log bit will
808 /// remain set until cleared by software writing 0.
810 UINT32 PROCHOT_Log
:1;
812 /// [Bit 17] Thermal Log When set, indicates that the Thermal Status bit
813 /// has asserted since the log bit was last cleared. This log bit will
814 /// remain set until cleared by software writing 0.
818 /// [Bit 18] Power Budget Management Log When set, indicates that the PBM
819 /// Status bit has asserted since the log bit was last cleared. This log
820 /// bit will remain set until cleared by software writing 0.
822 UINT32 PowerBudgetManagementLog
:1;
824 /// [Bit 19] Platform Configuration Services Log When set, indicates that
825 /// the PCS Status bit has asserted since the log bit was last cleared.
826 /// This log bit will remain set until cleared by software writing 0.
828 UINT32 PlatformConfigurationServicesLog
:1;
831 /// [Bit 21] Autonomous Utilization-Based Frequency Control Log When set,
832 /// indicates that the AUBFC Status bit has asserted since the log bit was
833 /// last cleared. This log bit will remain set until cleared by software
836 UINT32 AutonomousUtilizationBasedFrequencyControlLog
:1;
838 /// [Bit 22] VR Therm Alert Log When set, indicates that the VR Therm
839 /// Alert Status bit has asserted since the log bit was last cleared. This
840 /// log bit will remain set until cleared by software writing 0.
842 UINT32 VRThermAlertLog
:1;
845 /// [Bit 24] Electrical Design Point Log When set, indicates that the EDP
846 /// Status bit has asserted since the log bit was last cleared. This log
847 /// bit will remain set until cleared by software writing 0.
849 UINT32 ElectricalDesignPointLog
:1;
852 /// [Bit 26] Multi-Core Turbo Log When set, indicates that the Multi-Core
853 /// Turbo Status bit has asserted since the log bit was last cleared. This
854 /// log bit will remain set until cleared by software writing 0.
856 UINT32 MultiCoreTurboLog
:1;
859 /// [Bit 29] Core Frequency P1 Log When set, indicates that the Core
860 /// Frequency P1 Status bit has asserted since the log bit was last
861 /// cleared. This log bit will remain set until cleared by software
864 UINT32 CoreFrequencyP1Log
:1;
866 /// [Bit 30] Core Max n-core Turbo Frequency Limiting Log When set,
867 /// indicates that the Core Max n-core Turbo Frequency Limiting Status bit
868 /// has asserted since the log bit was last cleared. This log bit will
869 /// remain set until cleared by software writing 0.
871 UINT32 TurboFrequencyLimitingLog
:1;
873 /// [Bit 31] Core Frequency Limiting Log When set, indicates that the Core
874 /// Frequency Limiting Status bit has asserted since the log bit was last
875 /// cleared. This log bit will remain set until cleared by software
878 UINT32 CoreFrequencyLimitingLog
:1;
882 /// All bit fields as a 32-bit value
886 /// All bit fields as a 64-bit value
889 } MSR_XEON_D_CORE_PERF_LIMIT_REASONS_REGISTER
;
893 THREAD. Monitoring Event Select Register (R/W) if CPUID.(EAX=07H,
894 ECX=0):EBX.PQM[bit 12] = 1.
896 @param ECX MSR_XEON_D_IA32_QM_EVTSEL (0x00000C8D)
897 @param EAX Lower 32-bits of MSR value.
898 Described by the type MSR_XEON_D_IA32_QM_EVTSEL_REGISTER.
899 @param EDX Upper 32-bits of MSR value.
900 Described by the type MSR_XEON_D_IA32_QM_EVTSEL_REGISTER.
904 MSR_XEON_D_IA32_QM_EVTSEL_REGISTER Msr;
906 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_D_IA32_QM_EVTSEL);
907 AsmWriteMsr64 (MSR_XEON_D_IA32_QM_EVTSEL, Msr.Uint64);
909 @note MSR_XEON_D_IA32_QM_EVTSEL is defined as IA32_QM_EVTSEL in SDM.
911 #define MSR_XEON_D_IA32_QM_EVTSEL 0x00000C8D
914 MSR information returned for MSR index #MSR_XEON_D_IA32_QM_EVTSEL
918 /// Individual bit fields
922 /// [Bits 7:0] EventID (RW) Event encoding: 0x00: no monitoring 0x01: L3
923 /// occupancy monitoring 0x02: Total memory bandwidth monitoring 0x03:
924 /// Local memory bandwidth monitoring All other encoding reserved.
929 /// [Bits 41:32] RMID (RW).
935 /// All bit fields as a 64-bit value
938 } MSR_XEON_D_IA32_QM_EVTSEL_REGISTER
;
942 THREAD. Resource Association Register (R/W).
944 @param ECX MSR_XEON_D_IA32_PQR_ASSOC (0x00000C8F)
945 @param EAX Lower 32-bits of MSR value.
946 Described by the type MSR_XEON_D_IA32_PQR_ASSOC_REGISTER.
947 @param EDX Upper 32-bits of MSR value.
948 Described by the type MSR_XEON_D_IA32_PQR_ASSOC_REGISTER.
952 MSR_XEON_D_IA32_PQR_ASSOC_REGISTER Msr;
954 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_D_IA32_PQR_ASSOC);
955 AsmWriteMsr64 (MSR_XEON_D_IA32_PQR_ASSOC, Msr.Uint64);
957 @note MSR_XEON_D_IA32_PQR_ASSOC is defined as IA32_PQR_ASSOC in SDM.
959 #define MSR_XEON_D_IA32_PQR_ASSOC 0x00000C8F
962 MSR information returned for MSR index #MSR_XEON_D_IA32_PQR_ASSOC
966 /// Individual bit fields
975 /// [Bits 51:32] COS (R/W).
981 /// All bit fields as a 64-bit value
984 } MSR_XEON_D_IA32_PQR_ASSOC_REGISTER
;
988 Package. L3 Class Of Service Mask - COS n (R/W) if CPUID.(EAX=10H,
989 ECX=1):EDX.COS_MAX[15:0] >= n.
991 @param ECX MSR_XEON_D_IA32_L3_QOS_MASK_n
992 @param EAX Lower 32-bits of MSR value.
993 Described by the type MSR_XEON_D_IA32_L3_QOS_MASK_REGISTER.
994 @param EDX Upper 32-bits of MSR value.
995 Described by the type MSR_XEON_D_IA32_L3_QOS_MASK_REGISTER.
999 MSR_XEON_D_IA32_L3_QOS_MASK_REGISTER Msr;
1001 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_D_IA32_L3_QOS_MASK_0);
1002 AsmWriteMsr64 (MSR_XEON_D_IA32_L3_QOS_MASK_0, Msr.Uint64);
1004 @note MSR_XEON_D_IA32_L3_QOS_MASK_0 is defined as IA32_L3_QOS_MASK_0 in SDM.
1005 MSR_XEON_D_IA32_L3_QOS_MASK_1 is defined as IA32_L3_QOS_MASK_1 in SDM.
1006 MSR_XEON_D_IA32_L3_QOS_MASK_2 is defined as IA32_L3_QOS_MASK_2 in SDM.
1007 MSR_XEON_D_IA32_L3_QOS_MASK_3 is defined as IA32_L3_QOS_MASK_3 in SDM.
1008 MSR_XEON_D_IA32_L3_QOS_MASK_4 is defined as IA32_L3_QOS_MASK_4 in SDM.
1009 MSR_XEON_D_IA32_L3_QOS_MASK_5 is defined as IA32_L3_QOS_MASK_5 in SDM.
1010 MSR_XEON_D_IA32_L3_QOS_MASK_6 is defined as IA32_L3_QOS_MASK_6 in SDM.
1011 MSR_XEON_D_IA32_L3_QOS_MASK_7 is defined as IA32_L3_QOS_MASK_7 in SDM.
1012 MSR_XEON_D_IA32_L3_QOS_MASK_8 is defined as IA32_L3_QOS_MASK_8 in SDM.
1013 MSR_XEON_D_IA32_L3_QOS_MASK_9 is defined as IA32_L3_QOS_MASK_9 in SDM.
1014 MSR_XEON_D_IA32_L3_QOS_MASK_10 is defined as IA32_L3_QOS_MASK_10 in SDM.
1015 MSR_XEON_D_IA32_L3_QOS_MASK_11 is defined as IA32_L3_QOS_MASK_11 in SDM.
1016 MSR_XEON_D_IA32_L3_QOS_MASK_12 is defined as IA32_L3_QOS_MASK_12 in SDM.
1017 MSR_XEON_D_IA32_L3_QOS_MASK_13 is defined as IA32_L3_QOS_MASK_13 in SDM.
1018 MSR_XEON_D_IA32_L3_QOS_MASK_14 is defined as IA32_L3_QOS_MASK_14 in SDM.
1019 MSR_XEON_D_IA32_L3_QOS_MASK_15 is defined as IA32_L3_QOS_MASK_15 in SDM.
1022 #define MSR_XEON_D_IA32_L3_QOS_MASK_0 0x00000C90
1023 #define MSR_XEON_D_IA32_L3_QOS_MASK_1 0x00000C91
1024 #define MSR_XEON_D_IA32_L3_QOS_MASK_2 0x00000C92
1025 #define MSR_XEON_D_IA32_L3_QOS_MASK_3 0x00000C93
1026 #define MSR_XEON_D_IA32_L3_QOS_MASK_4 0x00000C94
1027 #define MSR_XEON_D_IA32_L3_QOS_MASK_5 0x00000C95
1028 #define MSR_XEON_D_IA32_L3_QOS_MASK_6 0x00000C96
1029 #define MSR_XEON_D_IA32_L3_QOS_MASK_7 0x00000C97
1030 #define MSR_XEON_D_IA32_L3_QOS_MASK_8 0x00000C98
1031 #define MSR_XEON_D_IA32_L3_QOS_MASK_9 0x00000C99
1032 #define MSR_XEON_D_IA32_L3_QOS_MASK_10 0x00000C9A
1033 #define MSR_XEON_D_IA32_L3_QOS_MASK_11 0x00000C9B
1034 #define MSR_XEON_D_IA32_L3_QOS_MASK_12 0x00000C9C
1035 #define MSR_XEON_D_IA32_L3_QOS_MASK_13 0x00000C9D
1036 #define MSR_XEON_D_IA32_L3_QOS_MASK_14 0x00000C9E
1037 #define MSR_XEON_D_IA32_L3_QOS_MASK_15 0x00000C9F
1041 MSR information returned for MSR indexes #MSR_XEON_D_IA32_L3_QOS_MASK_0
1042 to #MSR_XEON_D_IA32_L3_QOS_MASK_15.
1046 /// Individual bit fields
1050 /// [Bits 19:0] CBM: Bit vector of available L3 ways for COS 0 enforcement.
1053 UINT32 Reserved2
:12;
1054 UINT32 Reserved3
:32;
1057 /// All bit fields as a 32-bit value
1061 /// All bit fields as a 64-bit value
1064 } MSR_XEON_D_IA32_L3_QOS_MASK_REGISTER
;
1068 Package. Config Ratio Limit of Turbo Mode RO if MSR_PLATFORM_INFO.[28] = 0,
1069 RW if MSR_PLATFORM_INFO.[28] = 1.
1071 @param ECX MSR_XEON_D_TURBO_RATIO_LIMIT3 (0x000001AC)
1072 @param EAX Lower 32-bits of MSR value.
1073 Described by the type MSR_XEON_D_TURBO_RATIO_LIMIT3_REGISTER.
1074 @param EDX Upper 32-bits of MSR value.
1075 Described by the type MSR_XEON_D_TURBO_RATIO_LIMIT3_REGISTER.
1077 <b>Example usage</b>
1079 MSR_XEON_D_TURBO_RATIO_LIMIT3_REGISTER Msr;
1081 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_D_TURBO_RATIO_LIMIT3);
1083 @note MSR_XEON_D_TURBO_RATIO_LIMIT3 is defined as MSR_TURBO_RATIO_LIMIT3 in SDM.
1085 #define MSR_XEON_D_TURBO_RATIO_LIMIT3 0x000001AC
1088 MSR information returned for MSR index #MSR_XEON_D_TURBO_RATIO_LIMIT3
1092 /// Individual bit fields
1095 UINT32 Reserved1
:32;
1096 UINT32 Reserved2
:31;
1098 /// [Bit 63] Package. Semaphore for Turbo Ratio Limit Configuration If 1,
1099 /// the processor uses override configuration specified in
1100 /// MSR_TURBO_RATIO_LIMIT, MSR_TURBO_RATIO_LIMIT1. If 0, the processor
1101 /// uses factory-set configuration (Default).
1103 UINT32 TurboRatioLimitConfigurationSemaphore
:1;
1106 /// All bit fields as a 64-bit value
1109 } MSR_XEON_D_TURBO_RATIO_LIMIT3_REGISTER
;
1113 Package. See Section 15.3.2.1, "IA32_MCi_CTL MSRs." through Section
1114 15.3.2.4, "IA32_MCi_MISC MSRs.".
1116 * Bank MC5 reports MC error from the Intel QPI 0 module.
1117 * Bank MC6 reports MC error from the integrated I/O module.
1118 * Bank MC7 reports MC error from the home agent HA 0.
1119 * Bank MC8 reports MC error from the home agent HA 1.
1120 * Banks MC9 through MC16 report MC error from each channel of the integrated
1122 * Bank MC17 reports MC error from the following pair of CBo/L3 Slices
1123 (if the pair is present): CBo0, CBo3, CBo6, CBo9, CBo12, CBo15.
1124 * Bank MC18 reports MC error from the following pair of CBo/L3 Slices
1125 (if the pair is present): CBo1, CBo4, CBo7, CBo10, CBo13, CBo16.
1126 * Bank MC19 reports MC error from the following pair of CBo/L3 Slices
1127 (if the pair is present): CBo2, CBo5, CBo8, CBo11, CBo14, CBo17.
1128 * Bank MC20 reports MC error from the Intel QPI 1 module.
1129 * Bank MC21 reports MC error from the Intel QPI 2 module.
1131 @param ECX MSR_XEON_D_MCi_CTL
1132 @param EAX Lower 32-bits of MSR value.
1133 @param EDX Upper 32-bits of MSR value.
1135 <b>Example usage</b>
1139 Msr = AsmReadMsr64 (MSR_XEON_D_MC5_CTL);
1140 AsmWriteMsr64 (MSR_XEON_D_MC5_CTL, Msr);
1142 @note MSR_XEON_D_MC5_CTL is defined as MSR_MC5_CTL in SDM.
1143 MSR_XEON_D_MC6_CTL is defined as MSR_MC6_CTL in SDM.
1144 MSR_XEON_D_MC7_CTL is defined as MSR_MC7_CTL in SDM.
1145 MSR_XEON_D_MC8_CTL is defined as MSR_MC8_CTL in SDM.
1146 MSR_XEON_D_MC9_CTL is defined as MSR_MC9_CTL in SDM.
1147 MSR_XEON_D_MC10_CTL is defined as MSR_MC10_CTL in SDM.
1148 MSR_XEON_D_MC11_CTL is defined as MSR_MC11_CTL in SDM.
1149 MSR_XEON_D_MC12_CTL is defined as MSR_MC12_CTL in SDM.
1150 MSR_XEON_D_MC13_CTL is defined as MSR_MC13_CTL in SDM.
1151 MSR_XEON_D_MC14_CTL is defined as MSR_MC14_CTL in SDM.
1152 MSR_XEON_D_MC15_CTL is defined as MSR_MC15_CTL in SDM.
1153 MSR_XEON_D_MC16_CTL is defined as MSR_MC16_CTL in SDM.
1154 MSR_XEON_D_MC17_CTL is defined as MSR_MC17_CTL in SDM.
1155 MSR_XEON_D_MC18_CTL is defined as MSR_MC18_CTL in SDM.
1156 MSR_XEON_D_MC19_CTL is defined as MSR_MC19_CTL in SDM.
1157 MSR_XEON_D_MC20_CTL is defined as MSR_MC20_CTL in SDM.
1158 MSR_XEON_D_MC21_CTL is defined as MSR_MC21_CTL in SDM.
1161 #define MSR_XEON_D_MC5_CTL 0x00000414
1162 #define MSR_XEON_D_MC6_CTL 0x00000418
1163 #define MSR_XEON_D_MC7_CTL 0x0000041C
1164 #define MSR_XEON_D_MC8_CTL 0x00000420
1165 #define MSR_XEON_D_MC9_CTL 0x00000424
1166 #define MSR_XEON_D_MC10_CTL 0x00000428
1167 #define MSR_XEON_D_MC11_CTL 0x0000042C
1168 #define MSR_XEON_D_MC12_CTL 0x00000430
1169 #define MSR_XEON_D_MC13_CTL 0x00000434
1170 #define MSR_XEON_D_MC14_CTL 0x00000438
1171 #define MSR_XEON_D_MC15_CTL 0x0000043C
1172 #define MSR_XEON_D_MC16_CTL 0x00000440
1173 #define MSR_XEON_D_MC17_CTL 0x00000444
1174 #define MSR_XEON_D_MC18_CTL 0x00000448
1175 #define MSR_XEON_D_MC19_CTL 0x0000044C
1176 #define MSR_XEON_D_MC20_CTL 0x00000450
1177 #define MSR_XEON_D_MC21_CTL 0x00000454
1181 Package. See Section 15.3.2.1, "IA32_MCi_CTL MSRs." through Section
1182 15.3.2.4, "IA32_MCi_MISC MSRs.".
1184 @param ECX MSR_XEON_D_MCi_STATUS
1185 @param EAX Lower 32-bits of MSR value.
1186 @param EDX Upper 32-bits of MSR value.
1188 <b>Example usage</b>
1192 Msr = AsmReadMsr64 (MSR_XEON_D_MC6_STATUS);
1193 AsmWriteMsr64 (MSR_XEON_D_MC6_STATUS, Msr);
1195 @note MSR_XEON_D_MC5_STATUS is defined as MSR_MC5_STATUS in SDM.
1196 MSR_XEON_D_MC6_STATUS is defined as MSR_MC6_STATUS in SDM.
1197 MSR_XEON_D_MC7_STATUS is defined as MSR_MC7_STATUS in SDM.
1198 MSR_XEON_D_MC8_STATUS is defined as MSR_MC8_STATUS in SDM.
1199 MSR_XEON_D_MC9_STATUS is defined as MSR_MC9_STATUS in SDM.
1200 MSR_XEON_D_MC10_STATUS is defined as MSR_MC10_STATUS in SDM.
1201 MSR_XEON_D_MC11_STATUS is defined as MSR_MC11_STATUS in SDM.
1202 MSR_XEON_D_MC12_STATUS is defined as MSR_MC12_STATUS in SDM.
1203 MSR_XEON_D_MC13_STATUS is defined as MSR_MC13_STATUS in SDM.
1204 MSR_XEON_D_MC14_STATUS is defined as MSR_MC14_STATUS in SDM.
1205 MSR_XEON_D_MC15_STATUS is defined as MSR_MC15_STATUS in SDM.
1206 MSR_XEON_D_MC16_STATUS is defined as MSR_MC16_STATUS in SDM.
1207 MSR_XEON_D_MC17_STATUS is defined as MSR_MC17_STATUS in SDM.
1208 MSR_XEON_D_MC18_STATUS is defined as MSR_MC18_STATUS in SDM.
1209 MSR_XEON_D_MC19_STATUS is defined as MSR_MC19_STATUS in SDM.
1210 MSR_XEON_D_MC20_STATUS is defined as MSR_MC20_STATUS in SDM.
1211 MSR_XEON_D_MC21_STATUS is defined as MSR_MC21_STATUS in SDM.
1214 #define MSR_XEON_D_MC5_STATUS 0x00000415
1215 #define MSR_XEON_D_MC6_STATUS 0x00000419
1216 #define MSR_XEON_D_MC7_STATUS 0x0000041D
1217 #define MSR_XEON_D_MC8_STATUS 0x00000421
1218 #define MSR_XEON_D_MC9_STATUS 0x00000425
1219 #define MSR_XEON_D_MC10_STATUS 0x00000429
1220 #define MSR_XEON_D_MC11_STATUS 0x0000042D
1221 #define MSR_XEON_D_MC12_STATUS 0x00000431
1222 #define MSR_XEON_D_MC13_STATUS 0x00000435
1223 #define MSR_XEON_D_MC14_STATUS 0x00000439
1224 #define MSR_XEON_D_MC15_STATUS 0x0000043D
1225 #define MSR_XEON_D_MC16_STATUS 0x00000441
1226 #define MSR_XEON_D_MC17_STATUS 0x00000445
1227 #define MSR_XEON_D_MC18_STATUS 0x00000449
1228 #define MSR_XEON_D_MC19_STATUS 0x0000044D
1229 #define MSR_XEON_D_MC20_STATUS 0x00000451
1230 #define MSR_XEON_D_MC21_STATUS 0x00000455
1234 Package. See Section 15.3.2.1, "IA32_MCi_CTL MSRs." through Section
1235 15.3.2.4, "IA32_MCi_MISC MSRs.".
1237 @param ECX MSR_XEON_D_MCi_ADDR
1238 @param EAX Lower 32-bits of MSR value.
1239 @param EDX Upper 32-bits of MSR value.
1241 <b>Example usage</b>
1245 Msr = AsmReadMsr64 (MSR_XEON_D_MC6_ADDR);
1246 AsmWriteMsr64 (MSR_XEON_D_MC6_ADDR, Msr);
1248 @note MSR_XEON_D_MC5_ADDR is defined as MSR_MC5_ADDR in SDM.
1249 MSR_XEON_D_MC6_ADDR is defined as MSR_MC6_ADDR in SDM.
1250 MSR_XEON_D_MC7_ADDR is defined as MSR_MC7_ADDR in SDM.
1251 MSR_XEON_D_MC8_ADDR is defined as MSR_MC8_ADDR in SDM.
1252 MSR_XEON_D_MC9_ADDR is defined as MSR_MC9_ADDR in SDM.
1253 MSR_XEON_D_MC10_ADDR is defined as MSR_MC10_ADDR in SDM.
1254 MSR_XEON_D_MC11_ADDR is defined as MSR_MC11_ADDR in SDM.
1255 MSR_XEON_D_MC12_ADDR is defined as MSR_MC12_ADDR in SDM.
1256 MSR_XEON_D_MC13_ADDR is defined as MSR_MC13_ADDR in SDM.
1257 MSR_XEON_D_MC14_ADDR is defined as MSR_MC14_ADDR in SDM.
1258 MSR_XEON_D_MC15_ADDR is defined as MSR_MC15_ADDR in SDM.
1259 MSR_XEON_D_MC16_ADDR is defined as MSR_MC16_ADDR in SDM.
1260 MSR_XEON_D_MC17_ADDR is defined as MSR_MC17_ADDR in SDM.
1261 MSR_XEON_D_MC18_ADDR is defined as MSR_MC18_ADDR in SDM.
1262 MSR_XEON_D_MC19_ADDR is defined as MSR_MC19_ADDR in SDM.
1263 MSR_XEON_D_MC20_ADDR is defined as MSR_MC20_ADDR in SDM.
1264 MSR_XEON_D_MC21_ADDR is defined as MSR_MC21_ADDR in SDM.
1267 #define MSR_XEON_D_MC5_ADDR 0x00000416
1268 #define MSR_XEON_D_MC6_ADDR 0x0000041A
1269 #define MSR_XEON_D_MC7_ADDR 0x0000041E
1270 #define MSR_XEON_D_MC8_ADDR 0x00000422
1271 #define MSR_XEON_D_MC9_ADDR 0x00000426
1272 #define MSR_XEON_D_MC10_ADDR 0x0000042A
1273 #define MSR_XEON_D_MC11_ADDR 0x0000042E
1274 #define MSR_XEON_D_MC12_ADDR 0x00000432
1275 #define MSR_XEON_D_MC13_ADDR 0x00000436
1276 #define MSR_XEON_D_MC14_ADDR 0x0000043A
1277 #define MSR_XEON_D_MC15_ADDR 0x0000043E
1278 #define MSR_XEON_D_MC16_ADDR 0x00000442
1279 #define MSR_XEON_D_MC17_ADDR 0x00000446
1280 #define MSR_XEON_D_MC18_ADDR 0x0000044A
1281 #define MSR_XEON_D_MC19_ADDR 0x0000044E
1282 #define MSR_XEON_D_MC20_ADDR 0x00000452
1283 #define MSR_XEON_D_MC21_ADDR 0x00000456
1288 Package. See Section 15.3.2.1, "IA32_MCi_CTL MSRs." through Section
1289 15.3.2.4, "IA32_MCi_MISC MSRs.".
1291 @param ECX MSR_XEON_D_MCi_MISC
1292 @param EAX Lower 32-bits of MSR value.
1293 @param EDX Upper 32-bits of MSR value.
1295 <b>Example usage</b>
1299 Msr = AsmReadMsr64 (MSR_XEON_D_MC6_MISC);
1300 AsmWriteMsr64 (MSR_XEON_D_MC6_MISC, Msr);
1302 @note MSR_XEON_D_MC5_MISC is defined as MSR_MC5_MISC in SDM.
1303 MSR_XEON_D_MC6_MISC is defined as MSR_MC6_MISC in SDM.
1304 MSR_XEON_D_MC7_MISC is defined as MSR_MC7_MISC in SDM.
1305 MSR_XEON_D_MC8_MISC is defined as MSR_MC8_MISC in SDM.
1306 MSR_XEON_D_MC9_MISC is defined as MSR_MC9_MISC in SDM.
1307 MSR_XEON_D_MC10_MISC is defined as MSR_MC10_MISC in SDM.
1308 MSR_XEON_D_MC11_MISC is defined as MSR_MC11_MISC in SDM.
1309 MSR_XEON_D_MC12_MISC is defined as MSR_MC12_MISC in SDM.
1310 MSR_XEON_D_MC13_MISC is defined as MSR_MC13_MISC in SDM.
1311 MSR_XEON_D_MC14_MISC is defined as MSR_MC14_MISC in SDM.
1312 MSR_XEON_D_MC15_MISC is defined as MSR_MC15_MISC in SDM.
1313 MSR_XEON_D_MC16_MISC is defined as MSR_MC16_MISC in SDM.
1314 MSR_XEON_D_MC17_MISC is defined as MSR_MC17_MISC in SDM.
1315 MSR_XEON_D_MC18_MISC is defined as MSR_MC18_MISC in SDM.
1316 MSR_XEON_D_MC19_MISC is defined as MSR_MC19_MISC in SDM.
1317 MSR_XEON_D_MC20_MISC is defined as MSR_MC20_MISC in SDM.
1318 MSR_XEON_D_MC21_MISC is defined as MSR_MC21_MISC in SDM.
1321 #define MSR_XEON_D_MC5_MISC 0x00000417
1322 #define MSR_XEON_D_MC6_MISC 0x0000041B
1323 #define MSR_XEON_D_MC7_MISC 0x0000041F
1324 #define MSR_XEON_D_MC8_MISC 0x00000423
1325 #define MSR_XEON_D_MC9_MISC 0x00000427
1326 #define MSR_XEON_D_MC10_MISC 0x0000042B
1327 #define MSR_XEON_D_MC11_MISC 0x0000042F
1328 #define MSR_XEON_D_MC12_MISC 0x00000433
1329 #define MSR_XEON_D_MC13_MISC 0x00000437
1330 #define MSR_XEON_D_MC14_MISC 0x0000043B
1331 #define MSR_XEON_D_MC15_MISC 0x0000043F
1332 #define MSR_XEON_D_MC16_MISC 0x00000443
1333 #define MSR_XEON_D_MC17_MISC 0x00000447
1334 #define MSR_XEON_D_MC18_MISC 0x0000044B
1335 #define MSR_XEON_D_MC19_MISC 0x0000044F
1336 #define MSR_XEON_D_MC20_MISC 0x00000453
1337 #define MSR_XEON_D_MC21_MISC 0x00000457
1342 Package. Note: C-state values are processor specific C-state code names,
1343 unrelated to MWAIT extension C-state parameters or ACPI C-States.
1345 @param ECX MSR_XEON_D_PKG_C8_RESIDENCY (0x00000630)
1346 @param EAX Lower 32-bits of MSR value.
1347 Described by the type MSR_XEON_D_PKG_C8_RESIDENCY_REGISTER.
1348 @param EDX Upper 32-bits of MSR value.
1349 Described by the type MSR_XEON_D_PKG_C8_RESIDENCY_REGISTER.
1351 <b>Example usage</b>
1353 MSR_XEON_D_PKG_C8_RESIDENCY_REGISTER Msr;
1355 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_D_PKG_C8_RESIDENCY);
1356 AsmWriteMsr64 (MSR_XEON_D_PKG_C8_RESIDENCY, Msr.Uint64);
1358 @note MSR_XEON_D_PKG_C8_RESIDENCY is defined as MSR_PKG_C8_RESIDENCY in SDM.
1360 #define MSR_XEON_D_PKG_C8_RESIDENCY 0x00000630
1363 MSR information returned for MSR index #MSR_XEON_D_PKG_C8_RESIDENCY
1367 /// Individual bit fields
1371 /// [Bits 31:0] Package C8 Residency Counter. (R/O) Value since last reset
1372 /// that this package is in processor-specific C8 states. Count at the
1373 /// same frequency as the TSC.
1375 UINT32 C8ResidencyCounter
:32;
1377 /// [Bits 59:32] Package C8 Residency Counter. (R/O) Value since last
1378 /// reset that this package is in processor-specific C8 states. Count at
1379 /// the same frequency as the TSC.
1381 UINT32 C8ResidencyCounterHi
:28;
1385 /// All bit fields as a 64-bit value
1388 } MSR_XEON_D_PKG_C8_RESIDENCY_REGISTER
;
1392 Package. Note: C-state values are processor specific C-state code names,
1393 unrelated to MWAIT extension C-state parameters or ACPI C-States.
1395 @param ECX MSR_XEON_D_PKG_C9_RESIDENCY (0x00000631)
1396 @param EAX Lower 32-bits of MSR value.
1397 Described by the type MSR_XEON_D_PKG_C9_RESIDENCY_REGISTER.
1398 @param EDX Upper 32-bits of MSR value.
1399 Described by the type MSR_XEON_D_PKG_C9_RESIDENCY_REGISTER.
1401 <b>Example usage</b>
1403 MSR_XEON_D_PKG_C9_RESIDENCY_REGISTER Msr;
1405 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_D_PKG_C9_RESIDENCY);
1406 AsmWriteMsr64 (MSR_XEON_D_PKG_C9_RESIDENCY, Msr.Uint64);
1408 @note MSR_XEON_D_PKG_C9_RESIDENCY is defined as MSR_PKG_C9_RESIDENCY in SDM.
1410 #define MSR_XEON_D_PKG_C9_RESIDENCY 0x00000631
1413 MSR information returned for MSR index #MSR_XEON_D_PKG_C9_RESIDENCY
1417 /// Individual bit fields
1421 /// [Bits 31:0] Package C9 Residency Counter. (R/O) Value since last reset
1422 /// that this package is in processor-specific C9 states. Count at the
1423 /// same frequency as the TSC.
1425 UINT32 C9ResidencyCounter
:32;
1427 /// [Bits 59:32] Package C9 Residency Counter. (R/O) Value since last
1428 /// reset that this package is in processor-specific C9 states. Count at
1429 /// the same frequency as the TSC.
1431 UINT32 C9ResidencyCounterHi
:28;
1435 /// All bit fields as a 64-bit value
1438 } MSR_XEON_D_PKG_C9_RESIDENCY_REGISTER
;
1442 Package. Note: C-state values are processor specific C-state code names,
1443 unrelated to MWAIT extension C-state parameters or ACPI C-States.
1445 @param ECX MSR_XEON_D_PKG_C10_RESIDENCY (0x00000632)
1446 @param EAX Lower 32-bits of MSR value.
1447 Described by the type MSR_XEON_D_PKG_C10_RESIDENCY_REGISTER.
1448 @param EDX Upper 32-bits of MSR value.
1449 Described by the type MSR_XEON_D_PKG_C10_RESIDENCY_REGISTER.
1451 <b>Example usage</b>
1453 MSR_XEON_D_PKG_C10_RESIDENCY_REGISTER Msr;
1455 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_D_PKG_C10_RESIDENCY);
1456 AsmWriteMsr64 (MSR_XEON_D_PKG_C10_RESIDENCY, Msr.Uint64);
1458 @note MSR_XEON_D_PKG_C10_RESIDENCY is defined as MSR_PKG_C10_RESIDENCY in SDM.
1460 #define MSR_XEON_D_PKG_C10_RESIDENCY 0x00000632
1463 MSR information returned for MSR index #MSR_XEON_D_PKG_C10_RESIDENCY
1467 /// Individual bit fields
1471 /// [Bits 31:0] Package C10 Residency Counter. (R/O) Value since last
1472 /// reset that this package is in processor-specific C10 states. Count at
1473 /// the same frequency as the TSC.
1475 UINT32 C10ResidencyCounter
:32;
1477 /// [Bits 59:32] Package C10 Residency Counter. (R/O) Value since last
1478 /// reset that this package is in processor-specific C10 states. Count at
1479 /// the same frequency as the TSC.
1481 UINT32 C10ResidencyCounterHi
:28;
1485 /// All bit fields as a 64-bit value
1488 } MSR_XEON_D_PKG_C10_RESIDENCY_REGISTER
;
1492 Package. Cache Allocation Technology Configuration (R/W).
1494 @param ECX MSR_XEON_D_IA32_L3_QOS_CFG (0x00000C81)
1495 @param EAX Lower 32-bits of MSR value.
1496 Described by the type MSR_XEON_D_IA32_L3_QOS_CFG_REGISTER.
1497 @param EDX Upper 32-bits of MSR value.
1498 Described by the type MSR_XEON_D_IA32_L3_QOS_CFG_REGISTER.
1500 <b>Example usage</b>
1502 MSR_XEON_D_IA32_L3_QOS_CFG_REGISTER Msr;
1504 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_D_IA32_L3_QOS_CFG);
1505 AsmWriteMsr64 (MSR_XEON_D_IA32_L3_QOS_CFG, Msr.Uint64);
1507 @note MSR_XEON_D_IA32_L3_QOS_CFG is defined as IA32_L3_QOS_CFG in SDM.
1509 #define MSR_XEON_D_IA32_L3_QOS_CFG 0x00000C81
1512 MSR information returned for MSR index #MSR_XEON_D_IA32_L3_QOS_CFG
1516 /// Individual bit fields
1520 /// [Bit 0] CAT Enable. Set 1 to enable Cache Allocation Technology.
1523 UINT32 Reserved1
:31;
1524 UINT32 Reserved2
:32;
1527 /// All bit fields as a 32-bit value
1531 /// All bit fields as a 64-bit value
1534 } MSR_XEON_D_IA32_L3_QOS_CFG_REGISTER
;