/** @file | |
Copyright (c) 2011 - 2020, Arm Limited. All rights reserved.<BR> | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#ifndef _PREPI_H_ | |
#define _PREPI_H_ | |
#include <PiPei.h> | |
#include <Library/PcdLib.h> | |
#include <Library/ArmLib.h> | |
#include <Library/BaseMemoryLib.h> | |
#include <Library/DebugLib.h> | |
#include <Library/IoLib.h> | |
#include <Library/MemoryAllocationLib.h> | |
#include <Library/HobLib.h> | |
#include <Library/SerialPortLib.h> | |
#include <Library/ArmPlatformLib.h> | |
extern UINT64 mSystemMemoryEnd; | |
RETURN_STATUS | |
EFIAPI | |
TimerConstructor ( | |
VOID | |
); | |
VOID | |
PrePiMain ( | |
IN UINTN UefiMemoryBase, | |
IN UINTN StacksBase, | |
IN UINT64 StartTimeStamp | |
); | |
EFI_STATUS | |
EFIAPI | |
MemoryPeim ( | |
IN EFI_PHYSICAL_ADDRESS UefiMemoryBase, | |
IN UINT64 UefiMemorySize | |
); | |
EFI_STATUS | |
EFIAPI | |
PlatformPeim ( | |
VOID | |
); | |
VOID | |
PrimaryMain ( | |
IN UINTN UefiMemoryBase, | |
IN UINTN StacksBase, | |
IN UINT64 StartTimeStamp | |
); | |
VOID | |
SecondaryMain ( | |
IN UINTN MpId | |
); | |
// Either implemented by PrePiLib or by MemoryInitPei | |
VOID | |
BuildMemoryTypeInformationHob ( | |
VOID | |
); | |
EFI_STATUS | |
GetPlatformPpi ( | |
IN EFI_GUID *PpiGuid, | |
OUT VOID **Ppi | |
); | |
// Initialize the Architecture specific controllers | |
VOID | |
ArchInitialize ( | |
VOID | |
); | |
VOID | |
EFIAPI | |
ProcessLibraryConstructorList ( | |
VOID | |
); | |
#endif /* _PREPI_H_ */ |