Ard: I think it is a code bug fix, because the module should use the one in MdePkg instead of the one in StandaloneMmPkg. So, I am OK to merge it for this stable tag.
Thanks Liming > -----邮件原件----- > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Ard > Biesheuvel > 发送时间: 2021年2月25日 16:08 > 收件人: Michael Kubacki <mikub...@linux.microsoft.com>; Liming Gao > (Byosoft address) <gaolim...@byosoft.com.cn> > 抄送: devel@edk2.groups.io; Ard Biesheuvel <ardb+tianoc...@kernel.org>; > Sami Mujawar <sami.muja...@arm.com>; Jiewen Yao > <jiewen....@intel.com>; Supreeth Venkatesh > <supreeth.venkat...@arm.com>; Laszlo Ersek <ler...@redhat.com> > 主题: Re: [edk2-devel] [PATCH v1 1/1] StandaloneMmPkg: Remove > StandaloneMmDriverEntryPoint.h > > (+ Liming) > > On Thu, 25 Feb 2021 at 04:33, <mikub...@linux.microsoft.com> wrote: > > > > From: Michael Kubacki <michael.kuba...@microsoft.com> > > > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3235 > > > > The library for this header initially resided in StandaloneMmPkg > > but moved to MdePkg and now this file is a duplicate of the header > > file in MdePkg. > > > > This change removes the header file from StandaloneMmPkg. More > > details regarding the history of the library transitioning from > > StandaloneMmPkg to MdePkg are below. > > > > The following commit removed the library from StandaloneMmPkg: > > d6253d2f9a33 ("StandaloneMmPkg: remove redundant > > StandaloneMmDriverEntryPoint driver", 2019-03-11) > > > > The following commits added the library class & instance to MdePkg: > > 7df4764e6a81a ("MdePkg: introduce standalone MM entry point > > library class", 2019-01-14) > > > > 5866d4992396 ("MdePkg: introduce standalone MM entry point > > library implementation", 2019-01-14) > > > > Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org> > > Cc: Sami Mujawar <sami.muja...@arm.com> > > Cc: Jiewen Yao <jiewen....@intel.com> > > Cc: Supreeth Venkatesh <supreeth.venkat...@arm.com> > > Cc: Laszlo Ersek <ler...@redhat.com> > > Signed-off-by: Michael Kubacki <michael.kuba...@microsoft.com> > > Acked-by: Ard Biesheuvel <a...@kernel.org> > > Thanks Michael. > > If Liming agrees, I'll merge this today. > > > > --- > > StandaloneMmPkg/Include/Library/StandaloneMmDriverEntryPoint.h | > 142 -------------------- > > StandaloneMmPkg/StandaloneMmPkg.dec > | 3 - > > 2 files changed, 145 deletions(-) > > > > diff --git > a/StandaloneMmPkg/Include/Library/StandaloneMmDriverEntryPoint.h > b/StandaloneMmPkg/Include/Library/StandaloneMmDriverEntryPoint.h > > deleted file mode 100644 > > index b72b64704d16..000000000000 > > --- a/StandaloneMmPkg/Include/Library/StandaloneMmDriverEntryPoint.h > > +++ /dev/null > > @@ -1,142 +0,0 @@ > > -/** @file > > - Module entry point library for Standalone MM Drivers. > > - > > -Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> > > -Copyright (c) 2016 - 2021, Arm Limited. All rights reserved.<BR> > > - > > -SPDX-License-Identifier: BSD-2-Clause-Patent > > - > > -**/ > > - > > -#ifndef __MODULE_ENTRY_POINT_H__ > > -#define __MODULE_ENTRY_POINT_H__ > > - > > -/// > > -///Declare the PI Specification Revision that this driver requires to > > execute > correctly. > > -/// > > -extern CONST UINT32 _gMmRevision; > > - > > -/** > > - The entry point of PE/COFF Image for a Standalone MM Driver. > > - > > - This function is the entry point for a Standalone MM Driver. > > - This function must call ProcessLibraryConstructorList() and > > - ProcessModuleEntryPointList(). > > - If the return status from ProcessModuleEntryPointList() > > - is an error status, then ProcessLibraryDestructorList() must be called. > > - The return value from ProcessModuleEntryPointList() is returned. > > - If _gDriverUnloadImageCount is greater > > - than zero, then an unload handler must be registered for this image and > > - the unload handler must invoke ProcessModuleUnloadList(). > > - If _gUefiDriverRevision is not zero and SystemTable->Hdr.Revision is > > - less than _gUefiDriverRevision, then return > EFI_INCOMPATIBLE_VERSION. > > - > > - @param ImageHandle The image handle of the Standalone MM > Driver. > > - @param SystemTable A pointer to the EFI System Table. > > - > > - @retval EFI_SUCCESS The Standalone MM Driver > exited normally. > > - @retval EFI_INCOMPATIBLE_VERSION _gUefiDriverRevision is > greater than > > - SystemTable->Hdr.Revision. > > - @retval Other Return value from > > - > ProcessModuleEntryPointList(). > > - > > -**/ > > -EFI_STATUS > > -EFIAPI > > -_ModuleEntryPoint ( > > - IN EFI_HANDLE ImageHandle, > > - IN EFI_MM_SYSTEM_TABLE *MmSystemTable > > - ); > > - > > - > > -/** > > - Required by the EBC compiler and identical in functionality to > _ModuleEntryPoint(). > > - > > - This function is required to call _ModuleEntryPoint() passing in > ImageHandle, and SystemTable. > > - > > - @param ImageHandle The image handle of the Standalone MM > Driver. > > - @param SystemTable A pointer to the EFI System Table. > > - > > - @retval EFI_SUCCESS The Standalone MM Driver > exited normally. > > - @retval EFI_INCOMPATIBLE_VERSION _gUefiDriverRevision is > greater than > > - SystemTable->Hdr.Revision. > > - @retval Other Return value from > ProcessModuleEntryPointList(). > > -**/ > > -EFI_STATUS > > -EFIAPI > > -EfiMain ( > > - IN EFI_HANDLE ImageHandle, > > - IN EFI_MM_SYSTEM_TABLE *MmSystemTable > > - ); > > - > > -/** > > - 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 > Driver. > > - @param SystemTable A pointer to the EFI System Table. > > - > > -**/ > > -VOID > > -EFIAPI > > -ProcessLibraryConstructorList ( > > - IN EFI_HANDLE ImageHandle, > > - IN EFI_MM_SYSTEM_TABLE *MmSystemTable > > - ); > > - > > - > > -/** > > - Auto generated function that calls the library descructors for all of the > module's > > - dependent libraries. > > - > > - This function may be called by _ModuleEntryPoint() or ExitDriver(). > > - This function calls the set of library destructors 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 > destructors, and calling > > - the library destructors in the proper order based upon each of the > > library > instances own dependencies. > > - > > - @param ImageHandle The image handle of the Standalone MM > Driver. > > - @param SystemTable A pointer to the EFI System Table. > > - > > -**/ > > -VOID > > -EFIAPI > > -ProcessLibraryDestructorList ( > > - IN EFI_HANDLE ImageHandle, > > - IN EFI_MM_SYSTEM_TABLE *MmSystemTable > > - ); > > - > > - > > -/** > > - Auto generated 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 ImageHandle The image handle of the Standalone MM > Driver. > > - @param SystemTable A pointer to the EFI System Table. > > - > > - @retval EFI_SUCCESS The Standalone MMDriver executed > normally. > > - @retval !EFI_SUCCESS The Standalone MM Driver failed to execute > normally. > > -**/ > > -EFI_STATUS > > -EFIAPI > > -ProcessModuleEntryPointList ( > > - IN EFI_HANDLE ImageHandle, > > - IN EFI_MM_SYSTEM_TABLE *MmSystemTable > > - ); > > - > > -#endif > > diff --git a/StandaloneMmPkg/StandaloneMmPkg.dec > b/StandaloneMmPkg/StandaloneMmPkg.dec > > index 36de8d561bf3..0dfed4ee995a 100644 > > --- a/StandaloneMmPkg/StandaloneMmPkg.dec > > +++ b/StandaloneMmPkg/StandaloneMmPkg.dec > > @@ -25,9 +25,6 @@ [LibraryClasses] > > ## @libraryclass Defines a set of interfaces for the MM core > entrypoint. > > > StandaloneMmCoreEntryPoint|Include/Library/StandaloneMmCoreEntryPoin > t.h > > > > - ## @libraryclass Defines a set of interfaces for the MM driver > entrypoint. > > - > StandaloneMmDriverEntryPoint|Include/Library/StandaloneMmDriverEntryP > oint.h > > - > > ## @libraryclass Defines a set of interfaces that provides services > for > > ## MM Memory Operation. > > MemLib|Include/Library/StandaloneMmMemLib.h > > -- > > 2.28.0.windows.1 > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#72192): https://edk2.groups.io/g/devel/message/72192 Mute This Topic: https://groups.io/mt/80901488/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-