public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Sami Mujawar" <sami.mujawar@arm.com>
To: <devel@edk2.groups.io>
Cc: Sami Mujawar <sami.mujawar@arm.com>, <ard.biesheuvel@arm.com>,
	<jiewen.yao@intel.com>, <thomas.abraham@arm.com>,
	<Sughosh.Ganu@arm.com>, <Matteo.Carlini@arm.com>,
	<Ben.Adderson@arm.com>, <nd@arm.com>
Subject: [PATCH v3 13/26] StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCoreEntryPoint
Date: Mon, 4 Jan 2021 13:22:00 +0000	[thread overview]
Message-ID: <20210104132213.22376-14-sami.mujawar@arm.com> (raw)
In-Reply-To: <20210104132213.22376-1-sami.mujawar@arm.com>

Bugzilla: 3150 (https://bugzilla.tianocore.org/show_bug.cgi?id=3150)

Add doxygen style function headers to fix ECC reported errors
"[4002] Function header doesn't exist Function".

Also update the corresponding declaration to add IN/OUT doxygen
style reference tags.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Acked-by: Jiewen Yao <Jiewen.yao@intel.com>
---

Notes:
    v3:
     - No code change. Added bugzilla ID and resending patch     [SAMI]
       with v3 series.
    
    v2:
     - No code change. Resending patch with v2 series.           [SAMI]

 StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h                    | 34 +++++++-------
 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c             | 48 ++++++++++++++++++++
 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c | 14 +++++-
 3 files changed, 78 insertions(+), 18 deletions(-)

diff --git a/StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h b/StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h
index 0f9a032404582fd59e3d4e2bf2884b1077b78d5c..34c43897dded9aebe1470f2dbfe96b93590a9e45 100644
--- a/StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h
+++ b/StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h
@@ -2,7 +2,7 @@
   Entry point to the Standalone MM Foundation when initialized during the SEC
   phase on ARM platforms
 
-Copyright (c) 2017 - 2018, ARM Ltd. All rights reserved.<BR>
+Copyright (c) 2017 - 2020, Arm Ltd. All rights reserved.<BR>
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -70,13 +70,13 @@ typedef RETURN_STATUS (*REGION_PERMISSION_UPDATE_FUNC) (
   sections in the Standalone MM Core module to be able to access RO and RW data
   and make further progress in the boot process.
 
-  @param  ImageContext           Pointer to PE/COFF image context
-  @param  ImageBase              Base of image in memory
-  @param  SectionHeaderOffset    Offset of PE/COFF image section header
-  @param  NumberOfSections       Number of Sections
-  @param  TextUpdater            Function to change code permissions
-  @param  ReadOnlyUpdater        Function to change RO permissions
-  @param  ReadWriteUpdater       Function to change RW permissions
+  @param  [in] ImageContext           Pointer to PE/COFF image context
+  @param  [in] ImageBase              Base of image in memory
+  @param  [in] SectionHeaderOffset    Offset of PE/COFF image section header
+  @param  [in] NumberOfSections       Number of Sections
+  @param  [in] TextUpdater            Function to change code permissions
+  @param  [in] ReadOnlyUpdater        Function to change RO permissions
+  @param  [in] ReadWriteUpdater       Function to change RW permissions
 
 **/
 EFI_STATUS
@@ -98,11 +98,11 @@ UpdateMmFoundationPeCoffPermissions (
   the Standalone MM Core module to be able to change permissions of the
   individual sections later in the boot process.
 
-  @param  TeData                 Pointer to PE/COFF image data
-  @param  ImageContext           Pointer to PE/COFF image context
-  @param  ImageBase              Pointer to ImageBase variable
-  @param  SectionHeaderOffset    Offset of PE/COFF image section header
-  @param  NumberOfSections       Number of Sections
+  @param  [in]      TeData                Pointer to PE/COFF image data
+  @param  [in, out] ImageContext          Pointer to PE/COFF image context
+  @param  [out]     ImageBase             Pointer to ImageBase variable
+  @param  [in, out] SectionHeaderOffset   Offset of PE/COFF image section header
+  @param  [in, out] NumberOfSections      Number of Sections
 
 **/
 EFI_STATUS
@@ -121,10 +121,10 @@ GetStandaloneMmCorePeCoffSections (
   by the Boot Firmware Volume. This function locates the Standalone MM Core
   module PE/COFF image in the BFV and returns this information.
 
-  @param  BfvAddress             Base Address of Boot Firmware Volume
-  @param  TeData                 Pointer to address for allocating memory for
-                                 PE/COFF image data
-  @param  TeDataSize             Pointer to size of PE/COFF image data
+  @param  [in]      BfvAddress         Base Address of Boot Firmware Volume
+  @param  [in, out] TeData             Pointer to address for allocating memory
+                                       for PE/COFF image data
+  @param  [in, out] TeDataSize         Pointer to size of PE/COFF image data
 
 **/
 EFI_STATUS
diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c
index 0ab6edaeb7f05bc814281d0e928305804633e970..f2e724cfc38e75d61bae5d8d21d40feda1685144 100644
--- a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c
+++ b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c
@@ -25,6 +25,21 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 
 #include <IndustryStandard/ArmStdSmc.h>
 
+/**
+  Privileged firmware assigns RO & Executable attributes to all memory occupied
+  by the Boot Firmware Volume. This function sets the correct permissions of
+  sections in the Standalone MM Core module to be able to access RO and RW data
+  and make further progress in the boot process.
+
+  @param  [in] ImageContext           Pointer to PE/COFF image context
+  @param  [in] ImageBase              Base of image in memory
+  @param  [in] SectionHeaderOffset    Offset of PE/COFF image section header
+  @param  [in] NumberOfSections       Number of Sections
+  @param  [in] TextUpdater            Function to change code permissions
+  @param  [in] ReadOnlyUpdater        Function to change RO permissions
+  @param  [in] ReadWriteUpdater       Function to change RW permissions
+
+**/
 EFI_STATUS
 EFIAPI
 UpdateMmFoundationPeCoffPermissions (
@@ -113,6 +128,17 @@ UpdateMmFoundationPeCoffPermissions (
   return RETURN_SUCCESS;
 }
 
+/**
+  Privileged firmware assigns RO & Executable attributes to all memory occupied
+  by the Boot Firmware Volume. This function locates the Standalone MM Core
+  module PE/COFF image in the BFV and returns this information.
+
+  @param  [in]      BfvAddress         Base Address of Boot Firmware Volume
+  @param  [in, out] TeData             Pointer to address for allocating memory
+                                       for PE/COFF image data
+  @param  [in, out] TeDataSize         Pointer to size of PE/COFF image data
+
+**/
 EFI_STATUS
 EFIAPI
 LocateStandaloneMmCorePeCoffData (
@@ -151,6 +177,15 @@ LocateStandaloneMmCorePeCoffData (
   return Status;
 }
 
+/**
+  Returns the PC COFF section information.
+
+  @param  [in, out] ImageContext         Pointer to PE/COFF image context
+  @param  [out]     ImageBase            Base of image in memory
+  @param  [out]     SectionHeaderOffset  Offset of PE/COFF image section header
+  @param  [out]     NumberOfSections     Number of Sections
+
+**/
 STATIC
 EFI_STATUS
 GetPeCoffSectionInformation (
@@ -241,6 +276,19 @@ GetPeCoffSectionInformation (
   return RETURN_SUCCESS;
 }
 
+/**
+  Privileged firmware assigns RO & Executable attributes to all memory occupied
+  by the Boot Firmware Volume. This function locates the section information of
+  the Standalone MM Core module to be able to change permissions of the
+  individual sections later in the boot process.
+
+  @param  [in]      TeData                Pointer to PE/COFF image data
+  @param  [in, out] ImageContext          Pointer to PE/COFF image context
+  @param  [out]     ImageBase             Pointer to ImageBase variable
+  @param  [in, out] SectionHeaderOffset   Offset of PE/COFF image section header
+  @param  [in, out] NumberOfSections      Number of Sections
+
+**/
 EFI_STATUS
 EFIAPI
 GetStandaloneMmCorePeCoffSections (
diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
index 9cecfa667b905c975ddd348513c51fc8a5955718..3d3c772019df9afe9b8ec77019c776ea7c3b55fb 100644
--- a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
+++ b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
@@ -2,7 +2,7 @@
   Entry point to the Standalone MM Foundation when initialized during the SEC
   phase on ARM platforms
 
-Copyright (c) 2017 - 2018, ARM Ltd. All rights reserved.<BR>
+Copyright (c) 2017 - 2020, Arm Ltd. All rights reserved.<BR>
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -101,6 +101,12 @@ GetAndPrintBootinformation (
   return PayloadBootInfo;
 }
 
+/**
+  A loop to delegated events.
+
+  @param  [in] EventCompleteSvcArgs   Pointer to the event completion arguments.
+
+**/
 VOID
 EFIAPI
 DelegatedEventLoop (
@@ -156,6 +162,12 @@ DelegatedEventLoop (
   }
 }
 
+/**
+  Query the SPM version, check compatibility and return success if compatible.
+
+  @retval EFI_SUCCESS       SPM versions compatible.
+  @retval EFI_UNSUPPORTED   SPM versions not compatible.
+**/
 STATIC
 EFI_STATUS
 GetSpmVersion (VOID)
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


  parent reply	other threads:[~2021-01-04 13:23 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-04 13:21 [PATCH v3 00/26] Enable Core CI support for StandaloneMmPkg Sami Mujawar
2021-01-04 13:21 ` [PATCH v3 01/26] StandaloneMmPkg: Add library header files to DEC Sami Mujawar
2021-01-04 13:21 ` [PATCH v3 02/26] StandaloneMmPkg: Add library files to DSC Sami Mujawar
2021-01-04 13:21 ` [PATCH v3 03/26] StandaloneMmPkg: Fix spell check reported errors Sami Mujawar
2021-01-04 13:21 ` [PATCH v3 04/26] StandaloneMmPkg: Fix ECC error 9002 in Core dispatcher Sami Mujawar
2021-01-04 13:21 ` [PATCH v3 05/26] StandaloneMmPkg: Fix ECC error 1001 in SMM Memory pool management Sami Mujawar
2021-01-04 13:21 ` [PATCH v3 06/26] StandaloneMmPkg: Fix ECC error 3002 in StandaloneMmCpu Sami Mujawar
2021-01-04 13:21 ` [PATCH v3 07/26] StandaloneMmPkg: Fix ECC error 4002 in FwVol helper Sami Mujawar
2021-01-04 13:21 ` [PATCH v3 08/26] StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCoreEntryPoint Sami Mujawar
2021-01-04 13:21 ` [PATCH v3 09/26] StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCpu Sami Mujawar
2021-01-04 13:21 ` [PATCH v3 10/26] StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCore Sami Mujawar
2021-01-04 13:21 ` [PATCH v3 11/26] StandaloneMmPkg: Fix ECC error 10014 in StandaloneMmCpu Sami Mujawar
2021-01-04 13:21 ` [PATCH v3 12/26] StandaloneMmPkg: Fix ECC error 4002 and 9002 in StandaloneMmCore Sami Mujawar
2021-01-04 13:22 ` Sami Mujawar [this message]
2021-01-04 13:22 ` [PATCH v3 14/26] StandaloneMmPkg: Fix ECC error 9002 in StandaloneMmMemLib Sami Mujawar
2021-01-04 13:22 ` [PATCH v3 15/26] StandaloneMmPkg: Fix ECC error 9002 in StandaloneMmCoreEntryPoint Sami Mujawar
2021-01-04 13:22 ` [PATCH v3 16/26] StandaloneMmPkg: Fix ECC error 9003 " Sami Mujawar
2021-01-04 13:22 ` [PATCH v3 17/26] StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCpu Sami Mujawar
2021-01-04 13:22 ` [PATCH v3 18/26] StandaloneMmPkg: Fix ECC error 9001 " Sami Mujawar
2021-01-04 13:22 ` [PATCH v3 19/26] StandaloneMmPkg: Fix ECC error 9001 in Standalone MM Core Sami Mujawar
2021-01-04 13:22 ` [PATCH v3 20/26] StandaloneMmPkg: Fix ECC error 9002 in CoreMemoryAllocationLib Sami Mujawar
2021-01-04 13:22 ` [PATCH v3 21/26] StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCpu Sami Mujawar
2021-01-04 13:22 ` [PATCH v3 22/26] StandaloneMmPkg: Fix ECC error 8005 in StandaloneMmCoreEntryPoint Sami Mujawar
2021-01-04 13:22 ` [PATCH v3 23/26] StandaloneMmPkg: Remove dependency on ArmPlatformPkg.dec Sami Mujawar
2021-01-04 13:22 ` [PATCH v3 24/26] StandaloneMmPkg: Add EDK2 Core CI support Sami Mujawar
2021-01-04 13:22 ` [PATCH v3 25/26] .azurepipelines: Add StandaloneMmPkg to CI matrix Sami Mujawar
2021-01-06 16:48   ` Sami Mujawar
2021-01-04 13:22 ` [PATCH v3 26/26] .pytool: CI Settings to support StandaloneMmPkg Sami Mujawar
2021-01-06 13:58 ` [PATCH v3 00/26] Enable Core CI support for StandaloneMmPkg Ard Biesheuvel
     [not found] ` <16570A30CC60F0BE.14857@groups.io>
2021-01-04 13:43   ` [edk2-devel] [PATCH v3 26/26] .pytool: CI Settings to support StandaloneMmPkg Sami Mujawar
2021-01-07  1:27     ` 回复: " gaoliming
2021-01-06 16:49   ` Sami Mujawar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210104132213.22376-14-sami.mujawar@arm.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox