]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
MdePkg and MdeModulePkg Pcd: Implement PCD Driver for External PCD Database and SKU...
[mirror_edk2.git] / MdeModulePkg / Universal / PCD / Dxe / Pcd.inf
index 5e5bacbcfcdf7bc8c2c0fd0c96683548fb2652e0..6762bde06181896d951a2bd7466a0642ffce459c 100644 (file)
@@ -1,18 +1,19 @@
-#/** @file\r
-# PCD DXE driver manage database contains all dynamic PCD entries initialized in \r
-# PEI phase, DXE phase and produce the implementation of PCD protocol.\r
+## @file\r
+# PCD DXE driver manage database contains all dynamic PCD entries and produce the implementation of PCD protocol.\r
 #\r
+# This version PCD DXE depends on the external PCD database binary file, not built in PCD data base. \r
 # There are two PCD Protocols as follows:\r
 #   1) PCD_PROTOCOL \r
 #      It is EDKII implementation which support Dynamic/DynamicEx type Pcds.\r
-#   2) EFI_PCD_PROTOCOL_PPI\r
+#   2) EFI_PCD_PROTOCOL\r
 #      It is defined by PI specification 1.2, Vol 3 which only support dynamicEx \r
 #      type Pcd.\r
 #\r
-# For dynamicEx type PCD, it is compatible between PCD_PPI and EFI_PEI_PCD_PPI\r
+# For dynamicEx type PCD, it is compatible between PCD_PROTOCOL and EFI_PCD_PROTOCOL\r
 # PCD DXE driver will produce above two protocols at same time.\r
 #\r
-# PCD database structure is generated at autogen.h/autogen.c in build time.\r
+# PCD database is generated as the separate binary image at build time. The binary image \r
+# will be intergrated into Firmware volume together with PCD driver. \r
 #\r
 # ////////////////////////////////////////////////////////////////////////////////\r
 # //                                                                            //\r
@@ -63,7 +64,7 @@
 #      b) Variable Storage: \r
 #         - The PCD value is stored in variable area. \r
 #         - As default storage type, this type PCD could be used for PEI/DXE driver\r
-#           communication. But beside it, this type PCD could alsp be used to store \r
+#           communication. But beside it, this type PCD could also be used to store \r
 #           the value associate with a HII setting via variable interface.\r
 #         - In PEI phase, the PCD value could only be got but can not be set due \r
 #           to variable area is readonly.\r
 #    PCD information used in PEI phase or use in both PEI/DXE phase. And DXE PCD\r
 #    database contains all PCDs used in PEI/DXE phase in memory.\r
 #    \r
-#    Build tool will generate PCD database into some C structure and variable for \r
+#    Build tool will generate PCD database into the separate binary file for \r
 #    PEI/DXE PCD driver according to dynamic PCD section in platform DSC file. \r
 #    \r
 #    3.1 PcdPeim and PcdDxe\r
 #      PEI PCD database is maintained by PcdPeim driver run from flash. PcdPeim driver\r
-#      build guid hob in temporary memory and copy auto-generated C structure \r
+#      build guid hob in temporary memory and copy the binary data base from flash \r
 #      to temporary memory for PEI PCD database. \r
 #      DXE PCD database is maintained by PcdDxe driver.At entry point of PcdDxe driver,\r
 #      a new PCD database is allocated in boot-time memory which including all\r
 #       Based on local token number, PCD driver could fast determine PCD type, value\r
 #       type and get PCD entry from PCD database.\r
 #       \r
-#    3.3 PCD Database C structure.\r
-#      PCD Database C structure is generated by build tools in PCD driver's autogen.h/\r
+#    3.3 PCD Database binary file\r
+#      PCD Database binary file will be created at build time as the standalone binary image. \r
+#      To understand the binary image layout, PCD Database C structure is still generated \r
+#      as comments by build tools in PCD driver's autogen.h/\r
 #      autogen.c file. In generated C structure, following information is stored:\r
 #      - ExMapTable: This table is used translate a binary dynamicex type PCD's \r
 #                    "tokenguid + token" to local token number.\r
 #                    token number" as array index to get PCD entry's offset fastly.\r
 #      - SizeTable:  This table stores the size information for all PCD entry.\r
 #      - GuidTable:  This table stores guid value for DynamicEx's token space,\r
-#                    HII type PCD's variable.\r
+#                    HII type PCD's variable GUID.\r
 #      - SkuIdTable: TBD\r
 #      - SystemSkuId: TBD\r
 #      - PCD value structure:  \r
 #          GuidTable array is used to store all related GUID value in PCD database:\r
 #            - Variable GUID for HII type PCD\r
 #            - Token space GUID for dynamicex type PCD \r
+#    \r
+#  Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>\r
 #\r
-# Copyright (c) 2006 - 2009, Intel Corporation\r
-#\r
-#  All rights reserved. This program and the accompanying materials\r
+#  This program and the accompanying materials\r
 #  are licensed and made available under the terms and conditions of the BSD License\r
 #  which accompanies this distribution. The full text of the license may be found at\r
 #  http://opensource.org/licenses/bsd-license.php\r
 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 #\r
-#**/\r
+##\r
 \r
 [Defines]\r
   INF_VERSION                    = 0x00010005\r
   BASE_NAME                      = PcdDxe\r
   FILE_GUID                      = 80CF7257-87AB-47f9-A3FE-D50B76D89541\r
   MODULE_TYPE                    = DXE_DRIVER\r
-  VERSION_STRING                 = 1.0\r
+  VERSION_STRING                 = 4.0\r
   PCD_IS_DRIVER                  = DXE_PCD_DRIVER\r
   ENTRY_POINT                    = PcdDxeInit\r
 \r
 #  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
 #\r
 \r
-[Sources.common]\r
+[Sources]\r
   Pcd.c\r
   Service.c\r
   Service.h\r
   DebugLib\r
   BaseLib\r
   PcdLib\r
+  DxeServicesLib\r
 \r
 [Guids]\r
-  gPcdDataBaseHobGuid                           ## CONSUMES  ## Hob: GUID_EXTENSION\r
+  gPcdDataBaseHobGuid                           ## SOMETIMES_CONSUMES  ## HOB\r
+  gPcdDataBaseSignatureGuid                     ## CONSUMES  ## UNDEFINED  # PCD database signature GUID.\r
 \r
 [Protocols]\r
   gPcdProtocolGuid                              ## PRODUCES\r
   gEfiPcdProtocolGuid                           ## PRODUCES\r
   \r
-[FixedPcd.common]\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress\r
+[Pcd]\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress  ## SOMETIMES_CONSUMES\r
 \r
 [Depex]\r
   TRUE\r