]> git.proxmox.com Git - mirror_edk2.git/blobdiff - StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h
StandaloneMmPkg: Fix ECC error 9002 in StandaloneMmCoreEntryPoint
[mirror_edk2.git] / StandaloneMmPkg / Include / Library / AArch64 / StandaloneMmCoreEntryPoint.h
index 494bcf3dc28f741a8917c880a359d64fa3912755..c44f7066c632fd709108c9092566c98beb30bf63 100644 (file)
@@ -2,7 +2,7 @@
   Entry point to the Standalone MM Foundation when initialized during the SEC\r
   phase on ARM platforms\r
 \r
-Copyright (c) 2017 - 2018, ARM Ltd. All rights reserved.<BR>\r
+Copyright (c) 2017 - 2021, Arm Ltd. All rights reserved.<BR>\r
 SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
@@ -70,18 +70,20 @@ typedef RETURN_STATUS (*REGION_PERMISSION_UPDATE_FUNC) (
   sections in the Standalone MM Core module to be able to access RO and RW data\r
   and make further progress in the boot process.\r
 \r
-  @param  ImageContext           Pointer to PE/COFF image context\r
-  @param  SectionHeaderOffset    Offset of PE/COFF image section header\r
-  @param  NumberOfSections       Number of Sections\r
-  @param  TextUpdater            Function to change code permissions\r
-  @param  ReadOnlyUpdater        Function to change RO permissions\r
-  @param  ReadWriteUpdater       Function to change RW permissions\r
+  @param  [in] ImageContext           Pointer to PE/COFF image context\r
+  @param  [in] ImageBase              Base of image in memory\r
+  @param  [in] SectionHeaderOffset    Offset of PE/COFF image section header\r
+  @param  [in] NumberOfSections       Number of Sections\r
+  @param  [in] TextUpdater            Function to change code permissions\r
+  @param  [in] ReadOnlyUpdater        Function to change RO permissions\r
+  @param  [in] ReadWriteUpdater       Function to change RW permissions\r
 \r
 **/\r
 EFI_STATUS\r
 EFIAPI\r
 UpdateMmFoundationPeCoffPermissions (\r
   IN  CONST PE_COFF_LOADER_IMAGE_CONTEXT      *ImageContext,\r
+  IN  EFI_PHYSICAL_ADDRESS                    ImageBase,\r
   IN  UINT32                                  SectionHeaderOffset,\r
   IN  CONST  UINT16                           NumberOfSections,\r
   IN  REGION_PERMISSION_UPDATE_FUNC           TextUpdater,\r
@@ -96,10 +98,11 @@ UpdateMmFoundationPeCoffPermissions (
   the Standalone MM Core module to be able to change permissions of the\r
   individual sections later in the boot process.\r
 \r
-  @param  TeData                 Pointer to PE/COFF image data\r
-  @param  ImageContext           Pointer to PE/COFF image context\r
-  @param  SectionHeaderOffset    Offset of PE/COFF image section header\r
-  @param  NumberOfSections       Number of Sections\r
+  @param  [in]      TeData                Pointer to PE/COFF image data\r
+  @param  [in, out] ImageContext          Pointer to PE/COFF image context\r
+  @param  [out]     ImageBase             Pointer to ImageBase variable\r
+  @param  [in, out] SectionHeaderOffset   Offset of PE/COFF image section header\r
+  @param  [in, out] NumberOfSections      Number of Sections\r
 \r
 **/\r
 EFI_STATUS\r
@@ -107,6 +110,7 @@ EFIAPI
 GetStandaloneMmCorePeCoffSections (\r
   IN        VOID                            *TeData,\r
   IN  OUT   PE_COFF_LOADER_IMAGE_CONTEXT    *ImageContext,\r
+      OUT   EFI_PHYSICAL_ADDRESS            *ImageBase,\r
   IN  OUT   UINT32                          *SectionHeaderOffset,\r
   IN  OUT   UINT16                          *NumberOfSections\r
   );\r
@@ -117,10 +121,10 @@ GetStandaloneMmCorePeCoffSections (
   by the Boot Firmware Volume. This function locates the Standalone MM Core\r
   module PE/COFF image in the BFV and returns this information.\r
 \r
-  @param  BfvAddress             Base Address of Boot Firmware Volume\r
-  @param  TeData                 Pointer to address for allocating memory for\r
-                                 PE/COFF image data\r
-  @param  TeDataSize             Pointer to size of PE/COFF image data\r
+  @param  [in]      BfvAddress         Base Address of Boot Firmware Volume\r
+  @param  [in, out] TeData             Pointer to address for allocating memory\r
+                                       for PE/COFF image data\r
+  @param  [in, out] TeDataSize         Pointer to size of PE/COFF image data\r
 \r
 **/\r
 EFI_STATUS\r
@@ -136,8 +140,9 @@ LocateStandaloneMmCorePeCoffData (
   Use the boot information passed by privileged firmware to populate a HOB list\r
   suitable for consumption by the MM Core and drivers.\r
 \r
-  @param  CpuDriverEntryPoint    Address of MM CPU driver entrypoint\r
-  @param  PayloadBootInfo        Boot information passed by privileged firmware\r
+  @param  [in, out] CpuDriverEntryPoint   Address of MM CPU driver entrypoint\r
+  @param  [in]      PayloadBootInfo       Boot information passed by privileged\r
+                                          firmware\r
 \r
 **/\r
 VOID *\r
@@ -151,9 +156,11 @@ CreateHobListFromBootInfo (
 /**\r
   The entry point of Standalone MM Foundation.\r
 \r
-  @param  SharedBufAddress  Pointer to the Buffer between SPM and SP.\r
-  @param  cookie1.\r
-  @param  cookie2.\r
+  @param  [in]  SharedBufAddress  Pointer to the Buffer between SPM and SP.\r
+  @param  [in]  SharedBufSize     Size of the shared buffer.\r
+  @param  [in]  cookie1           Cookie 1\r
+  @param  [in]  cookie2           Cookie 2\r
+\r
 **/\r
 VOID\r
 EFIAPI\r