50 OldHeap = (VOID *)(
UINTN)TemporaryMemoryBase;
51 NewHeap = (VOID *)((
UINTN)PermanentMemoryBase + (CopySize - HeapSize));
53 OldStack = (VOID *)((
UINTN)TemporaryMemoryBase + HeapSize);
54 NewStack = (VOID *)(
UINTN)PermanentMemoryBase;
59 CopyMem (NewStack, OldStack, CopySize - HeapSize);
64 CopyMem (NewHeap, OldHeap, HeapSize);
77 EFI_PEI_PPI_DESCRIPTOR_PPI,
78 &gEfiTemporaryRamSupportPpiGuid,
79 (VOID *)&mTemporaryRamSupportPpi
98 UINTN PlatformPpiListSize;
103 PlatformPpiListSize = 0;
107 ListBase =
PcdGet64 (PcdCPUCoresStackBase);
108 CopyMem ((VOID *)ListBase, gCommonPpiTable,
sizeof (gCommonPpiTable));
109 CopyMem ((VOID *)(ListBase +
sizeof (gCommonPpiTable)), PlatformPpiList, PlatformPpiListSize);
114 LastPpi->
Flags |= EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST;
117 *PpiListSize =
sizeof (gCommonPpiTable) + PlatformPpiListSize;
137 "UEFI firmware (version %s built at %a on %a)\n\r",
138 (CHAR16 *)
PcdGetPtr (PcdFirmwareVersionString),
165 UINTN TemporaryRamBase;
166 UINTN TemporaryRamSize;
173 TemporaryRamBase = (
UINTN)
PcdGet64 (PcdCPUCoresStackBase) + PpiListSize;
174 TemporaryRamSize = (
UINTN)
PcdGet32 (PcdCPUCorePrimaryStackSize) - PpiListSize;
192 (PeiCoreEntryPoint)(&SecCoreData, PpiList);
206 if (!ArmMmuEnabled ()) {
208 ArmDisableDataCache ();
210 ArmInvalidateInstructionCache ();
212 ArmEnableInstructionCache ();
216 PcdGet32 (PcdCPUCorePrimaryStackSize)
233 ProcessLibraryConstructorList ();
#define CPU_STACK_ALIGNMENT
VOID *EFIAPI InvalidateDataCacheRange(IN VOID *Address, IN UINTN Length)
RETURN_STATUS EFIAPI SerialPortInitialize(VOID)
UINTN EFIAPI SerialPortWrite(IN UINT8 *Buffer, IN UINTN NumberOfBytes)
VOID *EFIAPI CopyMem(OUT VOID *DestinationBuffer, IN CONST VOID *SourceBuffer, IN UINTN Length)
BOOLEAN EFIAPI SaveAndSetDebugTimerInterrupt(IN BOOLEAN EnableStatus)
VOID EFIAPI InitializeDebugAgent(IN UINT32 InitFlag, IN VOID *Context OPTIONAL, IN DEBUG_AGENT_CONTINUE Function OPTIONAL)
UINTN EFIAPI AsciiSPrint(OUT CHAR8 *StartOfBuffer, IN UINTN BufferSize, IN CONST CHAR8 *FormatString,...)
#define ALIGN_VALUE(Value, Alignment)
#define PcdGet64(TokenName)
#define FixedPcdGet32(TokenName)
#define PcdGet32(TokenName)
#define PcdGetPtr(TokenName)
VOID(EFIAPI * EFI_PEI_CORE_ENTRY_POINT)(IN CONST EFI_SEC_PEI_HAND_OFF *SecCoreData, IN CONST EFI_PEI_PPI_DESCRIPTOR *PpiList)
struct _EFI_SEC_PEI_HAND_OFF EFI_SEC_PEI_HAND_OFF
UINT64 EFI_PHYSICAL_ADDRESS
UINTN PeiTemporaryRamSize
VOID * BootFirmwareVolumeBase
UINTN BootFirmwareVolumeSize
VOID * PeiTemporaryRamBase