11#define IS_XIP() (((UINT64)FixedPcdGet64 (PcdFdBaseAddress) > mSystemMemoryEnd) ||\
12 ((FixedPcdGet64 (PcdFdBaseAddress) + FixedPcdGet32 (PcdFdSize)) <= FixedPcdGet64 (PcdSystemMemoryBase)))
14UINT64 mSystemMemoryEnd =
FixedPcdGet64 (PcdSystemMemoryBase) +
40 for (Index = 0; Index < PpiListCount; Index++, PpiList++) {
62 IN UINT64 StartTimeStamp
90 "UEFI firmware (version %s built at %a on %a)\n\r",
91 (CHAR16 *)
PcdGetPtr (PcdFirmwareVersionString),
102 HobList = HobConstructor (
103 (VOID *)UefiMemoryBase,
105 (VOID *)UefiMemoryBase,
115 StacksSize =
PcdGet32 (PcdCPUCorePrimaryStackSize);
121 if (ArmIsMpCore ()) {
123 Status =
GetPlatformPpi (&gArmMpCoreInfoPpiGuid, (VOID **)&ArmMpCoreInfoPpi);
130 Status = ArmMpCoreInfoPpi->GetMpCoreInfo (&ArmCoreCount, &ArmCoreInfoTable);
131 if (!EFI_ERROR (Status) && (ArmCoreCount > 0)) {
141 BuildGuidDataHob (&gEfiFirmwarePerformanceGuid, &Performance,
sizeof (Performance));
154 ProcessLibraryConstructorList ();
157 Status = DecompressFirstFv ();
161 Status = LoadDxeCoreFromFv (
NULL, 0);
177 UINT64 StartTimeStamp;
190 ArmDisableDataCache ();
192 ArmInvalidateInstructionCache ();
194 ArmEnableInstructionCache ();
197 (VOID *)UefiMemoryBase,
201 SecMain (UefiMemoryBase, StackBase, StartTimeStamp);
VOID ArchInitialize(VOID)
UINT64 EFIAPI GetTimeInNanoSecond(IN UINT64 Ticks)
UINT64 EFIAPI GetPerformanceCounter(VOID)
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 BuildGuidDataHob(IN CONST EFI_GUID *Guid, IN VOID *Data, IN UINTN DataLength)
VOID EFIAPI BuildCpuHob(IN UINT8 SizeOfMemorySpace, IN UINT8 SizeOfIoSpace)
VOID EFIAPI BuildStackHob(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length)
BOOLEAN EFIAPI CompareGuid(IN CONST GUID *Guid1, IN CONST GUID *Guid2)
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 ASSERT_EFI_ERROR(StatusParameter)
EFI_STATUS EFIAPI MemoryPeim(IN EFI_PHYSICAL_ADDRESS UefiMemoryBase, IN UINT64 UefiMemorySize)
#define FixedPcdGet32(TokenName)
#define PcdGet8(TokenName)
#define FixedPcdGet64(TokenName)
#define PcdGet32(TokenName)
#define PcdGetPtr(TokenName)
STATIC EFI_STATUS GetPlatformPpi(IN EFI_GUID *PpiGuid, OUT VOID **Ppi)
VOID CEntryPoint(IN UINTN UefiMemoryBase, IN UINTN StackBase)
STATIC VOID SecMain(IN UINTN UefiMemoryBase, IN UINTN StackBase, IN UINT64 StartTimeStamp)
EFI_STATUS EFIAPI PlatformPeim(VOID)
EFI_STATUS EFIAPI SetBootMode(IN EFI_BOOT_MODE BootMode)
UINT64 ResetEnd
Timer value logged at the beginning of firmware image execution, in unit of nanosecond.