#include <Guid/MemoryTypeInformation.h>
#include <Library/ArmLib.h>
-#include <ArmPlatform.h>
/**
This structure is used by ArmVExpressGetEfiMemoryMap to describes a region of the EFI memory map
pointer is not used (probably required to use assembly language)
**/
-VOID ArmPlatformInitializeBootMemory(VOID);
+VOID
+ArmPlatformInitializeBootMemory (
+ VOID
+ );
+
+/**
+ Return the current Boot Mode
+
+ This function returns the boot reason on the platform
+
+ @return Return the current Boot Mode of the platform
+
+**/
+EFI_BOOT_MODE
+ArmPlatformGetBootMode (
+ VOID
+ );
/**
Initialize controllers that must setup at the early stage
**/
VOID
-ArmPlatformInitialize (
+ArmPlatformSecInitialize (
+ VOID
+ );
+
+/**
+ Call before jumping to Normal World
+
+ This function allows the firmware platform to do extra actions before
+ jumping to the Normal World
+
+**/
+VOID
+ArmPlatformSecExtraAction (
+ IN UINTN MpId,
+ OUT UINTN* JumpAddress
+ );
+
+/**
+ Initialize controllers that must setup in the normal world
+
+ This function is called by the ArmPlatformPkg/PrePi or ArmPlatformPkg/PlatformPei
+ in the PEI phase.
+
+**/
+VOID
+ArmPlatformNormalInitialize (
VOID
);
This memory is generally represented by the DRAM.
**/
-VOID ArmPlatformInitializeSystemMemory(VOID);
+VOID
+ArmPlatformInitializeSystemMemory (
+ VOID
+ );
/**
Remap the memory at 0x0
This function can do nothing if this feature is not relevant to your platform.
**/
-VOID ArmPlatformBootRemapping(VOID);
+VOID
+ArmPlatformBootRemapping (
+ VOID
+ );
/**
Return if Trustzone is supported by your platform
@return A non-zero value if Trustzone supported.
**/
-UINTN ArmPlatformTrustzoneSupported(VOID);
+UINTN
+ArmPlatformTrustzoneSupported (
+ VOID
+ );
/**
Initialize the Secure peripherals and memory regions
of the secure peripherals and memory regions.
**/
-VOID ArmPlatformTrustzoneInit(VOID);
-
-/**
- Return the information about the memory region in permanent memory used by PEI
-
- One of the PEI Module must install the permament memory used by PEI. This function returns the
- information about this region for your platform to this PEIM module.
-
- @param[out] PeiMemoryBase Base of the memory region used by PEI core and modules
- @param[out] PeiMemorySize Size of the memory region used by PEI core and modules
-
-**/
-VOID ArmPlatformGetPeiMemory (
- OUT UINTN* PeiMemoryBase,
- OUT UINTN* PeiMemorySize
- );
+VOID
+ArmPlatformTrustzoneInit (
+ VOID
+ );
/**
Return the Virtual Memory Map of your platform
entry
**/
-VOID ArmPlatformGetVirtualMemoryMap (
- OUT ARM_MEMORY_REGION_DESCRIPTOR** VirtualMemoryMap
-);
+VOID
+ArmPlatformGetVirtualMemoryMap (
+ OUT ARM_MEMORY_REGION_DESCRIPTOR** VirtualMemoryMap
+ );
/**
Return the EFI Memory Map of your platform
EFI Memory region. This array must be ended by a zero-filled entry
**/
-VOID ArmPlatformGetEfiMemoryMap (
- OUT ARM_SYSTEM_MEMORY_REGION_DESCRIPTOR** EfiMemoryMap
-);
+EFI_STATUS
+ArmPlatformGetAdditionalSystemMemory (
+ OUT ARM_SYSTEM_MEMORY_REGION_DESCRIPTOR** EfiMemoryMap
+ );
#endif