5 * AMD Family_14 MSR tables with values as defined in BKDG
7 * @xrefitem bom "File Content Label" "Release Content"
10 * @e \$Revision: 37263 $ @e \$Date: 2010-09-01 21:58:26 +0800 (Wed, 01 Sep 2010) $
14 *****************************************************************************
16 * Copyright (c) 2011, Advanced Micro Devices, Inc.
17 * All rights reserved.
19 * Redistribution and use in source and binary forms, with or without
20 * modification, are permitted provided that the following conditions are met:
21 * * Redistributions of source code must retain the above copyright
22 * notice, this list of conditions and the following disclaimer.
23 * * Redistributions in binary form must reproduce the above copyright
24 * notice, this list of conditions and the following disclaimer in the
25 * documentation and/or other materials provided with the distribution.
26 * * Neither the name of Advanced Micro Devices, Inc. nor the names of
27 * its contributors may be used to endorse or promote products derived
28 * from this software without specific prior written permission.
30 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
31 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
32 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
33 * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY
34 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
35 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
36 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
37 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
38 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
39 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
41 * ***************************************************************************
45 /*----------------------------------------------------------------------------------------
46 * M O D U L E S U S E D
47 *----------------------------------------------------------------------------------------
50 #include "cpuRegisters.h"
53 #define FILECODE PROC_CPU_FAMILY_0X14_CPUF14MSRTABLES_FILECODE
55 /*----------------------------------------------------------------------------------------
56 * D E F I N I T I O N S A N D M A C R O S
57 *----------------------------------------------------------------------------------------
60 /*----------------------------------------------------------------------------------------
61 * T Y P E D E F S A N D S T R U C T U R E S
62 *----------------------------------------------------------------------------------------
65 /*----------------------------------------------------------------------------------------
66 * P R O T O T Y P E S O F L O C A L F U N C T I O N S
67 *----------------------------------------------------------------------------------------
70 /*----------------------------------------------------------------------------------------
71 * E X P O R T E D F U N C T I O N S
72 *----------------------------------------------------------------------------------------
74 CONST MSR_TYPE_ENTRY_INITIALIZER ROMDATA F14MsrRegisters[] =
78 // ----------------------
80 // MSR_TOM2 (0xC001001D)
81 // bits[63:0] - TOP_MEM2 = 0
85 AMD_FAMILY_14, // CpuFamily
86 AMD_F14_ALL // CpuRevision
88 AMD_PF_ALL, // platformFeatures
90 MSR_TOM2, // MSR Address
91 0x0000000000000000, // OR Mask
92 0xFFFFFFFFFFFFFFFF, // NAND Mask
95 // MSR_SYS_CFG (0xC0010010)
96 // bit[21] - MtrrTom2En = 1
100 AMD_FAMILY_14, // CpuFamily
101 AMD_F14_ALL // CpuRevision
103 AMD_PF_ALL, // platformFeatures
105 MSR_SYS_CFG, // MSR Address
106 (1 << 21), // OR Mask
107 (1 << 21), // NAND Mask
110 // MSR_CPUID_EXT_FEATS (0xC0011005)
111 // bit[41] - OSVW = 0
115 AMD_FAMILY_14, // CpuFamily
116 AMD_F14_ALL // CpuRevision
118 AMD_PF_ALL, // platformFeatures
120 MSR_CPUID_EXT_FEATS, // MSR Address
121 0x0000000000000000, // OR Mask
122 0x0000020000000000, // NAND Mask
125 // MSR_OSVW_ID_Length (0xC0010140)
130 AMD_FAMILY_14, // CpuFamily
131 AMD_F14_ALL // CpuRevision
133 AMD_PF_ALL, // platformFeatures
135 MSR_OSVW_ID_Length, // MSR Address
136 0x0000000000000004, // OR Mask
137 0x000000000000FFFF, // NAND Mask
140 // MSR_HWCR (0xC0010015)
141 // Do not set bit[24] = 1, it will be set in AmdInitPost.
143 // This MSR should be set after the code that most errata would be applied in
144 // MSR_MC0_CTL (0x00000400)
145 // bits[63:0] = 0xFFFFFFFFFFFFFFFF
149 AMD_FAMILY_14, // CpuFamily
150 AMD_F14_ALL // CpuRevision
152 AMD_PF_ALL, // platformFeatures
154 MSR_MC0_CTL, // MSR Address
155 0xFFFFFFFFFFFFFFFF, // OR Mask
156 0xFFFFFFFFFFFFFFFF, // NAND Mask
159 // MSR_LS_CFG (0xC0011020)
160 // bit[36] Reserved = 1, workaround for erratum #530
161 // bit[25] Reserved = 1, workaround for erratum #551
165 AMD_FAMILY_14, // CpuFamily
166 AMD_F14_ALL // CpuRevision
168 AMD_PF_ALL, // platformFeatures
170 MSR_LS_CFG, // MSR Address
171 0x0000001002000000, // OR Mask
172 0x0000001002000000, // NAND Mask
175 // MSR_DC_CFG (0xC0011022)
176 // bit[57:56] Reserved = 2
180 AMD_FAMILY_14, // CpuFamily
181 AMD_F14_ALL // CpuRevision
183 AMD_PF_ALL, // platformFeatures
185 MSR_DC_CFG, // MSR Address
186 0x0200000000000000, // OR Mask
187 0x0300000000000000, // NAND Mask
192 CONST REGISTER_TABLE ROMDATA F14MsrRegisterTable = {
194 (sizeof (F14MsrRegisters) / sizeof (TABLE_ENTRY_FIELDS)),
195 (TABLE_ENTRY_FIELDS *) &F14MsrRegisters,