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