#include "Service.h"\r
\r
\r
-//\r
-// Build Tool will generate PEI_PCD_DB_INIT_VALUE in Autogen.h\r
-//\r
-/* PEI_PCD_DATABASE_INIT\r
-gPEIPcdDbInit = {\r
- PEI_PCD_DB_INIT_VALUE\r
-};\r
-*/\r
-\r
-\r
-\r
-\r
/**\r
The function registers the CallBackOnSet fucntion\r
according to TokenNumber and EFI_GUID space.\r
\r
if (Guid == NULL) {\r
TokenNumber = ExTokenNumber;\r
- ASSERT (TokenNumber < PEI_LOCAL_TOKEN_NUMBER);\r
+ ASSERT (TokenNumber < PEI_NEX_TOKEN_NUMBER);\r
LocalTokenNumber = GetPcdDatabase()->Init.LocalTokenNumberTable[TokenNumber];\r
} else {\r
GetExPcdTokenAttributes (Guid, ExTokenNumber, &Attr);\r
ASSERT (GuidHob != NULL);\r
\r
CallbackTable = GET_GUID_HOB_DATA (GuidHob);\r
+ CallbackTable = CallbackTable + (TokenNumber * FixedPcdGet32(PcdMaxPeiPcdCallBackNumberPerPcdEntry));\r
\r
Compare = Register? NULL: CallBackFunction;\r
Assign = Register? CallBackFunction: NULL;\r
\r
+\r
for (Idx = 0; Idx < FixedPcdGet32(PcdMaxPeiPcdCallBackNumberPerPcdEntry); Idx++) {\r
if (CallbackTable[Idx] == Compare) {\r
CallbackTable[Idx] = Assign;\r
VOID *Buffer;\r
EFI_PEI_READ_ONLY_VARIABLE_PPI *VariablePpi;\r
\r
- Status = PeiCoreLocatePpi (&gEfiPeiReadOnlyVariablePpiGuid, 0, NULL, &VariablePpi);\r
+ Status = PeiCoreLocatePpi (&gEfiPeiReadOnlyVariablePpiGuid, 0, NULL, (VOID **) &VariablePpi);\r
ASSERT_EFI_ERROR (Status);\r
\r
Size = 0;\r
Status = PeiCoreAllocatePool (Size, &Buffer);\r
ASSERT_EFI_ERROR (Status);\r
\r
- // declare a local for STP.\r
- //\r
Status = VariablePpi->PeiGetVariable (\r
GetPeiServicesTablePointer (),\r
(UINT16 *) VariableName,\r
Value += sizeof(VARIABLE_HEAD) * i;\r
return ((Value - (UINT8 *) PeiPcdDb) | PCD_TYPE_HII);\r
\r
- case 0: //Change to a MACRO PCD_TYPE_DATA\r
+ case PCD_TYPE_DATA:\r
Value += Size * i;\r
return (Value - (UINT8 *) PeiPcdDb);\r
\r