PrePi.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /** @file
  2. Copyright (c) 2011 - 2020, Arm Limited. All rights reserved.<BR>
  3. SPDX-License-Identifier: BSD-2-Clause-Patent
  4. **/
  5. #ifndef _PREPI_H_
  6. #define _PREPI_H_
  7. #include <PiPei.h>
  8. #include <Library/PcdLib.h>
  9. #include <Library/ArmLib.h>
  10. #include <Library/BaseMemoryLib.h>
  11. #include <Library/DebugLib.h>
  12. #include <Library/IoLib.h>
  13. #include <Library/MemoryAllocationLib.h>
  14. #include <Library/HobLib.h>
  15. #include <Library/SerialPortLib.h>
  16. #include <Library/ArmPlatformLib.h>
  17. extern UINT64 mSystemMemoryEnd;
  18. RETURN_STATUS
  19. EFIAPI
  20. TimerConstructor (
  21. VOID
  22. );
  23. VOID
  24. PrePiMain (
  25. IN UINTN UefiMemoryBase,
  26. IN UINTN StacksBase,
  27. IN UINT64 StartTimeStamp
  28. );
  29. EFI_STATUS
  30. EFIAPI
  31. MemoryPeim (
  32. IN EFI_PHYSICAL_ADDRESS UefiMemoryBase,
  33. IN UINT64 UefiMemorySize
  34. );
  35. EFI_STATUS
  36. EFIAPI
  37. PlatformPeim (
  38. VOID
  39. );
  40. VOID
  41. PrimaryMain (
  42. IN UINTN UefiMemoryBase,
  43. IN UINTN StacksBase,
  44. IN UINT64 StartTimeStamp
  45. );
  46. VOID
  47. SecondaryMain (
  48. IN UINTN MpId
  49. );
  50. // Either implemented by PrePiLib or by MemoryInitPei
  51. VOID
  52. BuildMemoryTypeInformationHob (
  53. VOID
  54. );
  55. EFI_STATUS
  56. GetPlatformPpi (
  57. IN EFI_GUID *PpiGuid,
  58. OUT VOID **Ppi
  59. );
  60. // Initialize the Architecture specific controllers
  61. VOID
  62. ArchInitialize (
  63. VOID
  64. );
  65. VOID
  66. EFIAPI
  67. ProcessLibraryConstructorList (
  68. VOID
  69. );
  70. #endif /* _PREPI_H_ */