X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdeModulePkg%2FUniversal%2FPCD%2FDxe%2FPcd.inf;h=6762bde06181896d951a2bd7466a0642ffce459c;hp=112c91e0617e0543b99d1647e82e64d95948cb6e;hb=419db80bef66edff583a0a5f406e801d70f11344;hpb=e5eed7d3641d71d7ea539e5379ea9c6a5cd97004
diff --git a/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf b/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
index 112c91e061..6762bde061 100644
--- a/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
+++ b/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
@@ -1,18 +1,19 @@
## @file
-# PCD DXE driver manage database contains all dynamic PCD entries initialized in
-# PEI phase, DXE phase and produce the implementation of PCD protocol.
+# PCD DXE driver manage database contains all dynamic PCD entries and produce the implementation of PCD protocol.
#
+# This version PCD DXE depends on the external PCD database binary file, not built in PCD data base.
# There are two PCD Protocols as follows:
# 1) PCD_PROTOCOL
# It is EDKII implementation which support Dynamic/DynamicEx type Pcds.
-# 2) EFI_PCD_PROTOCOL_PPI
+# 2) EFI_PCD_PROTOCOL
# 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.
+# For dynamicEx type PCD, it is compatible between PCD_PROTOCOL and EFI_PCD_PROTOCOL.
# PCD DXE driver will produce above two protocols at same time.
#
-# PCD database structure is generated at autogen.h/autogen.c in build 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.
#
# ////////////////////////////////////////////////////////////////////////////////
# // //
@@ -63,7 +64,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.
@@ -94,12 +95,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
@@ -185,8 +186,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.
@@ -195,7 +198,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:
@@ -275,8 +278,8 @@
# GuidTable array is used to store all related GUID value in PCD database:
# - Variable GUID for HII type PCD
# - Token space GUID for dynamicex type PCD
-#
-# Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
+#
+# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -293,7 +296,7 @@
BASE_NAME = PcdDxe
FILE_GUID = 80CF7257-87AB-47f9-A3FE-D50B76D89541
MODULE_TYPE = DXE_DRIVER
- VERSION_STRING = 1.0
+ VERSION_STRING = 4.0
PCD_IS_DRIVER = DXE_PCD_DRIVER
ENTRY_POINT = PcdDxeInit
@@ -323,16 +326,18 @@
DebugLib
BaseLib
PcdLib
+ DxeServicesLib
[Guids]
- gPcdDataBaseHobGuid ## CONSUMES ## Hob: GUID_EXTENSION
+ gPcdDataBaseHobGuid ## SOMETIMES_CONSUMES ## HOB
+ gPcdDataBaseSignatureGuid ## CONSUMES ## UNDEFINED # PCD database signature GUID.
[Protocols]
gPcdProtocolGuid ## PRODUCES
gEfiPcdProtocolGuid ## PRODUCES
[Pcd]
- gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress
+ gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress ## SOMETIMES_CONSUMES
[Depex]
TRUE