StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCoreEntryPoint

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>
Acked-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
This commit is contained in:
Sami Mujawar 2020-12-07 11:22:43 +00:00 committed by mergify[bot]
parent 84096dccd6
commit 764942a2dd
3 changed files with 78 additions and 18 deletions

View File

@ -2,7 +2,7 @@
Entry point to the Standalone MM Foundation when initialized during the SEC Entry point to the Standalone MM Foundation when initialized during the SEC
phase on ARM platforms phase on ARM platforms
Copyright (c) 2017 - 2018, ARM Ltd. All rights reserved.<BR> Copyright (c) 2017 - 2021, Arm Ltd. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent 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 sections in the Standalone MM Core module to be able to access RO and RW data
and make further progress in the boot process. and make further progress in the boot process.
@param ImageContext Pointer to PE/COFF image context @param [in] ImageContext Pointer to PE/COFF image context
@param ImageBase Base of image in memory @param [in] ImageBase Base of image in memory
@param SectionHeaderOffset Offset of PE/COFF image section header @param [in] SectionHeaderOffset Offset of PE/COFF image section header
@param NumberOfSections Number of Sections @param [in] NumberOfSections Number of Sections
@param TextUpdater Function to change code permissions @param [in] TextUpdater Function to change code permissions
@param ReadOnlyUpdater Function to change RO permissions @param [in] ReadOnlyUpdater Function to change RO permissions
@param ReadWriteUpdater Function to change RW permissions @param [in] ReadWriteUpdater Function to change RW permissions
**/ **/
EFI_STATUS EFI_STATUS
@ -98,11 +98,11 @@ UpdateMmFoundationPeCoffPermissions (
the Standalone MM Core module to be able to change permissions of the the Standalone MM Core module to be able to change permissions of the
individual sections later in the boot process. individual sections later in the boot process.
@param TeData Pointer to PE/COFF image data @param [in] TeData Pointer to PE/COFF image data
@param ImageContext Pointer to PE/COFF image context @param [in, out] ImageContext Pointer to PE/COFF image context
@param ImageBase Pointer to ImageBase variable @param [out] ImageBase Pointer to ImageBase variable
@param SectionHeaderOffset Offset of PE/COFF image section header @param [in, out] SectionHeaderOffset Offset of PE/COFF image section header
@param NumberOfSections Number of Sections @param [in, out] NumberOfSections Number of Sections
**/ **/
EFI_STATUS EFI_STATUS
@ -121,10 +121,10 @@ GetStandaloneMmCorePeCoffSections (
by the Boot Firmware Volume. This function locates the Standalone MM Core by the Boot Firmware Volume. This function locates the Standalone MM Core
module PE/COFF image in the BFV and returns this information. module PE/COFF image in the BFV and returns this information.
@param BfvAddress Base Address of Boot Firmware Volume @param [in] BfvAddress Base Address of Boot Firmware Volume
@param TeData Pointer to address for allocating memory for @param [in, out] TeData Pointer to address for allocating memory
PE/COFF image data for PE/COFF image data
@param TeDataSize Pointer to size of PE/COFF image data @param [in, out] TeDataSize Pointer to size of PE/COFF image data
**/ **/
EFI_STATUS EFI_STATUS

View File

@ -25,6 +25,21 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#include <IndustryStandard/ArmStdSmc.h> #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 EFI_STATUS
EFIAPI EFIAPI
UpdateMmFoundationPeCoffPermissions ( UpdateMmFoundationPeCoffPermissions (
@ -113,6 +128,17 @@ UpdateMmFoundationPeCoffPermissions (
return RETURN_SUCCESS; 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 EFI_STATUS
EFIAPI EFIAPI
LocateStandaloneMmCorePeCoffData ( LocateStandaloneMmCorePeCoffData (
@ -151,6 +177,15 @@ LocateStandaloneMmCorePeCoffData (
return Status; 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 STATIC
EFI_STATUS EFI_STATUS
GetPeCoffSectionInformation ( GetPeCoffSectionInformation (
@ -241,6 +276,19 @@ GetPeCoffSectionInformation (
return RETURN_SUCCESS; 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 EFI_STATUS
EFIAPI EFIAPI
GetStandaloneMmCorePeCoffSections ( GetStandaloneMmCorePeCoffSections (

View File

@ -2,7 +2,7 @@
Entry point to the Standalone MM Foundation when initialized during the SEC Entry point to the Standalone MM Foundation when initialized during the SEC
phase on ARM platforms phase on ARM platforms
Copyright (c) 2017 - 2018, ARM Ltd. All rights reserved.<BR> Copyright (c) 2017 - 2021, Arm Ltd. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent SPDX-License-Identifier: BSD-2-Clause-Patent
**/ **/
@ -101,6 +101,12 @@ GetAndPrintBootinformation (
return PayloadBootInfo; return PayloadBootInfo;
} }
/**
A loop to delegated events.
@param [in] EventCompleteSvcArgs Pointer to the event completion arguments.
**/
VOID VOID
EFIAPI EFIAPI
DelegatedEventLoop ( 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 STATIC
EFI_STATUS EFI_STATUS
GetSpmVersion (VOID) GetSpmVersion (VOID)