]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Universal/PCD/Pei/Pcd.c
Add in feature flag PcdPeiPcdDatabaseSetEnabled, PcdPeiPcdDatabaseGetSizeEnabled...
[mirror_edk2.git] / EdkModulePkg / Universal / PCD / Pei / Pcd.c
index 40013cf8b538aed32ba0ff7df184e7743d4e1da3..33972d3c7f6e6d5d501ebbb639848e92c05355aa 100644 (file)
@@ -174,6 +174,10 @@ PeiPcdGetSize (
   UINTN               Size;\r
   UINTN               MaxSize;\r
 \r
+  if (!FeaturePcdGet(PcdPeiPcdDatabaseGetSizeEnabled)) {\r
+    return EFI_UNSUPPORTED;\r
+  }\r
+\r
   PeiPcdDb = GetPcdDatabase ();\r
   //\r
   // TokenNumber Zero is reserved as PCD_INVALID_TOKEN_NUMBER.\r
@@ -281,6 +285,10 @@ PeiPcdGetSizeEx (
   IN UINTN                             ExTokenNumber\r
   )\r
 {\r
+  if ((!FeaturePcdGet (PcdPeiPcdDatabaseGetSizeEnabled)) ||  !FeaturePcdGet (PcdPeiPcdDatabaseExEnabled)) {\r
+    return EFI_UNSUPPORTED;\r
+  }\r
+\r
   return PeiPcdGetSize (GetExPcdTokenNumber (Guid, ExTokenNumber));\r
 }\r
 \r
@@ -446,6 +454,10 @@ PeiRegisterCallBackOnSet (
   IN  PCD_PPI_CALLBACK            CallBackFunction\r
   )\r
 {\r
+  if (!FeaturePcdGet(PcdPeiPcdDatabaseCallbackOnSetEnabled)) {\r
+    return EFI_UNSUPPORTED;\r
+  }\r
+\r
   ASSERT (CallBackFunction != NULL);\r
   \r
   return PeiRegisterCallBackWorker (ExTokenNumber, Guid, CallBackFunction, TRUE);\r
@@ -461,6 +473,10 @@ PcdUnRegisterCallBackOnSet (
   IN  PCD_PPI_CALLBACK            CallBackFunction\r
   )\r
 {\r
+  if (!FeaturePcdGet(PcdPeiPcdDatabaseCallbackOnSetEnabled)) {\r
+    return EFI_UNSUPPORTED;\r
+  }\r
+\r
   ASSERT (CallBackFunction != NULL);\r
   \r
   return PeiRegisterCallBackWorker (ExTokenNumber, Guid, CallBackFunction, FALSE);\r