Home | History | Annotate | Download | only in PrePi
      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 #include <Library/ArmPlatformLib.h>
     29 
     30 #define SerialPrint(txt)  SerialPortWrite (txt, AsciiStrLen(txt)+1);
     31 
     32 extern UINT64 mSystemMemoryEnd;
     33 
     34 RETURN_STATUS
     35 EFIAPI
     36 TimerConstructor (
     37   VOID
     38   );
     39 
     40 VOID
     41 PrePiMain (
     42   IN  UINTN                     UefiMemoryBase,
     43   IN  UINTN                     StacksBase,
     44   IN  UINT64                    StartTimeStamp
     45   );
     46 
     47 EFI_STATUS
     48 EFIAPI
     49 MemoryPeim (
     50   IN EFI_PHYSICAL_ADDRESS       UefiMemoryBase,
     51   IN UINT64                     UefiMemorySize
     52   );
     53 
     54 EFI_STATUS
     55 EFIAPI
     56 PlatformPeim (
     57   VOID
     58   );
     59 
     60 // Either implemented by PrePiLib or by MemoryInitPei
     61 VOID
     62 BuildMemoryTypeInformationHob (
     63   VOID
     64   );
     65 
     66 EFI_STATUS
     67 GetPlatformPpi (
     68   IN  EFI_GUID  *PpiGuid,
     69   OUT VOID      **Ppi
     70   );
     71 
     72 // Initialize the Architecture specific controllers
     73 VOID
     74 ArchInitialize (
     75   VOID
     76   );
     77 
     78 #endif /* _PREPI_H_ */
     79