X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=EdkModulePkg%2FUniversal%2FPCD%2FPei%2FService.c;h=e280dd6715558a39b82c33175db5892bcd0145f2;hp=54d1250fb2a8b179b0f0a492d1273867cba437c0;hb=0653eb895dfb8d059c114120a0779b561c5578ef;hpb=00b7af13f226afbbe9432a9a7bcaef3d8a1651e8 diff --git a/EdkModulePkg/Universal/PCD/Pei/Service.c b/EdkModulePkg/Universal/PCD/Pei/Service.c index 54d1250fb2..e280dd6715 100644 --- a/EdkModulePkg/Universal/PCD/Pei/Service.c +++ b/EdkModulePkg/Universal/PCD/Pei/Service.c @@ -62,10 +62,12 @@ PeiRegisterCallBackWorker ( ASSERT (GuidHob != NULL); CallbackTable = GET_GUID_HOB_DATA (GuidHob); + CallbackTable = CallbackTable + (TokenNumber * FixedPcdGet32(PcdMaxPeiPcdCallBackNumberPerPcdEntry)); Compare = Register? NULL: CallBackFunction; Assign = Register? CallBackFunction: NULL; + for (Idx = 0; Idx < FixedPcdGet32(PcdMaxPeiPcdCallBackNumberPerPcdEntry); Idx++) { if (CallbackTable[Idx] == Compare) { CallbackTable[Idx] = Assign; @@ -143,7 +145,7 @@ GetHiiVariable ( VOID *Buffer; EFI_PEI_READ_ONLY_VARIABLE_PPI *VariablePpi; - Status = PeiCoreLocatePpi (&gEfiPeiReadOnlyVariablePpiGuid, 0, NULL, &VariablePpi); + Status = PeiCoreLocatePpi (&gEfiPeiReadOnlyVariablePpiGuid, 0, NULL, (VOID **) &VariablePpi); ASSERT_EFI_ERROR (Status); Size = 0;