AGESA F15: AMD family15 AGESA code
[coreboot.git] / src / vendorcode / amd / agesa / f15 / Proc / Recovery / Mem / mrdef.c
1 /* $NoKeywords:$ */
2 /**
3  * @file
4  *
5  * mdef.c
6  *
7  * Memory Controller header file
8  *
9  * @xrefitem bom "File Content Label" "Release Content"
10  * @e project: AGESA
11  * @e sub-project: (Proc/Recovery/Mem)
12  * @e \$Revision: 52180 $ @e \$Date: 2011-05-03 05:17:25 -0600 (Tue, 03 May 2011) $
13  *
14  **/
15 /*****************************************************************************
16   *
17  * Copyright (C) 2012 Advanced Micro Devices, Inc.
18  * All rights reserved.
19  *
20  * Redistribution and use in source and binary forms, with or without
21  * modification, are permitted provided that the following conditions are met:
22  *     * Redistributions of source code must retain the above copyright
23  *       notice, this list of conditions and the following disclaimer.
24  *     * Redistributions in binary form must reproduce the above copyright
25  *       notice, this list of conditions and the following disclaimer in the
26  *       documentation and/or other materials provided with the distribution.
27  *     * Neither the name of Advanced Micro Devices, Inc. nor the names of
28  *       its contributors may be used to endorse or promote products derived
29  *       from this software without specific prior written permission.
30  *
31  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
32  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
33  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
34  * DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY
35  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
36  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
37  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
38  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
39  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
40  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
41   *
42   * ***************************************************************************
43   *
44  */
45
46
47 /*
48  *----------------------------------------------------------------------------
49  *                                MODULES USED
50  *
51  *----------------------------------------------------------------------------
52  */
53
54
55 #include "AGESA.h"
56 #include "Filecode.h"
57 CODE_GROUP (G2_PEI)
58 RDATA_GROUP (G2_PEI)
59
60 #define FILECODE PROC_RECOVERY_MEM_MRDEF_FILECODE
61 /*----------------------------------------------------------------------------
62  *                          DEFINITIONS AND MACROS
63  *
64  *----------------------------------------------------------------------------
65  */
66
67 /*----------------------------------------------------------------------------
68  *                           TYPEDEFS AND STRUCTURES
69  *
70  *----------------------------------------------------------------------------
71  */
72
73 /*----------------------------------------------------------------------------
74  *                        PROTOTYPES OF LOCAL FUNCTIONS
75  *
76  *----------------------------------------------------------------------------
77  */
78
79 /*----------------------------------------------------------------------------
80  *                            EXPORTED FUNCTIONS
81  *
82  *----------------------------------------------------------------------------
83  */
84 /* -----------------------------------------------------------------------------*/
85 /**
86  *
87  *         This is the default return function
88  */
89
90 VOID
91 MemRecDefRet ( VOID )
92 {
93 }
94
95 /* -----------------------------------------------------------------------------*/
96 /**
97  *
98  *      This function is the default return function that returns TRUE
99  *
100  */
101 BOOLEAN
102 MemRecDefTrue ( VOID )
103 {
104   return TRUE;
105 }
106
107
108 /* -----------------------------------------------------------------------------*/
109 /**
110  *
111  *      This function programs the DCT with initial values
112  *
113  *
114  *     @param[in,out]   *MCTPtr  - Pointer to the DIE_STRUCT
115  *     @param[in]       Errorval - Error value
116  */
117
118 VOID
119 SetMemRecError (
120   IN       AGESA_STATUS  Errorval,
121   IN OUT   DIE_STRUCT *MCTPtr
122   )
123 {
124   if (MCTPtr->ErrCode < Errorval) {
125     MCTPtr->ErrCode = Errorval;
126   }
127 }
128