1#
2#
3# Copyright (c)  1999  - 2014, Intel Corporation. All rights reserved
4#
5
6# This program and the accompanying materials are licensed and made available under
7
8# the terms and conditions of the BSD License that accompanies this distribution.
9
10# The full text of the license may be found at
11
12# http://opensource.org/licenses/bsd-license.php.
13
14#
15
16# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
17
18# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
19
20#
21
22#
23# This PEIM includes 3 parts, pre memory initialization, MRC
24#  wrapper and post memory initialization.
25#  On pre memory, following action is performed,
26#  1. Initizluize GMCH.
27#  2. Detect boot mode.
28#  3. Detect video adapter to determine whether we need pre allocated
29#  memory.
30#
31#  After that MRC wrapper calls MRC to initialize memory and install a PPI
32#  notify to do post memory
33#  initialization. MRC wrapper performance following actions,
34#  1. Install EFI Memory.
35#  2. Capsule coalesce if capsule boot mode.
36#  3. Create HOB of system memory.
37#  Note: MRC supports 3 kinds of chipsets including Lakeport, Glenwood and Mukilteo,
38#   so please don't define MACRO MUKILTEO_SUPPORT on Lakeport here.
39#
40#  On post memory, following action is performed,
41#  1. TC initialization after MRC.
42#  2. SIO initialization.
43#  3. Install ResetSystem and FinvFv PPI, relocate Stall to memory on
44#   recovery boot mode.
45#  4. Set MTRR for PEI
46#  5. Create FV HOB and Flash HOB
47#  6. Install RecoveryModule and AtaController PPI if on recovery boot mode.
48#
49#  This PEIM does not have any register access directly, it depends on
50#  IntelTCLib, TCAccess libraries to access Chipset
51#  registers.
52#
53#  Platform.c - Provide main flow and entrypoint of PEIM.
54#  MemoryCallback.c - Includes a memory call back function notified when
55#     MRC is done.
56#
57#
58
59[Defines]
60  INF_VERSION                    = 0x00010005
61  BASE_NAME                      = PlatformPeim
62  FILE_GUID                      = 9618C0DC-50A4-496c-994F-7241F282ED01
63  MODULE_TYPE                    = PEIM
64  VERSION_STRING                 = 1.0
65  ENTRY_POINT                    = PeiInitPlatform
66  PI_SPECIFICATION_VERSION	   = 0x0001000A
67
68[sources.common]
69  Platform.c
70  Platform.h
71  MemoryCallback.c
72  CommonHeader.h
73  Stall.c
74  BootMode.c
75
76
77[Packages]
78  MdePkg/MdePkg.dec
79  MdeModulePkg/MdeModulePkg.dec
80  Vlv2TbltDevicePkg/PlatformPkg.dec
81  IntelFrameworkPkg/IntelFrameworkPkg.dec
82  Vlv2DeviceRefCodePkg/Vlv2DeviceRefCodePkg.dec
83  IA32FamilyCpuPkg/IA32FamilyCpuPkg.dec
84  UefiCpuPkg/UefiCpuPkg.dec
85  CryptoPkg/CryptoPkg.dec
86  EdkCompatibilityPkg/EdkCompatibilityPkg.dec
87
88[LibraryClasses]
89  PeimEntryPoint
90  DebugLib
91  HobLib
92  IoLib
93  MultiPlatformLib
94  MtrrLib
95  PerformanceLib
96  MonoStatusCodeLib
97  BaseCryptLib
98  PciLib
99
100[Ppis]
101  gEfiPeiStallPpiGuid
102  gPeiSpeakerInterfacePpiGuid
103  gEfiPeiMemoryDiscoveredPpiGuid
104  gVlvPolicyPpiGuid
105  gEfiPeiReadOnlyVariable2PpiGuid
106  gEfiPeiResetPpiGuid
107  gEfiEndOfPeiSignalPpiGuid
108  gEfiFindFvPpiGuid
109  gPeiCapsulePpiGuid
110  gEfiPeiBootInRecoveryModePpiGuid
111  gEfiPeiRecoveryModulePpiGuid
112  gEfiPeiDeviceRecoveryModulePpiGuid
113  gPeiCachePpiGuid
114  gEfiPeiMasterBootModePpiGuid
115  gEfiPeiSmbusPpiGuid
116  gPeiMfgMemoryTestPpiGuid
117  gPeiSha256HashPpiGuid
118  gVlvMmioPolicyPpiGuid
119  gSeCfTPMPolicyPpiGuid
120
121[Guids]
122  gEfiSetupVariableGuid
123  gEfiPlatformInfoGuid
124  gEfiPlatformBootModeGuid
125  gEfiPlatformCpuInfoGuid
126  gEfiGlobalVariableGuid
127  gRecoveryOnFatFloppyDiskGuid
128  gRecoveryOnFatUsbDiskGuid
129  gRecoveryOnFatIdeDiskGuid
130  gRecoveryOnDataCdGuid
131  gMfgModeVariableGuid
132  gEfiNormalSetupGuid
133  gEfiBootStateGuid
134  gEfiVlv2VariableGuid
135
136[Pcd.common]
137  gPlatformModuleTokenSpaceGuid.PcdFlashFvMainBase
138  gPlatformModuleTokenSpaceGuid.PcdFlashFvMainSize
139  gPlatformModuleTokenSpaceGuid.PcdFlashFvRecovery2Base
140  gPlatformModuleTokenSpaceGuid.PcdFlashFvRecovery2Size
141  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress
142  gPlatformModuleTokenSpaceGuid.PcdFlashAreaBaseAddress
143  gPlatformModuleTokenSpaceGuid.PcdFlashAreaSize
144[Depex]
145  TRUE
146
147