## @file | |
# This module provide an SMM CIS compliant implementation of SMM Core. | |
# | |
# Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR> | |
# Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR> | |
# | |
# SPDX-License-Identifier: BSD-2-Clause-Patent | |
# | |
## | |
[Defines] | |
INF_VERSION = 0x0001001A | |
BASE_NAME = StandaloneMmCore | |
FILE_GUID = 6E14B6FD-3600-4DD6-A17A-206B3B6DCE16 | |
MODULE_TYPE = MM_CORE_STANDALONE | |
VERSION_STRING = 1.0 | |
PI_SPECIFICATION_VERSION = 0x00010032 | |
ENTRY_POINT = StandaloneMmMain | |
# VALID_ARCHITECTURES = IA32 X64 AARCH64 ARM | |
[Sources] | |
StandaloneMmCore.c | |
StandaloneMmCore.h | |
StandaloneMmCorePrivateData.h | |
Page.c | |
Pool.c | |
Handle.c | |
Locate.c | |
Notify.c | |
Dependency.c | |
Dispatcher.c | |
Mmi.c | |
InstallConfigurationTable.c | |
FwVol.c | |
[Packages] | |
MdePkg/MdePkg.dec | |
MdeModulePkg/MdeModulePkg.dec | |
StandaloneMmPkg/StandaloneMmPkg.dec | |
[LibraryClasses] | |
BaseLib | |
BaseMemoryLib | |
CacheMaintenanceLib | |
DebugLib | |
ExtractGuidedSectionLib | |
FvLib | |
HobLib | |
MemoryAllocationLib | |
MemLib | |
PeCoffLib | |
ReportStatusCodeLib | |
StandaloneMmCoreEntryPoint | |
[Protocols] | |
gEfiDxeMmReadyToLockProtocolGuid ## UNDEFINED # SmiHandlerRegister | |
gEfiMmReadyToLockProtocolGuid ## PRODUCES | |
gEfiMmEndOfDxeProtocolGuid ## PRODUCES | |
gEfiLoadedImageProtocolGuid ## PRODUCES | |
gEfiMmConfigurationProtocolGuid ## CONSUMES | |
[Guids] | |
gAprioriGuid ## SOMETIMES_CONSUMES ## File | |
gEfiEventDxeDispatchGuid ## PRODUCES ## GUID # SmiHandlerRegister | |
gEfiEndOfDxeEventGroupGuid ## PRODUCES ## GUID # SmiHandlerRegister | |
## SOMETIMES_CONSUMES ## GUID # Locate protocol | |
## SOMETIMES_PRODUCES ## GUID # SmiHandlerRegister | |
gEdkiiMemoryProfileGuid | |
gZeroGuid ## SOMETIMES_CONSUMES ## GUID | |
gEfiHobListGuid | |
gEfiHobMemoryAllocModuleGuid | |
gMmCoreDataHobGuid | |
gMmFvDispatchGuid | |
gEfiEventLegacyBootGuid | |
gEfiEventExitBootServicesGuid | |
gEfiEventReadyToBootGuid | |
[Pcd] | |
gStandaloneMmPkgTokenSpaceGuid.PcdFwVolMmMaxEncapsulationDepth ##CONSUMES | |
# | |
# This configuration fails for CLANGPDB, which does not support PIE in the GCC | |
# sense. Such however is required for ARM family StandaloneMmCore | |
# self-relocation, and thus the CLANGPDB toolchain is unsupported for ARM and | |
# AARCH64 for this module. | |
# | |
[BuildOptions] | |
GCC:*_*_ARM_CC_FLAGS = -fpie | |
GCC:*_*_ARM_DLINK_FLAGS = -Wl,-z,text,-Bsymbolic,-pie | |
GCC:*_*_AARCH64_CC_FLAGS = -fpie | |
GCC:*_*_AARCH64_DLINK_FLAGS = -Wl,-z,text,-Bsymbolic,-pie |