]> git.proxmox.com Git - mirror_edk2.git/blame - BeagleBoardPkg/PrePi/PrePi.h
BeagleBoardPkg: create private PrePi implementation
[mirror_edk2.git] / BeagleBoardPkg / PrePi / PrePi.h
CommitLineData
917c5627
AB
1/** @file\r
2*\r
3* Copyright (c) 2011-2015, ARM Limited. All rights reserved.\r
4*\r
5* This program and the accompanying materials\r
6* are licensed and made available under the terms and conditions of the BSD License\r
7* which accompanies this distribution. The full text of the license may be found at\r
8* http://opensource.org/licenses/bsd-license.php\r
9*\r
10* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12*\r
13**/\r
14\r
15#ifndef _PREPI_H_\r
16#define _PREPI_H_\r
17\r
18#include <PiPei.h>\r
19\r
20#include <Library/PcdLib.h>\r
21#include <Library/ArmLib.h>\r
22#include <Library/BaseMemoryLib.h>\r
23#include <Library/DebugLib.h>\r
24#include <Library/IoLib.h>\r
25#include <Library/MemoryAllocationLib.h>\r
26#include <Library/HobLib.h>\r
27#include <Library/SerialPortLib.h>\r
28#include <Library/ArmPlatformLib.h>\r
29\r
30#define SerialPrint(txt) SerialPortWrite (txt, AsciiStrLen(txt)+1);\r
31\r
32extern UINT64 mSystemMemoryEnd;\r
33\r
34RETURN_STATUS\r
35EFIAPI\r
36TimerConstructor (\r
37 VOID\r
38 );\r
39\r
40VOID\r
41PrePiMain (\r
42 IN UINTN UefiMemoryBase,\r
43 IN UINTN StacksBase,\r
44 IN UINT64 StartTimeStamp\r
45 );\r
46\r
47EFI_STATUS\r
48EFIAPI\r
49MemoryPeim (\r
50 IN EFI_PHYSICAL_ADDRESS UefiMemoryBase,\r
51 IN UINT64 UefiMemorySize\r
52 );\r
53\r
54EFI_STATUS\r
55EFIAPI\r
56PlatformPeim (\r
57 VOID\r
58 );\r
59\r
60VOID\r
61PrimaryMain (\r
62 IN UINTN UefiMemoryBase,\r
63 IN UINTN StacksBase,\r
64 IN UINT64 StartTimeStamp\r
65 );\r
66\r
67VOID\r
68SecondaryMain (\r
69 IN UINTN MpId\r
70 );\r
71\r
72// Either implemented by PrePiLib or by MemoryInitPei\r
73VOID\r
74BuildMemoryTypeInformationHob (\r
75 VOID\r
76 );\r
77\r
78EFI_STATUS\r
79GetPlatformPpi (\r
80 IN EFI_GUID *PpiGuid,\r
81 OUT VOID **Ppi\r
82 );\r
83\r
84// Initialize the Architecture specific controllers\r
85VOID\r
86ArchInitialize (\r
87 VOID\r
88 );\r
89\r
90VOID\r
91EFIAPI\r
92ProcessLibraryConstructorList (\r
93 VOID\r
94 );\r
95\r
96#endif /* _PREPI_H_ */\r