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