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.pattana...@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 -- 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#75543): https://edk2.groups.io/g/devel/message/75543 Mute This Topic: https://groups.io/mt/83062019/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-