]> git.proxmox.com Git - mirror_edk2.git/blob - ArmVirtPkg/PrePi/PrePi.h
ArmVirtPkg/PrePi: remove dependency on ArmPlatformLib
[mirror_edk2.git] / ArmVirtPkg / PrePi / PrePi.h
1 /** @file
2 *
3 * Copyright (c) 2011-2012, ARM Limited. All rights reserved.
4 *
5 * This program and the accompanying materials
6 * are licensed and made available under the terms and conditions of the BSD License
7 * which accompanies this distribution. The full text of the license may be found at
8 * http://opensource.org/licenses/bsd-license.php
9 *
10 * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 *
13 **/
14
15 #ifndef _PREPI_H_
16 #define _PREPI_H_
17
18 #include <PiPei.h>
19
20 #include <Library/PcdLib.h>
21 #include <Library/ArmLib.h>
22 #include <Library/BaseMemoryLib.h>
23 #include <Library/DebugLib.h>
24 #include <Library/IoLib.h>
25 #include <Library/MemoryAllocationLib.h>
26 #include <Library/HobLib.h>
27 #include <Library/SerialPortLib.h>
28
29 #define SerialPrint(txt) SerialPortWrite (txt, AsciiStrLen(txt)+1);
30
31 RETURN_STATUS
32 EFIAPI
33 TimerConstructor (
34 VOID
35 );
36
37 VOID
38 PrePiMain (
39 IN UINTN UefiMemoryBase,
40 IN UINTN StacksBase,
41 IN UINT64 StartTimeStamp
42 );
43
44 EFI_STATUS
45 EFIAPI
46 MemoryPeim (
47 IN EFI_PHYSICAL_ADDRESS UefiMemoryBase,
48 IN UINT64 UefiMemorySize
49 );
50
51 EFI_STATUS
52 EFIAPI
53 PlatformPeim (
54 VOID
55 );
56
57 // Either implemented by PrePiLib or by MemoryInitPei
58 VOID
59 BuildMemoryTypeInformationHob (
60 VOID
61 );
62
63 // Initialize the Architecture specific controllers
64 VOID
65 ArchInitialize (
66 VOID
67 );
68
69 #endif /* _PREPI_H_ */