[edk2-devel] [PATCH v1 01/15] StandaloneMmPkg: StandaloneMmCoreEntryPoint: Extends support for X64
Yao, Jiewen
jiewen.yao at intel.com
Mon Dec 28 00:11:00 UTC 2020
Reviewed-by: Jiewen Yao <Jiewen.yao at intel.com>
> -----Original Message-----
> From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of Kun Qin
> Sent: Saturday, December 19, 2020 2:50 AM
> To: devel at edk2.groups.io
> Cc: Ard Biesheuvel <ard.biesheuvel at arm.com>; Sami Mujawar
> <sami.mujawar at arm.com>; Yao, Jiewen <jiewen.yao at intel.com>; Supreeth
> Venkatesh <supreeth.venkatesh at arm.com>
> Subject: [edk2-devel] [PATCH v1 01/15] StandaloneMmPkg:
> StandaloneMmCoreEntryPoint: Extends support for X64
>
> This change extends StandaloneMmCoreEntryPoint library to support X64
> architecture.
>
> Cc: Ard Biesheuvel <ard.biesheuvel at arm.com>
> Cc: Sami Mujawar <sami.mujawar at arm.com>
> Cc: Jiewen Yao <jiewen.yao at intel.com>
> Cc: Supreeth Venkatesh <supreeth.venkatesh at arm.com>
>
> Signed-off-by: Kun Qin <kun.q at outlook.com>
> ---
>
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/X64/Standalone
> MmCoreEntryPoint.c | 71 ++++++++++++++++++++
>
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMm
> CoreEntryPoint.inf | 3 +
> 2 files changed, 74 insertions(+)
>
> diff --git
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/X64/Standalo
> neMmCoreEntryPoint.c
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/X64/Standalo
> neMmCoreEntryPoint.c
> new file mode 100644
> index 000000000000..dffa965b8425
> --- /dev/null
> +++
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/X64/Standalo
> neMmCoreEntryPoint.c
> @@ -0,0 +1,71 @@
> +/** @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/Library/StandaloneMmCoreEntryPoint/StandaloneM
> mCoreEntryPoint.inf
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneM
> mCoreEntryPoint.inf
> index 7d6ee4e08ecb..3b7629bc8fb9 100644
> ---
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneM
> mCoreEntryPoint.inf
> +++
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneM
> mCoreEntryPoint.inf
> @@ -26,6 +26,9 @@ [Sources.AARCH64]
> AArch64/SetPermissions.c
> AArch64/CreateHobList.c
>
> +[Sources.X64]
> + X64/StandaloneMmCoreEntryPoint.c
> +
> [Packages]
> MdePkg/MdePkg.dec
> MdeModulePkg/MdeModulePkg.dec
> --
> 2.28.0.windows.1
>
>
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#69465): https://edk2.groups.io/g/devel/message/69465
Mute This Topic: https://groups.io/mt/79068284/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