2 MSR Definitions for Intel(R) Xeon(R) Processor Series 5600.
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 - 2018, 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_5600_MSR_H__
19 #define __XEON_5600_MSR_H__
21 #include <Register/ArchitecturalMsr.h>
24 Is Intel(R) Xeon(R) Processor Series 5600?
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_5600_PROCESSOR(DisplayFamily, DisplayModel) \
33 (DisplayFamily == 0x06 && \
35 DisplayModel == 0x25 || \
36 DisplayModel == 0x2C \
41 Core. AES Configuration (RW-L) Privileged post-BIOS agent must provide a #GP
42 handler to handle unsuccessful read of this MSR.
44 @param ECX MSR_XEON_5600_FEATURE_CONFIG (0x0000013C)
45 @param EAX Lower 32-bits of MSR value.
46 Described by the type MSR_XEON_5600_FEATURE_CONFIG_REGISTER.
47 @param EDX Upper 32-bits of MSR value.
48 Described by the type MSR_XEON_5600_FEATURE_CONFIG_REGISTER.
52 MSR_XEON_5600_FEATURE_CONFIG_REGISTER Msr;
54 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_5600_FEATURE_CONFIG);
55 AsmWriteMsr64 (MSR_XEON_5600_FEATURE_CONFIG, Msr.Uint64);
57 @note MSR_XEON_5600_FEATURE_CONFIG is defined as MSR_FEATURE_CONFIG in SDM.
59 #define MSR_XEON_5600_FEATURE_CONFIG 0x0000013C
62 MSR information returned for MSR index #MSR_XEON_5600_FEATURE_CONFIG
66 /// Individual bit fields
70 /// [Bits 1:0] AES Configuration (RW-L) Upon a successful read of this
71 /// MSR, the configuration of AES instruction set availability is as
72 /// follows: 11b: AES instructions are not available until next RESET.
73 /// otherwise, AES instructions are available. Note, AES instruction set
74 /// is not available if read is unsuccessful. If the configuration is not
75 /// 01b, AES instruction can be mis-configured if a privileged agent
76 /// unintentionally writes 11b.
78 UINT32 AESConfiguration
:2;
83 /// All bit fields as a 32-bit value
87 /// All bit fields as a 64-bit value
90 } MSR_XEON_5600_FEATURE_CONFIG_REGISTER
;
94 Thread. Offcore Response Event Select Register (R/W).
96 @param ECX MSR_XEON_5600_OFFCORE_RSP_1 (0x000001A7)
97 @param EAX Lower 32-bits of MSR value.
98 @param EDX Upper 32-bits of MSR value.
104 Msr = AsmReadMsr64 (MSR_XEON_5600_OFFCORE_RSP_1);
105 AsmWriteMsr64 (MSR_XEON_5600_OFFCORE_RSP_1, Msr);
107 @note MSR_XEON_5600_OFFCORE_RSP_1 is defined as MSR_OFFCORE_RSP_1 in SDM.
109 #define MSR_XEON_5600_OFFCORE_RSP_1 0x000001A7
113 Package. Maximum Ratio Limit of Turbo Mode RO if MSR_PLATFORM_INFO.[28] = 0,
114 RW if MSR_PLATFORM_INFO.[28] = 1.
116 @param ECX MSR_XEON_5600_TURBO_RATIO_LIMIT (0x000001AD)
117 @param EAX Lower 32-bits of MSR value.
118 Described by the type MSR_XEON_5600_TURBO_RATIO_LIMIT_REGISTER.
119 @param EDX Upper 32-bits of MSR value.
120 Described by the type MSR_XEON_5600_TURBO_RATIO_LIMIT_REGISTER.
124 MSR_XEON_5600_TURBO_RATIO_LIMIT_REGISTER Msr;
126 Msr.Uint64 = AsmReadMsr64 (MSR_XEON_5600_TURBO_RATIO_LIMIT);
128 @note MSR_XEON_5600_TURBO_RATIO_LIMIT is defined as MSR_TURBO_RATIO_LIMIT in SDM.
130 #define MSR_XEON_5600_TURBO_RATIO_LIMIT 0x000001AD
133 MSR information returned for MSR index #MSR_XEON_5600_TURBO_RATIO_LIMIT_REGISTER
137 /// Individual bit fields
141 /// [Bits 7:0] Package. Maximum Ratio Limit for 1C Maximum turbo ratio
142 /// limit of 1 core active.
146 /// [Bits 15:8] Package. Maximum Ratio Limit for 2C Maximum turbo ratio
147 /// limit of 2 core active.
151 /// [Bits 23:16] Package. Maximum Ratio Limit for 3C Maximum turbo ratio
152 /// limit of 3 core active.
156 /// [Bits 31:24] Package. Maximum Ratio Limit for 4C Maximum turbo ratio
157 /// limit of 4 core active.
161 /// [Bits 39:32] Package. Maximum Ratio Limit for 5C Maximum turbo ratio
162 /// limit of 5 core active.
166 /// [Bits 47:40] Package. Maximum Ratio Limit for 6C Maximum turbo ratio
167 /// limit of 6 core active.
173 /// All bit fields as a 64-bit value
176 } MSR_XEON_5600_TURBO_RATIO_LIMIT_REGISTER
;
180 Package. See Table 2-2.
182 @param ECX MSR_XEON_5600_IA32_ENERGY_PERF_BIAS (0x000001B0)
183 @param EAX Lower 32-bits of MSR value.
184 @param EDX Upper 32-bits of MSR value.
190 Msr = AsmReadMsr64 (MSR_XEON_5600_IA32_ENERGY_PERF_BIAS);
191 AsmWriteMsr64 (MSR_XEON_5600_IA32_ENERGY_PERF_BIAS, Msr);
193 @note MSR_XEON_5600_IA32_ENERGY_PERF_BIAS is defined as IA32_ENERGY_PERF_BIAS in SDM.
195 #define MSR_XEON_5600_IA32_ENERGY_PERF_BIAS 0x000001B0