summaryrefslogtreecommitdiff
path: root/BraswellPlatformPkg/Common/Feature/SmBiosMiscDxe/SmBiosCpu/SocketLga1156Lib.h
blob: 239485e85c2be6c23c7e4ee7f86dbea67b8dc0af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
/** @file
  Public include file for CPU definitions and CPU library functions that
  apply to CPUs that fit into an LGA1156 spocket.

  Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>

  This program and the accompanying materials
  are licensed and made available under the terms and conditions of the BSD License
  which accompanies this distribution.  The full text of the license may be found at
  http://opensource.org/licenses/bsd-license.php.

  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

**/

#ifndef _SOCKET_LGA_1156_H_
#define _SOCKET_LGA_1156_H_

#define EFI_CPUID_MONITOR_MWAIT_PARAMS               0x5

//
// Processor Family and Model information.
//
#define NEHALEM_FAMILY_ID             0x06
#define BLOOMFIELD_MODEL_ID           0x1A
#define LYNNFIELD_MODEL_ID            0x1E
#define CLARKDALE_MODEL_ID            0x25
#define TUNNELCREEK_MODEL_ID          0x26
#define NEHALEM_EX_MODEL_ID           0x2E
#define WESTMERE_EX_MODEL_ID          0x2F

#define SANDYBRIDGE_CLIENT_MODEL_ID   0x2A
#define SANDYBRIDGE_SERVER_MODEL_ID   0x2D

#define VALLEYVIEW_MODEL_ID           0x37
#define AVOTON_MODEL_ID               0x4D

#define IVYBRIDGE_CLIENT_MODEL_ID     0x3A
#define IVYBRIDGE_SERVER_MODEL_ID     0x3E

#define HASWELL_CLIENT_MODEL_ID       0x3C
#define HASWELL_SERVER_MODEL_ID       0x3F

#define IS_NEHALEM_PROC(FamilyId, ModelId) \
  (FamilyId == NEHALEM_FAMILY_ID && \
   ( \
    ModelId == BLOOMFIELD_MODEL_ID || \
    ModelId == LYNNFIELD_MODEL_ID || \
    ModelId == CLARKDALE_MODEL_ID \
    ) \
   )

#define IS_NEHALEM_SERVER_PROC(FamilyId, ModelId) \
  (FamilyId == NEHALEM_FAMILY_ID && \
   ( \
    ModelId == NEHALEM_EX_MODEL_ID || \
    ModelId == WESTMERE_EX_MODEL_ID \
    ) \
   )

#define IS_TUNNELCREEK_PROC(FamilyId, ModelId) \
  (FamilyId == NEHALEM_FAMILY_ID && \
   ( \
    ModelId == TUNNELCREEK_MODEL_ID \
    ) \
   )

#define IS_SANDYBRIDGE_PROC(FamilyId, ModelId) \
  (FamilyId == NEHALEM_FAMILY_ID && \
   ( \
    ModelId == SANDYBRIDGE_CLIENT_MODEL_ID || \
    ModelId == SANDYBRIDGE_SERVER_MODEL_ID \
    ) \
   )

#define IS_SANDYBRIDGE_SERVER_PROC(FamilyId, ModelId) \
  (FamilyId == NEHALEM_FAMILY_ID && \
   ( \
    ModelId == SANDYBRIDGE_SERVER_MODEL_ID \
    ) \
   )

 #define IS_SILVERMONT_PROC(FamilyId, ModelId) \
  (FamilyId == NEHALEM_FAMILY_ID && \
   ( \
    ModelId == VALLEYVIEW_MODEL_ID || \
    ModelId == AVOTON_MODEL_ID \
    ) \
   )

 #define IS_VALLEYVIEW_PROC(FamilyId, ModelId) \
  (FamilyId == NEHALEM_FAMILY_ID && \
   ( \
    ModelId == VALLEYVIEW_MODEL_ID \
    ) \
   )

 #define IS_AVOTON_PROC(FamilyId, ModelId) \
  (FamilyId == NEHALEM_FAMILY_ID && \
   ( \
    ModelId == AVOTON_MODEL_ID \
    ) \
   )

#define IS_IVYBRIDGE_PROC(FamilyId, ModelId) \
  (FamilyId == NEHALEM_FAMILY_ID && \
   ( \
    ModelId == IVYBRIDGE_CLIENT_MODEL_ID || \
    ModelId == IVYBRIDGE_SERVER_MODEL_ID \
    ) \
   )

#define IS_IVYBRIDGE_SERVER_PROC(FamilyId, ModelId) \
  (FamilyId == NEHALEM_FAMILY_ID && \
   ( \
    ModelId == IVYBRIDGE_SERVER_MODEL_ID \
    ) \
   )

#define IS_HASWELL_PROC(FamilyId, ModelId) \
  (FamilyId == NEHALEM_FAMILY_ID && \
   ( \
    ModelId == HASWELL_CLIENT_MODEL_ID || \
    ModelId == HASWELL_SERVER_MODEL_ID \
    ) \
   )

#define IS_HASWELL_SERVER_PROC(FamilyId, ModelId) \
  (FamilyId == NEHALEM_FAMILY_ID && \
   ( \
    ModelId == HASWELL_SERVER_MODEL_ID \
    ) \
   )

//
// Socket LGA1156 and LGA1366 based MSR definitions.
//
#define MSR_MONITOR_FILTER_SIZE             0x06
#define MSR_CHL_CONTROLS                    0x2D
#define MSR_PIC_MSG_CONTROL                 0x2E
#define MSR_DCU_MODE                        0x31
#define MSR_CORE_THREAD_COUNT               0x35
#define MSR_SOCKET_ID                       0x39
#define MSR_VLW_CONTROL                     0x4B
#define MSR_QUIESCE_CONTROL                 0x50
#define MSR_PLATFORM_INFO                   0xCE
#define MSR_PMG_CST_CONFIG_CONTROL          0xE2
#define MSR_PMG_IO_CAPTURE_BASE             0xE4
#define MSR_CPUID1_FEATURE_MASK             0x130
#define MSR_CPUID80000001_FEATURE_MASK      0x131
#define MSR_FEATURE_CONFIG                  0x13C
#define MSR_PCID_ENABLE_FEATURE             0x13D
#define MSR_MCG_CONTAIN                     0x178
#define MSR_FLEX_RATIO                      0x194
#define MSR_IA32_CLOCK_MODULATION           0x19A
#define MSR_TEMPERATURE_TARGET              0x1A2
#define MSR_MISC_FEATURE_CONTROL            0x1A4
#define MSR_MISC_PWR_MGMT                   0x1AA
#define MSR_TURBO_POWER_CURRENT_LIMIT       0x1AC

#define MSR_IA32_ENERGY_PERFORMANCE_BIAS    0x1B0
#define MSR_VLW_CAPABILITY                  0x1F0
#define MSR_FERR_CAPABILITY                 0x1F1
#define MSR_SMRR_PHYSBASE                   0x1F2
#define MSR_SMRR_PHYSMASK                   0x1F3
#define MSR_EMRR_PHYSBASE                   0x1F4
#define MSR_EMRR_PHYSMASK                   0x1F5
#define MSR_IA32_PLATFORM_DCA_CAP           0x1F8
#define MSR_IA32_CPU_DCA_CAP                0x1F9
#define MSR_IA32_DCA_0_CAP                  0x1FA
#define MSR_NO_EVICT_MODE                   0x2E0
#define MSR_UNCORE_CR_MEMLOCK_COMMANDS      0x2E2
#define MSR_UNCORE_CR_UNCORE_MC_CFG_CONTROL 0x2E3
#define MSR_PCIEXBAR_MSR                    0x300
#define MSR_PKG_C3_RESIDENCY                0x3F8
#define MSR_PKG_C6_RESIDENCY                0x3F9
#define MSR_PKG_C7_RESIDENCY                0x3FA
#define MSR_CORE_C3_RESIDENCY               0x3FC
#define MSR_CORE_C6_RESIDENCY               0x3FD
#define MSR_CORE_C7_RESIDENCY               0x3FE

#define MSR_PACKAGE_POWER_LIMIT             0x610
#define MSR_PACKAGE_POWER_SKU_UNIT          0x606
#define MSR_IACORE_TURBO_RATIOS             0x66C
#define MSR_IACORE_TURBO_VIDS               0x66D

#define EFI_MSR_EBC_FREQUENCY_ID            0x2C
#define EFI_MSR_PSB_CLOCK_STATUS            0xCD
#define EFI_MSR_GV_THERM                    0x19D

#endif