Revision: 14869
          http://sourceforge.net/p/edk2/code/14869
Author:   lzeng14
Date:     2013-11-20 02:04:23 +0000 (Wed, 20 Nov 2013)
Log Message:
-----------
MdeModulePkg and Nt32Pkg Pcd: Add the new EFI_GET_PCD_INFO_PROTOCOL and 
EFI_GET_PCD_INFO_PPI support for PI 1.2.1 compliance.

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 <[email protected]>
Reviewed-by: Liming Gao <[email protected]>

Modified Paths:
--------------
    trunk/edk2/MdeModulePkg/MdeModulePkg.dec
    trunk/edk2/MdeModulePkg/Universal/PCD/Dxe/Pcd.c
    trunk/edk2/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
    trunk/edk2/MdeModulePkg/Universal/PCD/Dxe/Service.c
    trunk/edk2/MdeModulePkg/Universal/PCD/Pei/Pcd.c
    trunk/edk2/MdeModulePkg/Universal/PCD/Pei/Pcd.inf
    trunk/edk2/MdeModulePkg/Universal/PCD/Pei/Service.c
    trunk/edk2/Nt32Pkg/Nt32Pkg.dsc

Modified: trunk/edk2/MdeModulePkg/MdeModulePkg.dec
===================================================================
--- trunk/edk2/MdeModulePkg/MdeModulePkg.dec    2013-11-20 01:58:00 UTC (rev 
14868)
+++ trunk/edk2/MdeModulePkg/MdeModulePkg.dec    2013-11-20 02:04:23 UTC (rev 
14869)
@@ -376,12 +376,6 @@
   gEdkiiFormBrowserEx2ProtocolGuid = { 0xa770c357, 0xb693, 0x4e6d, { 0xa6, 
0xcf, 0xd2, 0x1c, 0x72, 0x8e, 0x55, 0xb } }
 
 [PcdsFeatureFlag]
-  ## Indicates if the Pcd Info Ppi and Protocol should be produced.<BR><BR>
-  #  It can be disabled to save size.<BR><BR>
-  #   TRUE  - Pcd Info Ppi and Protocol will be produced.<BR>
-  #   FALSE - Pcd Info Ppi and Protocol will not be produced.<BR>
-  gEfiMdeModulePkgTokenSpaceGuid.PcdPcdInfoGeneration|FALSE|BOOLEAN|0x0001001C
-
   ## Indicate whether platform can support update capsule across a system reset
   
gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|FALSE|BOOLEAN|0x0001001d
 

Modified: trunk/edk2/MdeModulePkg/Universal/PCD/Dxe/Pcd.c
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/PCD/Dxe/Pcd.c     2013-11-20 01:58:00 UTC 
(rev 14868)
+++ trunk/edk2/MdeModulePkg/Universal/PCD/Dxe/Pcd.c     2013-11-20 02:04:23 UTC 
(rev 14869)
@@ -150,7 +150,10 @@
                   );
   ASSERT_EFI_ERROR (Status);
 
-  if (FeaturePcdGet (PcdPcdInfoGeneration) && 
mPcdDatabase.DxeDb->PcdNameTableOffset != 0) {
+  //
+  // Only install PcdInfo PROTOCOL when PCD info content is present. 
+  //
+  if (mPcdDatabase.DxeDb->PcdNameTableOffset != 0) {
     //
     // Install GET_PCD_INFO_PROTOCOL to handle dynamic type PCD
     // Install EFI_GET_PCD_INFO_PROTOCOL to handle dynamicEx type PCD
@@ -228,9 +231,6 @@
   VOID
   )
 {
-  if (!FeaturePcdGet (PcdPcdInfoGeneration)) {
-    return EFI_UNSUPPORTED;
-  }
   return mPcdDatabase.PeiDb->SystemSkuId;
 }
 

Modified: trunk/edk2/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf   2013-11-20 01:58:00 UTC 
(rev 14868)
+++ trunk/edk2/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf   2013-11-20 02:04:23 UTC 
(rev 14869)
@@ -340,7 +340,6 @@
 
 [Pcd]
   gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress  ## SOMETIMES_CONSUMES
-  gEfiMdeModulePkgTokenSpaceGuid.PcdPcdInfoGeneration
 
 [Depex]
   TRUE

Modified: trunk/edk2/MdeModulePkg/Universal/PCD/Dxe/Service.c
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/PCD/Dxe/Service.c 2013-11-20 01:58:00 UTC 
(rev 14868)
+++ trunk/edk2/MdeModulePkg/Universal/PCD/Dxe/Service.c 2013-11-20 02:04:23 UTC 
(rev 14869)
@@ -283,10 +283,6 @@
   UINT32                LocalTokenNumber;
   BOOLEAN               IsPeiDb;
 
-  if (!FeaturePcdGet (PcdPcdInfoGeneration)) {
-    return EFI_UNSUPPORTED;
-  }
-
   ASSERT (PcdInfo != NULL);
 
   Status = EFI_NOT_FOUND;

Modified: trunk/edk2/MdeModulePkg/Universal/PCD/Pei/Pcd.c
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/PCD/Pei/Pcd.c     2013-11-20 01:58:00 UTC 
(rev 14868)
+++ trunk/edk2/MdeModulePkg/Universal/PCD/Pei/Pcd.c     2013-11-20 02:04:23 UTC 
(rev 14869)
@@ -158,9 +158,9 @@
   ASSERT_EFI_ERROR (Status);
 
   //
-  // Only install PcdInfo PPI when the feature is enabled and PCD info content 
is present. 
+  // Only install PcdInfo PPI when PCD info content is present. 
   //
-  if (FeaturePcdGet (PcdPcdInfoGeneration) && (DataBase->PcdNameTableOffset != 
0)) {
+  if (DataBase->PcdNameTableOffset != 0) {
     //
     // Install GET_PCD_INFO_PPI and EFI_GET_PCD_INFO_PPI.
     //
@@ -232,9 +232,6 @@
   VOID
   )
 {
-  if (!FeaturePcdGet (PcdPcdInfoGeneration)) {
-    return EFI_UNSUPPORTED;
-  }
   return GetPcdDatabase()->SystemSkuId;
 }
 

Modified: trunk/edk2/MdeModulePkg/Universal/PCD/Pei/Pcd.inf
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/PCD/Pei/Pcd.inf   2013-11-20 01:58:00 UTC 
(rev 14868)
+++ trunk/edk2/MdeModulePkg/Universal/PCD/Pei/Pcd.inf   2013-11-20 02:04:23 UTC 
(rev 14869)
@@ -343,7 +343,6 @@
 [Pcd]
   gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress ## SOMETIMES_CONSUMES
   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPcdCallBackNumberPerPcdEntry || 
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiFullPcdDatabaseEnable ## SOMETIMES_CONSUMES
-  gEfiMdeModulePkgTokenSpaceGuid.PcdPcdInfoGeneration
 
 [Depex]
   TRUE

Modified: trunk/edk2/MdeModulePkg/Universal/PCD/Pei/Service.c
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/PCD/Pei/Service.c 2013-11-20 01:58:00 UTC 
(rev 14868)
+++ trunk/edk2/MdeModulePkg/Universal/PCD/Pei/Service.c 2013-11-20 02:04:23 UTC 
(rev 14869)
@@ -247,10 +247,6 @@
   UINTN                 PeiNexTokenNumber;
   UINT32                LocalTokenNumber;
 
-  if (!FeaturePcdGet (PcdPcdInfoGeneration)) {
-    return EFI_UNSUPPORTED;
-  }
-
   ASSERT (PcdInfo != NULL);
 
   PeiPcdDb          = GetPcdDatabase ();

Modified: trunk/edk2/Nt32Pkg/Nt32Pkg.dsc
===================================================================
--- trunk/edk2/Nt32Pkg/Nt32Pkg.dsc      2013-11-20 01:58:00 UTC (rev 14868)
+++ trunk/edk2/Nt32Pkg/Nt32Pkg.dsc      2013-11-20 02:04:23 UTC (rev 14869)
@@ -31,6 +31,12 @@
   BUILD_TARGETS                  = DEBUG|RELEASE
   SKUID_IDENTIFIER               = DEFAULT
   FLASH_DEFINITION               = Nt32Pkg/Nt32Pkg.fdf
+  //
+  // This flag is to control tool to generate PCD info for dynamic(ex) PCD,
+  // then enable or disable PCD info feature. TRUE is enable, and FLASE is 
disable.
+  // If the flag is absent, it will be same as FALSE.
+  //
+  PCD_INFO_GENERATION            = TRUE
 
   #
   # Defines for default states.  These can be changed on the command line.

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to