UINTN SystemAffinityMask;\r
INT32 LowBit;\r
UINTN ResetJumpCode;\r
+ EMU_THUNK_PPI *SecEmuThunkPpi;\r
\r
//\r
// Enable the privilege so that RTC driver can successfully run SetTime()\r
//\r
// PPIs pased into PEI_CORE\r
//\r
- AddThunkPpi (EFI_PEI_PPI_DESCRIPTOR_PPI, &gEmuThunkPpiGuid, &mSecEmuThunkPpi);\r
+ SecEmuThunkPpi = AllocateZeroPool (sizeof (EMU_THUNK_PPI) + FixedPcdGet32 (PcdPersistentMemorySize));\r
+ if (SecEmuThunkPpi == NULL) {\r
+ SecPrint ("ERROR : Can not allocate memory for SecEmuThunkPpi. Exiting.\n");\r
+ exit (1);\r
+ }\r
+\r
+ CopyMem (SecEmuThunkPpi, &mSecEmuThunkPpi, sizeof (EMU_THUNK_PPI));\r
+ SecEmuThunkPpi->PersistentMemorySize = FixedPcdGet32 (PcdPersistentMemorySize);\r
+ AddThunkPpi (EFI_PEI_PPI_DESCRIPTOR_PPI, &gEmuThunkPpiGuid, SecEmuThunkPpi);\r
AddThunkPpi (EFI_PEI_PPI_DESCRIPTOR_PPI, &gEfiPeiReset2PpiGuid, &mEmuReset2Ppi);\r
\r
//\r