[edk2-devel] [edk2-platforms][PATCH V1 1/3] Platform/Sgi: refactor StandaloneMM platform description file

Sami Mujawar sami.mujawar at arm.com
Tue May 25 13:57:00 UTC 2021


Hi Sayanta,

This patch looks good to me.

Reviewed-by: Sami Mujawar <sami.mujawar at arm.com>

Regards,

Sami Mujawar


On 24/05/2021 06:22 PM, Sayanta Pattanayak wrote:
> The RD-N2 platform has a different memory map from that of the other
> platforms supported under the SgiPkg. To enable the use of StandaloneMM
> as a secure partition on RD-N2 platform, refactor the existing
> StandaloneMM platform description file. The differing portions are split
> into two different files and the rest of the  platform description file
> is converted into a include file.
>
> Signed-off-by: Sayanta Pattanayak <sayanta.pattanayak at arm.com>
> ---
>   Platform/ARM/SgiPkg/{PlatformStandaloneMm.dsc => SgiPlatformMm.dsc.inc} |  30 +----
>   Platform/ARM/SgiPkg/PlatformStandaloneMm.dsc                            | 117 ++------------------
>   Platform/ARM/SgiPkg/PlatformStandaloneMm2.dsc                           |  40 +++++++
>   3 files changed, 53 insertions(+), 134 deletions(-)
>
> diff --git a/Platform/ARM/SgiPkg/PlatformStandaloneMm.dsc b/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
> similarity index 83%
> copy from Platform/ARM/SgiPkg/PlatformStandaloneMm.dsc
> copy to Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
> index e281d5490912..3389ff676a91 100644
> --- a/Platform/ARM/SgiPkg/PlatformStandaloneMm.dsc
> +++ b/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
> @@ -1,37 +1,16 @@
> +## @file
> +#  StandaloneMM platform description include file for all supported platforms.
>   #
> -#  Copyright (c) 2018, ARM Limited. All rights reserved.
> +#  Copyright (c) 2021, ARM Limited. All rights reserved.
>   #
>   #  SPDX-License-Identifier: BSD-2-Clause-Patent
> -#
> -
> -################################################################################
> -#
> -# Defines Section - statements that will be processed to create a Makefile.
> -#
> -################################################################################
> -[Defines]
> -  PLATFORM_NAME                  = SgiMmStandalone
> -  PLATFORM_GUID                  = 34B78C8F-CFD5-49D5-8360-E91143F6106D
> -  PLATFORM_VERSION               = 1.0
> -  DSC_SPECIFICATION              = 0x00010011
> -  OUTPUT_DIRECTORY               = Build/$(PLATFORM_NAME)
> -  SUPPORTED_ARCHITECTURES        = AARCH64
> -  BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
> -  SKUID_IDENTIFIER               = DEFAULT
> -  FLASH_DEFINITION               = Platform/ARM/SgiPkg/PlatformStandaloneMm.fdf
> -  DEFINE DEBUG_MESSAGE           = TRUE
> -
> -  # LzmaF86
> -  DEFINE COMPRESSION_TOOL_GUID   = D42AE6BD-1352-4bfb-909A-CA72A6EAE889
> +##
>   
>   ################################################################################
>   #
>   # Library Class section - list of all Library Classes needed by this Platform.
>   #
>   ################################################################################
> -
> -!include MdePkg/MdeLibs.dsc.inc
> -
>   [LibraryClasses]
>     #
>     # Basic
> @@ -92,7 +71,6 @@
>     gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x0f
>   
>     ## PL011 - Serial Terminal
> -  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x7FF70000
>     gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200
>   
>     gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x2
> diff --git a/Platform/ARM/SgiPkg/PlatformStandaloneMm.dsc b/Platform/ARM/SgiPkg/PlatformStandaloneMm.dsc
> index e281d5490912..cdf8aaa88f03 100644
> --- a/Platform/ARM/SgiPkg/PlatformStandaloneMm.dsc
> +++ b/Platform/ARM/SgiPkg/PlatformStandaloneMm.dsc
> @@ -1,8 +1,11 @@
> +## @file
> +#  StandaloneMM platform description file for SGI-575, RD-N1-Edge, RD-E1-Edge
> +#  and RD-V1 platforms.
>   #
> -#  Copyright (c) 2018, ARM Limited. All rights reserved.
> +#  Copyright (c) 2021, ARM Limited. All rights reserved.
>   #
>   #  SPDX-License-Identifier: BSD-2-Clause-Patent
> -#
> +##
>   
>   ################################################################################
>   #
> @@ -11,9 +14,9 @@
>   ################################################################################
>   [Defines]
>     PLATFORM_NAME                  = SgiMmStandalone
> -  PLATFORM_GUID                  = 34B78C8F-CFD5-49D5-8360-E91143F6106D
> +  PLATFORM_GUID                  = 503b97f6-1be9-4661-97fd-9a55bbd2680d
>     PLATFORM_VERSION               = 1.0
> -  DSC_SPECIFICATION              = 0x00010011
> +  DSC_SPECIFICATION              = 0x0001001B
>     OUTPUT_DIRECTORY               = Build/$(PLATFORM_NAME)
>     SUPPORTED_ARCHITECTURES        = AARCH64
>     BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
> @@ -24,62 +27,9 @@
>     # LzmaF86
>     DEFINE COMPRESSION_TOOL_GUID   = D42AE6BD-1352-4bfb-909A-CA72A6EAE889
>   
> -################################################################################
> -#
> -# Library Class section - list of all Library Classes needed by this Platform.
> -#
> -################################################################################
> -
> +# include common definitions.
>   !include MdePkg/MdeLibs.dsc.inc
> -
> -[LibraryClasses]
> -  #
> -  # Basic
> -  #
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> -  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
> -  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
> -  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
> -  ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
> -  FvLib|StandaloneMmPkg/Library/FvLib/FvLib.inf
> -  HobLib|StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.inf
> -  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
> -  MemLib|StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.inf
> -  MemoryAllocationLib|StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.inf
> -  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> -  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
> -  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
> -  ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
> -
> -  #
> -  # Entry point
> -  #
> -  StandaloneMmDriverEntryPoint|MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf
> -
> -  ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
> -  StandaloneMmMmuLib|ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf
> -  ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf
> -  CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
> -  PeCoffExtraActionLib|StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/StandaloneMmPeCoffExtraActionLib.inf
> -
> -  # ARM PL011 UART Driver
> -  PL011UartClockLib|ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf
> -  PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf
> -  SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf
> -
> -  StandaloneMmCoreEntryPoint|StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf
> -
> -  #
> -  # It is not possible to prevent the ARM compiler for generic intrinsic functions.
> -  # This library provides the instrinsic functions generate by a given compiler.
> -  # And NULL mean link this library into all ARM images.
> -  #
> -  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
> -
> -[LibraryClasses.common.MM_STANDALONE]
> -  HobLib|StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf
> -  MmServicesTableLib|MdePkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTableLib.inf
> -  MemoryAllocationLib|StandaloneMmPkg/Library/StandaloneMmMemoryAllocationLib/StandaloneMmMemoryAllocationLib.inf
> +!include Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
>   
>   ################################################################################
>   #
> @@ -87,54 +37,5 @@
>   #
>   ################################################################################
>   [PcdsFixedAtBuild]
> -  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x800000CF
> -  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xff
> -  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x0f
> -
>     ## PL011 - Serial Terminal
>     gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x7FF70000
> -  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200
> -
> -  gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x2
> -
> -###################################################################################################
> -#
> -# Components Section - list of the modules and components that will be processed by compilation
> -#                      tools and the EDK II tools to generate PE32/PE32+/Coff image files.
> -#
> -# Note: The EDK II DSC file is not used to specify how compiled binary images get placed
> -#       into firmware volume images. This section is just a list of modules to compile from
> -#       source into UEFI-compliant binaries.
> -#       It is the FDF file that contains information on combining binary files into firmware
> -#       volume images, whose concept is beyond UEFI and is described in PI specification.
> -#       Binary modules do not need to be listed in this section, as they should be
> -#       specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),
> -#       Logo (Logo.bmp), and etc.
> -#       There may also be modules listed in this section that are not required in the FDF file,
> -#       When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
> -#       generated for it, but the binary will not be put into any firmware volume.
> -#
> -###################################################################################################
> -[Components.common]
> -  #
> -  # MM Core
> -  #
> -  StandaloneMmPkg/Core/StandaloneMmCore.inf
> -
> -[Components.AARCH64]
> -  StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf
> -
> -###################################################################################################
> -#
> -# BuildOptions Section - Define the module specific tool chain flags that should be used as
> -#                        the default flags for a module. These flags are appended to any
> -#                        standard flags that are defined by the build process. They can be
> -#                        applied for any modules or only those modules with the specific
> -#                        module style (EDK or EDKII) specified in [Components] section.
> -#
> -###################################################################################################
> -[BuildOptions.AARCH64]
> -  GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 -march=armv8-a+nofp
> -
> -[BuildOptions]
> -  *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
> diff --git a/Platform/ARM/SgiPkg/PlatformStandaloneMm2.dsc b/Platform/ARM/SgiPkg/PlatformStandaloneMm2.dsc
> new file mode 100644
> index 000000000000..bb359a15cc0d
> --- /dev/null
> +++ b/Platform/ARM/SgiPkg/PlatformStandaloneMm2.dsc
> @@ -0,0 +1,40 @@
> +## @file
> +#  StandaloneMM platform description file for RD-N2 platforms.
> +#
> +#  Copyright (c) 2021, ARM Limited. All rights reserved.
> +#
> +#  SPDX-License-Identifier: BSD-2-Clause-Patent
> +##
> +
> +################################################################################
> +#
> +# Defines Section - statements that will be processed to create a Makefile.
> +#
> +################################################################################
> +[Defines]
> +  PLATFORM_NAME                  = SgiMmStandalone
> +  PLATFORM_GUID                  = 67309f8a-d278-4df5-86ee-a1826cf481ed
> +  PLATFORM_VERSION               = 1.0
> +  DSC_SPECIFICATION              = 0x0001001B
> +  OUTPUT_DIRECTORY               = Build/$(PLATFORM_NAME)
> +  SUPPORTED_ARCHITECTURES        = AARCH64
> +  BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
> +  SKUID_IDENTIFIER               = DEFAULT
> +  FLASH_DEFINITION               = Platform/ARM/SgiPkg/PlatformStandaloneMm.fdf
> +  DEFINE DEBUG_MESSAGE           = TRUE
> +
> +  # LzmaF86
> +  DEFINE COMPRESSION_TOOL_GUID   = D42AE6BD-1352-4bfb-909A-CA72A6EAE889
> +
> +# include common definitions.
> +!include MdePkg/MdeLibs.dsc.inc
> +!include Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
> +
> +################################################################################
> +#
> +# Pcd Section - list of all EDK II PCD Entries defined by this Platform
> +#
> +################################################################################
> +[PcdsFixedAtBuild]
> +  ## PL011 - Serial Terminal
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x0EF80000



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75579): https://edk2.groups.io/g/devel/message/75579
Mute This Topic: https://groups.io/mt/83062019/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list