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
|
#
#
# Copyright (c) 1999 - 2019, Intel Corporation. All rights reserved
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
# This PEIM includes 3 parts, pre memory initialization, MRC
# wrapper and post memory initialization.
# On pre memory, following action is performed,
# 1. Initizluize GMCH.
# 2. Detect boot mode.
# 3. Detect video adapter to determine whether we need pre allocated
# memory.
#
# After that MRC wrapper calls MRC to initialize memory and install a PPI
# notify to do post memory
# initialization. MRC wrapper performance following actions,
# 1. Install EFI Memory.
# 2. Capsule coalesce if capsule boot mode.
# 3. Create HOB of system memory.
# Note: MRC supports 3 kinds of chipsets including Lakeport, Glenwood and Mukilteo,
# so please don't define MACRO MUKILTEO_SUPPORT on Lakeport here.
#
# On post memory, following action is performed,
# 1. TC initialization after MRC.
# 2. SIO initialization.
# 3. Install ResetSystem and FinvFv PPI, relocate Stall to memory on
# recovery boot mode.
# 4. Set MTRR for PEI
# 5. Create FV HOB and Flash HOB
# 6. Install RecoveryModule and AtaController PPI if on recovery boot mode.
#
# This PEIM does not have any register access directly, it depends on
# IntelTCLib, TCAccess libraries to access Chipset
# registers.
#
# Platform.c - Provide main flow and entrypoint of PEIM.
# MemoryCallback.c - Includes a memory call back function notified when
# MRC is done.
#
#
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = PlatformPeim
FILE_GUID = 9618C0DC-50A4-496c-994F-7241F282ED01
MODULE_TYPE = PEIM
VERSION_STRING = 1.0
ENTRY_POINT = PeiInitPlatform
PI_SPECIFICATION_VERSION = 0x0001000A
[sources.common]
Platform.c
Platform.h
MemoryCallback.c
CommonHeader.h
Stall.c
BootMode.c
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
Vlv2TbltDevicePkg/PlatformPkg.dec
Vlv2DeviceRefCodePkg/Vlv2DeviceRefCodePkg.dec
UefiCpuPkg/UefiCpuPkg.dec
CryptoPkg/CryptoPkg.dec
[LibraryClasses]
PeimEntryPoint
DebugLib
HobLib
IoLib
MultiPlatformLib
MtrrLib
PerformanceLib
MonoStatusCodeLib
BaseCryptLib
PciLib
[Ppis]
gEfiPeiStallPpiGuid
gPeiSpeakerInterfacePpiGuid
gEfiPeiMemoryDiscoveredPpiGuid
gVlvPolicyPpiGuid
gEfiPeiReadOnlyVariable2PpiGuid
gEfiPeiResetPpiGuid
gEfiEndOfPeiSignalPpiGuid
gPeiCapsulePpiGuid
gEfiPeiBootInRecoveryModePpiGuid
gEfiPeiRecoveryModulePpiGuid
gEfiPeiDeviceRecoveryModulePpiGuid
gEfiPeiMasterBootModePpiGuid
gPeiMfgMemoryTestPpiGuid
gPeiSha256HashPpiGuid
gVlvMmioPolicyPpiGuid
gSeCfTPMPolicyPpiGuid
[Guids]
gEfiSetupVariableGuid
gEfiPlatformInfoGuid
gEfiPlatformBootModeGuid
gEfiPlatformCpuInfoGuid
gEfiGlobalVariableGuid
gRecoveryOnFatFloppyDiskGuid
gRecoveryOnFatUsbDiskGuid
gRecoveryOnFatIdeDiskGuid
gRecoveryOnDataCdGuid
gMfgModeVariableGuid
gEfiNormalSetupGuid
gEfiVlv2VariableGuid
[Pcd.common]
gPlatformModuleTokenSpaceGuid.PcdFlashFvMainBase
gPlatformModuleTokenSpaceGuid.PcdFlashFvMainSize
gPlatformModuleTokenSpaceGuid.PcdFlashFvRecovery2Base
gPlatformModuleTokenSpaceGuid.PcdFlashFvRecovery2Size
gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress
gPlatformModuleTokenSpaceGuid.PcdFlashAreaBaseAddress
gPlatformModuleTokenSpaceGuid.PcdFlashAreaSize
[Depex]
TRUE
|