summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Smith-Denny <osde@microsoft.com>2025-01-29 13:19:54 -0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2025-02-07 02:23:11 +0000
commitdb03bf1d9dd7741571fbd9ad597add36ef4250d5 (patch)
tree26a762971ddfd66477eeb287b645bdea61d0f0f1
parent885bcca649392a4baa27f89c4e80581407840919 (diff)
downloadedk2-db03bf1d9dd7741571fbd9ad597add36ef4250d5.tar.gz
StandaloneMmPkg: Consume X64 StandaloneMmCoreEntryPoint From MdePkg
Now that the X64 StandaloneMmCoreEntryPoint has been moved to MdePkg, it can be removed from StandaloneMmPkg and consumed from MdePpkg. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
-rw-r--r--StandaloneMmPkg/Include/Library/StandaloneMmCoreEntryPoint.h91
-rw-r--r--StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf49
-rw-r--r--StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/X64/StandaloneMmCoreEntryPoint.c69
-rw-r--r--StandaloneMmPkg/StandaloneMmPkg.dec3
-rw-r--r--StandaloneMmPkg/StandaloneMmPkg.dsc3
5 files changed, 1 insertions, 214 deletions
diff --git a/StandaloneMmPkg/Include/Library/StandaloneMmCoreEntryPoint.h b/StandaloneMmPkg/Include/Library/StandaloneMmCoreEntryPoint.h
deleted file mode 100644
index 4e88482230..0000000000
--- a/StandaloneMmPkg/Include/Library/StandaloneMmCoreEntryPoint.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/** @file
- Module entry point library for STANDALONE MM core.
-
-Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
-
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#ifndef __MODULE_ENTRY_POINT_H__
-#define __MODULE_ENTRY_POINT_H__
-
-///
-/// Global variable that contains a pointer to the Hob List passed into the STANDALONE MM Core entry point.
-///
-extern VOID *gHobList;
-
-/**
- The entry point of PE/COFF Image for the STANDALONE MM Core.
-
- This function is the entry point for the STANDALONE MM Core. This function is required to call
- ProcessModuleEntryPointList() and ProcessModuleEntryPointList() is never expected to return.
- The STANDALONE MM Core is responsible for calling ProcessLibraryConstructorList() as soon as the EFI
- System Table and the image handle for the STANDALONE MM Core itself have been established.
- If ProcessModuleEntryPointList() returns, then ASSERT() and halt the system.
-
- @param HobStart Pointer to the beginning of the HOB List passed in from the PEI Phase.
-
-**/
-VOID
-EFIAPI
-_ModuleEntryPoint (
- IN VOID *HobStart
- );
-
-/**
- Required by the EBC compiler and identical in functionality to _ModuleEntryPoint().
-
- This function is required to call _ModuleEntryPoint() passing in HobStart.
-
- @param HobStart Pointer to the beginning of the HOB List passed in from the PEI Phase.
-
-**/
-VOID
-EFIAPI
-EfiMain (
- IN VOID *HobStart
- );
-
-/**
- Auto generated function that calls the library constructors for all of the module's dependent libraries.
-
- This function must be called by _ModuleEntryPoint().
- This function calls the set of library constructors for the set of library instances
- that a module depends on. This includes library instances that a module depends on
- directly and library instances that a module depends on indirectly through other
- libraries. This function is auto generated by build tools and those build tools are
- responsible for collecting the set of library instances, determine which ones have
- constructors, and calling the library constructors in the proper order based upon
- each of the library instances own dependencies.
-
- @param ImageHandle The image handle of the STANDALONE MM Core.
- @param SystemTable A pointer to the EFI System Table.
-
-**/
-VOID
-EFIAPI
-ProcessLibraryConstructorList (
- IN EFI_HANDLE ImageHandle,
- IN EFI_MM_SYSTEM_TABLE *MmSystemTable
- );
-
-/**
- Autogenerated function that calls a set of module entry points.
-
- This function must be called by _ModuleEntryPoint().
- This function calls the set of module entry points.
- This function is auto generated by build tools and those build tools are responsible
- for collecting the module entry points and calling them in a specified order.
-
- @param HobStart Pointer to the beginning of the HOB List passed in from the PEI Phase.
-
-**/
-VOID
-EFIAPI
-ProcessModuleEntryPointList (
- IN VOID *HobStart
- );
-
-#endif
diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf
deleted file mode 100644
index 9f66a8f84c..0000000000
--- a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf
+++ /dev/null
@@ -1,49 +0,0 @@
-## @file
-# Module entry point library for DXE core.
-#
-# Copyright (c) 2017 - 2021, Arm Ltd. All rights reserved.<BR>
-#
-# SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-#
-##
-
-[Defines]
- INF_VERSION = 0x0001001A
- BASE_NAME = StandaloneMmCoreEntryPoint
- FILE_GUID = C97AC593-109A-4C63-905C-675FDE2689E8
- MODULE_TYPE = MM_CORE_STANDALONE
- VERSION_STRING = 1.0
- PI_SPECIFICATION_VERSION = 0x00010032
- LIBRARY_CLASS = StandaloneMmCoreEntryPoint|MM_CORE_STANDALONE
-
-#
-# VALID_ARCHITECTURES = IA32 X64 IPF EBC (EBC is for build only)
-#
-
-[Sources.X64]
- X64/StandaloneMmCoreEntryPoint.c
-
-[Packages]
- MdePkg/MdePkg.dec
- MdeModulePkg/MdeModulePkg.dec
- StandaloneMmPkg/StandaloneMmPkg.dec
-
-[LibraryClasses]
- BaseLib
- DebugLib
-
-[Guids]
- gMpInformationHobGuid
- gEfiMmPeiMmramMemoryReserveGuid
- gEfiStandaloneMmNonSecureBufferGuid
-
-#
-# 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:*_*_AARCH64_CC_FLAGS = -fpie
diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/X64/StandaloneMmCoreEntryPoint.c b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/X64/StandaloneMmCoreEntryPoint.c
deleted file mode 100644
index 98e6c0d766..0000000000
--- a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/X64/StandaloneMmCoreEntryPoint.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/** @file
- Entry point to the Standalone Mm Core.
-
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
-Copyright (c) Microsoft Corporation.
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <PiMm.h>
-
-#include <Library/StandaloneMmCoreEntryPoint.h>
-#include <Library/DebugLib.h>
-#include <Library/BaseLib.h>
-
-//
-// Cache copy of HobList pointer.
-//
-VOID *gHobList = NULL;
-
-/**
- The entry point of PE/COFF Image for the STANDALONE MM Core.
-
- This function is the entry point for the STANDALONE MM Core. This function is required to call
- ProcessModuleEntryPointList() and ProcessModuleEntryPointList() is never expected to return.
- The STANDALONE MM Core is responsible for calling ProcessLibraryConstructorList() as soon as the EFI
- System Table and the image handle for the STANDALONE MM Core itself have been established.
- If ProcessModuleEntryPointList() returns, then ASSERT() and halt the system.
-
- @param HobStart Pointer to the beginning of the HOB List passed in from the PEI Phase.
-
-**/
-VOID
-EFIAPI
-_ModuleEntryPoint (
- IN VOID *HobStart
- )
-{
- //
- // Cache a pointer to the HobList
- //
- gHobList = HobStart;
-
- //
- // Call the Standalone MM Core entry point
- //
- ProcessModuleEntryPointList (HobStart);
-
- //
- // TODO: Set page table here?? AARCH64 has this step for some reason
- //
-}
-
-/**
- Required by the EBC compiler and identical in functionality to _ModuleEntryPoint().
-
- This function is required to call _ModuleEntryPoint() passing in HobStart.
-
- @param HobStart Pointer to the beginning of the HOB List passed in from the PEI Phase.
-
-**/
-VOID
-EFIAPI
-EfiMain (
- IN VOID *HobStart
- )
-{
- _ModuleEntryPoint (HobStart);
-}
diff --git a/StandaloneMmPkg/StandaloneMmPkg.dec b/StandaloneMmPkg/StandaloneMmPkg.dec
index ca8ce715d9..00ec8c076e 100644
--- a/StandaloneMmPkg/StandaloneMmPkg.dec
+++ b/StandaloneMmPkg/StandaloneMmPkg.dec
@@ -23,9 +23,6 @@
## @libraryclass Defines a set of helper methods.
FvLib|Include/Library/FvLib.h
- ## @libraryclass Defines a set of interfaces for the MM core entrypoint.
- StandaloneMmCoreEntryPoint|Include/Library/StandaloneMmCoreEntryPoint.h
-
## @libraryclass Defines a set of interfaces that provides services for
## MM Memory Operation.
MemLib|Include/Library/StandaloneMmMemLib.h
diff --git a/StandaloneMmPkg/StandaloneMmPkg.dsc b/StandaloneMmPkg/StandaloneMmPkg.dsc
index a935f3a7e7..08b80c9360 100644
--- a/StandaloneMmPkg/StandaloneMmPkg.dsc
+++ b/StandaloneMmPkg/StandaloneMmPkg.dsc
@@ -72,7 +72,7 @@
MmUnblockMemoryLib|MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf
[LibraryClasses.X64]
- StandaloneMmCoreEntryPoint|StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf
+ StandaloneMmCoreEntryPoint|MdePkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf
[LibraryClasses.AARCH64, LibraryClasses.ARM]
ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
@@ -153,7 +153,6 @@
StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/StandaloneMmPeCoffExtraActionLib.inf
[Components.X64]
- StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf
StandaloneMmPkg/Drivers/StandaloneMmIplPei/StandaloneMmIplPei.inf
###################################################################################################