## @file | |
# Standalone MM Platform. | |
# | |
# Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> | |
# Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR> | |
# | |
# This program and the accompanying materials | |
# are licensed and made available under the terms and conditions of the BSD License | |
# which accompanies this distribution. The full text of the license may be found at | |
# http://opensource.org/licenses/bsd-license.php | |
# | |
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
# | |
## | |
################################################################################ | |
# | |
# Defines Section - statements that will be processed to create a Makefile. | |
# | |
################################################################################ | |
[Defines] | |
PLATFORM_NAME = StandaloneMm | |
PLATFORM_GUID = 9A4BBA60-B4F9-47C7-9258-3BD77CAE9322 | |
PLATFORM_VERSION = 1.0 | |
DSC_SPECIFICATION = 0x00010011 | |
OUTPUT_DIRECTORY = Build/StandaloneMm | |
SUPPORTED_ARCHITECTURES = IA32|X64|AARCH64 | |
BUILD_TARGETS = DEBUG|RELEASE | |
SKUID_IDENTIFIER = DEFAULT | |
# LzmaF86 | |
DEFINE COMPRESSION_TOOL_GUID = D42AE6BD-1352-4bfb-909A-CA72A6EAE889 | |
################################################################################ | |
# | |
# Library Class section - list of all Library Classes needed by this Platform. | |
# | |
################################################################################ | |
[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 | |
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|StandaloneMmPkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf | |
[LibraryClasses.AARCH64] | |
ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf | |
ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuStandaloneMmCoreLib.inf | |
ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf | |
CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf | |
PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf | |
PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf | |
# ARM PL011 UART Driver | |
SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf | |
StandaloneMmCoreEntryPoint|StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf | |
################################################################################ | |
# | |
# Pcd Section - list of all EDK II PCD Entries defined by this Platform | |
# | |
################################################################################ | |
[PcdsFeatureFlag] | |
gStandaloneMmPkgTokenSpaceGuid.PcdStandaloneMmEnable|TRUE | |
[PcdsFixedAtBuild] | |
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x800000CF | |
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xff | |
gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x0f | |
[PcdsFixedAtBuild.AARCH64] | |
## PL011 - Serial Terminal | |
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x1c0b0000 | |
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200 | |
################################################################################################### | |
# | |
# 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 |