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
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
);\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
- if (!FeaturePcdGet (PcdPcdInfoGeneration)) {\r
- return EFI_UNSUPPORTED;\r
- }\r
return mPcdDatabase.PeiDb->SystemSkuId;\r
}\r
\r
return mPcdDatabase.PeiDb->SystemSkuId;\r
}\r
\r
\r
[Pcd]\r
gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress ## SOMETIMES_CONSUMES\r
\r
[Pcd]\r
gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress ## SOMETIMES_CONSUMES\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdPcdInfoGeneration\r
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
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
- 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
- if (!FeaturePcdGet (PcdPcdInfoGeneration)) {\r
- return EFI_UNSUPPORTED;\r
- }\r
return GetPcdDatabase()->SystemSkuId;\r
}\r
\r
return GetPcdDatabase()->SystemSkuId;\r
}\r
\r
[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
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
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