\r
#include "Service.h"\r
\r
+//\r
+// Instance of PCD_PPI protocol is native implementation by MdePkg.\r
+// This protocol instance support dynamic and dynamicEx type PCDs.\r
+//\r
PCD_PPI mPcdPpiInstance = {\r
PeiPcdSetSku,\r
\r
PeiPcdGetNextTokenSpace\r
};\r
\r
+//\r
+// Instance of EFI_PEI_PCD_PPI which is defined in PI 1.2 Vol 3.\r
+// This PPI instance only support dyanmicEx type PCD.\r
+//\r
EFI_PEI_PCD_PPI mEfiPcdPpiInstance = {\r
PeiPcdSetSku,\r
\r
/**\r
Main entry for PCD PEIM driver.\r
\r
- This routine initialize the PCD database for PEI phase and install PCD_PPI.\r
+ This routine initialize the PCD database for PEI phase and install PCD_PPI/EFI_PEI_PCD_PPI.\r
\r
@param FileHandle Handle of the file being invoked.\r
@param PeiServices Describes the list of possible PEI Services.\r
IN CONST EFI_PEI_SERVICES **PeiServices\r
)\r
{\r
+ EFI_STATUS Status;\r
+ \r
BuildPcdDatabase ();\r
\r
- return PeiServicesInstallPpi (&mPpiPCD);\r
+ //\r
+ // Install PCD_PPI which produce support for dynamic and dynamicEx PCD\r
+ //\r
+ Status = PeiServicesInstallPpi (&mPpiPCD);\r
+ ASSERT_EFI_ERROR (Status);\r
+ \r
+ //\r
+ // Install EFI_PCD_PPI which produce support for dynamicEx PCD which is defined\r
+ // in PI 1.2 Vol 3 specification.\r
+ //\r
+ Status = PeiServicesInstallPpi (&mEfiPpiPCD);\r
+ ASSERT_EFI_ERROR (Status);\r
+ \r
+ return Status;\r
}\r
\r
/**\r