]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg and Nt32Pkg Pcd: Add the new EFI_GET_PCD_INFO_PROTOCOL and EFI_GET_PCD_I...
authorStar Zeng <star.zeng@intel.com>
Wed, 20 Nov 2013 02:04:23 +0000 (02:04 +0000)
committerlzeng14 <lzeng14@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 20 Nov 2013 02:04:23 +0000 (02:04 +0000)
It has no obviously benefit to reduce size by PcdPcdInfoGeneration, so remove this PCD.
And PCD_INFO_GENERATION flag can be used to enable/disable PCD info feature, a sample is added in Nt32Pkg to show how to use this flag.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14869 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/MdeModulePkg.dec
MdeModulePkg/Universal/PCD/Dxe/Pcd.c
MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
MdeModulePkg/Universal/PCD/Dxe/Service.c
MdeModulePkg/Universal/PCD/Pei/Pcd.c
MdeModulePkg/Universal/PCD/Pei/Pcd.inf
MdeModulePkg/Universal/PCD/Pei/Service.c
Nt32Pkg/Nt32Pkg.dsc

index 68377aaf368b0c8a77cb45822e1479039bed5b63..b627eb101c2851396a8a36fa873772c4d930b904 100644 (file)
   gEdkiiFormBrowserEx2ProtocolGuid = { 0xa770c357, 0xb693, 0x4e6d, { 0xa6, 0xcf, 0xd2, 0x1c, 0x72, 0x8e, 0x55, 0xb } }\r
 \r
 [PcdsFeatureFlag]\r
   gEdkiiFormBrowserEx2ProtocolGuid = { 0xa770c357, 0xb693, 0x4e6d, { 0xa6, 0xcf, 0xd2, 0x1c, 0x72, 0x8e, 0x55, 0xb } }\r
 \r
 [PcdsFeatureFlag]\r
-  ## Indicates if the Pcd Info Ppi and Protocol should be produced.<BR><BR>\r
-  #  It can be disabled to save size.<BR><BR>\r
-  #   TRUE  - Pcd Info Ppi and Protocol will be produced.<BR>\r
-  #   FALSE - Pcd Info Ppi and Protocol will not be produced.<BR>\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdPcdInfoGeneration|FALSE|BOOLEAN|0x0001001C\r
-\r
   ## Indicate whether platform can support update capsule across a system reset\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|FALSE|BOOLEAN|0x0001001d\r
 \r
   ## Indicate whether platform can support update capsule across a system reset\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|FALSE|BOOLEAN|0x0001001d\r
 \r
index afe925c5e2e18594b7d1d13214ab4023ffd704a9..8a3e8cd500ad311331b22697a8118d6bd49ce1c7 100644 (file)
@@ -150,7 +150,10 @@ PcdDxeInit (
                   );\r
   ASSERT_EFI_ERROR (Status);\r
 \r
                   );\r
   ASSERT_EFI_ERROR (Status);\r
 \r
-  if (FeaturePcdGet (PcdPcdInfoGeneration) && mPcdDatabase.DxeDb->PcdNameTableOffset != 0) {\r
+  //\r
+  // Only install PcdInfo PROTOCOL when PCD info content is present. \r
+  //\r
+  if (mPcdDatabase.DxeDb->PcdNameTableOffset != 0) {\r
     //\r
     // Install GET_PCD_INFO_PROTOCOL to handle dynamic type PCD\r
     // Install EFI_GET_PCD_INFO_PROTOCOL to handle dynamicEx type PCD\r
     //\r
     // Install GET_PCD_INFO_PROTOCOL to handle dynamic type PCD\r
     // Install EFI_GET_PCD_INFO_PROTOCOL to handle dynamicEx type PCD\r
@@ -228,9 +231,6 @@ DxeGetPcdInfoGetSku (
   VOID\r
   )\r
 {\r
   VOID\r
   )\r
 {\r
-  if (!FeaturePcdGet (PcdPcdInfoGeneration)) {\r
-    return EFI_UNSUPPORTED;\r
-  }\r
   return mPcdDatabase.PeiDb->SystemSkuId;\r
 }\r
 \r
   return mPcdDatabase.PeiDb->SystemSkuId;\r
 }\r
 \r
index 8565b30307c5da7f5c8602f42675a6fff5bc72b4..2b8d83c12b0da5986bbc2e620280f6800fdf3ff1 100644 (file)
 \r
 [Pcd]\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress  ## SOMETIMES_CONSUMES\r
 \r
 [Pcd]\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress  ## SOMETIMES_CONSUMES\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdPcdInfoGeneration\r
 \r
 [Depex]\r
   TRUE\r
 \r
 [Depex]\r
   TRUE\r
index 43a3bda7760d45ecc165da430164a5d63321f24f..54c814b56252c134ec4a0ed4bc277a97e127ec40 100644 (file)
@@ -283,10 +283,6 @@ DxeGetPcdInfo (
   UINT32                LocalTokenNumber;\r
   BOOLEAN               IsPeiDb;\r
 \r
   UINT32                LocalTokenNumber;\r
   BOOLEAN               IsPeiDb;\r
 \r
-  if (!FeaturePcdGet (PcdPcdInfoGeneration)) {\r
-    return EFI_UNSUPPORTED;\r
-  }\r
-\r
   ASSERT (PcdInfo != NULL);\r
 \r
   Status = EFI_NOT_FOUND;\r
   ASSERT (PcdInfo != NULL);\r
 \r
   Status = EFI_NOT_FOUND;\r
index a9ee051263752732b78673db3bb1e9d4e3636998..91e94e263dd3eaed00fc1800718b94654ed2fb23 100644 (file)
@@ -158,9 +158,9 @@ PcdPeimInit (
   ASSERT_EFI_ERROR (Status);\r
 \r
   //\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   //\r
-  // Only install PcdInfo PPI when the feature is enabled and PCD info content is present. \r
+  // Only install PcdInfo PPI when PCD info content is present. \r
   //\r
   //\r
-  if (FeaturePcdGet (PcdPcdInfoGeneration) && (DataBase->PcdNameTableOffset != 0)) {\r
+  if (DataBase->PcdNameTableOffset != 0) {\r
     //\r
     // Install GET_PCD_INFO_PPI and EFI_GET_PCD_INFO_PPI.\r
     //\r
     //\r
     // Install GET_PCD_INFO_PPI and EFI_GET_PCD_INFO_PPI.\r
     //\r
@@ -232,9 +232,6 @@ PeiGetPcdInfoGetSku (
   VOID\r
   )\r
 {\r
   VOID\r
   )\r
 {\r
-  if (!FeaturePcdGet (PcdPcdInfoGeneration)) {\r
-    return EFI_UNSUPPORTED;\r
-  }\r
   return GetPcdDatabase()->SystemSkuId;\r
 }\r
 \r
   return GetPcdDatabase()->SystemSkuId;\r
 }\r
 \r
index fabe63c4f4c345c670b6abe8981c244c9f285faa..357f047ff0986ec78734ea35678f3a6b4db2305e 100644 (file)
 [Pcd]\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress ## SOMETIMES_CONSUMES\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPcdCallBackNumberPerPcdEntry || gEfiMdeModulePkgTokenSpaceGuid.PcdPeiFullPcdDatabaseEnable ## SOMETIMES_CONSUMES\r
 [Pcd]\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress ## SOMETIMES_CONSUMES\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPcdCallBackNumberPerPcdEntry || gEfiMdeModulePkgTokenSpaceGuid.PcdPeiFullPcdDatabaseEnable ## SOMETIMES_CONSUMES\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdPcdInfoGeneration\r
 \r
 [Depex]\r
   TRUE\r
 \r
 [Depex]\r
   TRUE\r
index 04ae874a21c05a1c9d2f48e7bdbe0f8796d515a1..e42d045d27381947deca4e474907ae109587a027 100644 (file)
@@ -247,10 +247,6 @@ PeiGetPcdInfo (
   UINTN                 PeiNexTokenNumber;\r
   UINT32                LocalTokenNumber;\r
 \r
   UINTN                 PeiNexTokenNumber;\r
   UINT32                LocalTokenNumber;\r
 \r
-  if (!FeaturePcdGet (PcdPcdInfoGeneration)) {\r
-    return EFI_UNSUPPORTED;\r
-  }\r
-\r
   ASSERT (PcdInfo != NULL);\r
 \r
   PeiPcdDb          = GetPcdDatabase ();\r
   ASSERT (PcdInfo != NULL);\r
 \r
   PeiPcdDb          = GetPcdDatabase ();\r
index 59ee48741b457c0c55b94d6e41837b17bbe34cb4..63e510837167a2bf707f7a8dbe120c5c045cdf4a 100644 (file)
   BUILD_TARGETS                  = DEBUG|RELEASE\r
   SKUID_IDENTIFIER               = DEFAULT\r
   FLASH_DEFINITION               = Nt32Pkg/Nt32Pkg.fdf\r
   BUILD_TARGETS                  = DEBUG|RELEASE\r
   SKUID_IDENTIFIER               = DEFAULT\r
   FLASH_DEFINITION               = Nt32Pkg/Nt32Pkg.fdf\r
+  //\r
+  // This flag is to control tool to generate PCD info for dynamic(ex) PCD,\r
+  // then enable or disable PCD info feature. TRUE is enable, and FLASE is disable.\r
+  // If the flag is absent, it will be same as FALSE.\r
+  //\r
+  PCD_INFO_GENERATION            = TRUE\r
 \r
   #\r
   # Defines for default states.  These can be changed on the command line.\r
 \r
   #\r
   # Defines for default states.  These can be changed on the command line.\r