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)'
next prev 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