summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/PCD/Pei/Pcd.inf
diff options
context:
space:
mode:
Diffstat (limited to 'MdeModulePkg/Universal/PCD/Pei/Pcd.inf')
-rw-r--r--MdeModulePkg/Universal/PCD/Pei/Pcd.inf42
1 files changed, 27 insertions, 15 deletions
diff --git a/MdeModulePkg/Universal/PCD/Pei/Pcd.inf b/MdeModulePkg/Universal/PCD/Pei/Pcd.inf
index 20e442082..357f047ff 100644
--- a/MdeModulePkg/Universal/PCD/Pei/Pcd.inf
+++ b/MdeModulePkg/Universal/PCD/Pei/Pcd.inf
@@ -1,6 +1,7 @@
## @file
# PCD PEIM produces PCD database to manage all dynamic PCD in PEI phase and install Pcd Ppi service.
#
+# This version PCD PEIM depends on the external PCD database binary file, not built in PCD data base.
# There are two PCD PPIs as follows:
# 1) PCD_PPI
# It is EDKII implementation which support Dynamic/DynamicEx Pcds.
@@ -8,6 +9,10 @@
# It is defined by PI specification 1.2, Vol 3 which only support dynamicEx
# type Pcd.
# For dynamicEx type PCD, it is compatible between PCD_PPI and EFI_PEI_PCD_PPI.
+# PCD PEIM driver will produce above two PPIs at same time.
+#
+# PCD database is generated as the separate binary image at build time. The binary image
+# will be intergrated into Firmware volume together with PCD driver.
#
# ////////////////////////////////////////////////////////////////////////////////
# // //
@@ -58,7 +63,7 @@
# b) Variable Storage:
# - The PCD value is stored in variable area.
# - As default storage type, this type PCD could be used for PEI/DXE driver
-# communication. But beside it, this type PCD could alsp be used to store
+# communication. But beside it, this type PCD could also be used to store
# the value associate with a HII setting via variable interface.
# - In PEI phase, the PCD value could only be got but can not be set due
# to variable area is readonly.
@@ -89,12 +94,12 @@
# PCD information used in PEI phase or use in both PEI/DXE phase. And DXE PCD
# database contains all PCDs used in PEI/DXE phase in memory.
#
-# Build tool will generate PCD database into some C structure and variable for
+# Build tool will generate PCD database into the separate binary file for
# PEI/DXE PCD driver according to dynamic PCD section in platform DSC file.
#
# 3.1 PcdPeim and PcdDxe
# PEI PCD database is maintained by PcdPeim driver run from flash. PcdPeim driver
-# build guid hob in temporary memory and copy auto-generated C structure
+# build guid hob in temporary memory and copy the binary data base from flash
# to temporary memory for PEI PCD database.
# DXE PCD database is maintained by PcdDxe driver.At entry point of PcdDxe driver,
# a new PCD database is allocated in boot-time memory which including all
@@ -180,8 +185,10 @@
# Based on local token number, PCD driver could fast determine PCD type, value
# type and get PCD entry from PCD database.
#
-# 3.3 PCD Database C structure.
-# PCD Database C structure is generated by build tools in PCD driver's autogen.h/
+# 3.3 PCD Database binary file
+# PCD Database binary file will be created at build time as the standalone binary image.
+# To understand the binary image layout, PCD Database C structure is still generated
+# as comments by build tools in PCD driver's autogen.h/
# autogen.c file. In generated C structure, following information is stored:
# - ExMapTable: This table is used translate a binary dynamicex type PCD's
# "tokenguid + token" to local token number.
@@ -190,7 +197,7 @@
# token number" as array index to get PCD entry's offset fastly.
# - SizeTable: This table stores the size information for all PCD entry.
# - GuidTable: This table stores guid value for DynamicEx's token space,
-# HII type PCD's variable.
+# HII type PCD's variable GUID.
# - SkuIdTable: TBD
# - SystemSkuId: TBD
# - PCD value structure:
@@ -271,7 +278,7 @@
# - Variable GUID for HII type PCD
# - Token space GUID for dynamicex type PCD
#
-# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2013, 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
@@ -288,7 +295,7 @@
BASE_NAME = PcdPeim
FILE_GUID = 9B3ADA4F-AE56-4c24-8DEA-F03B7558AE50
MODULE_TYPE = PEIM
- VERSION_STRING = 1.0
+ VERSION_STRING = 4.0
PCD_IS_DRIVER = PEI_PCD_DRIVER
ENTRY_POINT = PcdPeimInit
@@ -315,22 +322,27 @@
BaseLib
PeimEntryPoint
DebugLib
+ MemoryAllocationLib
[Guids]
- gPcdDataBaseHobGuid ## PRODUCES ## Hob
- gPcdDataBaseHobGuid ## CONSUMES ## Hob
+ ## PRODUCES ## HOB
+ ## SOMETIMES_CONSUMES ## HOB
+ gPcdDataBaseHobGuid
+ gPcdDataBaseSignatureGuid ## CONSUMES ## UNDEFINED # PCD database signature GUID.
[Ppis]
- gEfiPeiReadOnlyVariable2PpiGuid ## CONSUMES
+ gEfiPeiReadOnlyVariable2PpiGuid ## SOMETIMES_CONSUMES
gPcdPpiGuid ## PRODUCES
gEfiPeiPcdPpiGuid ## PRODUCES
-
+ gGetPcdInfoPpiGuid ## SOMETIMES_PRODUCES
+ gEfiGetPcdInfoPpiGuid ## SOMETIMES_PRODUCES
+
[FeaturePcd]
- gEfiMdeModulePkgTokenSpaceGuid.PcdPeiFullPcdDatabaseEnable
+ gEfiMdeModulePkgTokenSpaceGuid.PcdPeiFullPcdDatabaseEnable ## CONSUMES
[Pcd]
- gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress
- gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPcdCallBackNumberPerPcdEntry || gEfiMdeModulePkgTokenSpaceGuid.PcdPeiFullPcdDatabaseEnable
+ gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress ## SOMETIMES_CONSUMES
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPcdCallBackNumberPerPcdEntry || gEfiMdeModulePkgTokenSpaceGuid.PcdPeiFullPcdDatabaseEnable ## SOMETIMES_CONSUMES
[Depex]
TRUE