Add in feature flag PcdPeiPcdDatabaseSetEnabled, PcdPeiPcdDatabaseGetSizeEnabled, PcdPeiPcdDatabaseCallbackOnSetEnabled, PcdPeiPcdDatabaseExEnabled to allow user to customize Pcd service PEIM. It is very curical to save size in PEI phase.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1408 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qwang12
2006-08-30 09:11:34 +00:00
parent e3e8956d13
commit f89f5802f8
5 changed files with 321 additions and 118 deletions

View File

@@ -337,6 +337,10 @@ SetWorker (
VOID *InternalData;
UINTN MaxSize;
if (!FeaturePcdGet(PcdPeiPcdDatabaseSetEnabled)) {
return EFI_UNSUPPORTED;
}
//
// TokenNumber Zero is reserved as PCD_INVALID_TOKEN_NUMBER.
// We have to decrement TokenNumber by 1 to make it usable
@@ -462,6 +466,10 @@ ExSetWorker (
{
UINTN TokenNumber;
if (!FeaturePcdGet(PcdPeiPcdDatabaseSetEnabled)) {
return EFI_UNSUPPORTED;
}
TokenNumber = GetExPcdTokenNumber (Guid, ExTokenNumber);
InvokeCallbackOnSet (ExTokenNumber, Guid, TokenNumber, Data, *Size);
@@ -480,6 +488,11 @@ ExGetWorker (
IN UINTN GetSize
)
{
if (!FeaturePcdGet (PcdPeiPcdDatabaseExEnabled)) {
ASSERT (FALSE);
return 0;
}
return GetWorker (GetExPcdTokenNumber (Guid, ExTokenNumber), GetSize);
}