On 02/17/21 22:32, mikub...@linux.microsoft.com wrote: > From: Michael Kubacki <michael.kuba...@microsoft.com> > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3218 > > Adds an INF for StandaloneMmCpuFeaturesLib, which supports building > the SmmCpuFeaturesLib code for Standalone MM. Minimal code changes > are made to allow reuse of existing code for Standalone MM. > > The original INF file names are left intact (continue to use SMM > terminology) to retain backward compatibility with platforms that > use those INFs. Similarly, the pre-existing C file names are > unchanged to be consistent with the INF file names. > > Note that all references in library source files to PiSmm.h have > been changed to PiMm.h for consistency. > > Cc: Eric Dong <eric.d...@intel.com> > Cc: Ray Ni <ray...@intel.com> > Cc: Laszlo Ersek <ler...@redhat.com> > Cc: Rahul Kumar <rahul1.ku...@intel.com> > Signed-off-by: Michael Kubacki <michael.kuba...@microsoft.com> > --- > UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmmStmSupport.c | 2 +- > UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c | 2 +- > UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibCommon.c | 2 +- > UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibNoStm.c | 2 +- > UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmStm.c | 2 +- > UefiCpuPkg/Library/SmmCpuFeaturesLib/StandaloneMmCpuFeaturesLib.c | 50 > ++++++++++++++++++++ > UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmmStmSupport.c | 2 +- > UefiCpuPkg/Library/SmmCpuFeaturesLib/StandaloneMmCpuFeaturesLib.inf | 38 > +++++++++++++++ > UefiCpuPkg/UefiCpuPkg.dsc | 1 + > 9 files changed, 95 insertions(+), 6 deletions(-) > > diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmmStmSupport.c > b/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmmStmSupport.c > index 399ddd742dd7..24bd6d0a946d 100644 > --- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmmStmSupport.c > +++ b/UefiCpuPkg/Library/SmmCpuFeaturesLib/Ia32/SmmStmSupport.c > @@ -6,7 +6,7 @@ > > **/ > > -#include <PiSmm.h> > +#include <PiMm.h> > #include <Library/DebugLib.h> > > #include "SmmStm.h" > diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c > b/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c > index 00948a191fad..29e3b650acee 100644 > --- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c > +++ b/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c > @@ -6,7 +6,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > > -#include <PiSmm.h> > +#include <PiMm.h> > #include "CpuFeaturesLib.h" > > /** > diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibCommon.c > b/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibCommon.c > index 50379f3aea19..fa3a866ab6f6 100644 > --- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibCommon.c > +++ b/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibCommon.c > @@ -7,7 +7,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > > -#include <PiSmm.h> > +#include <PiMm.h> > #include <Library/SmmCpuFeaturesLib.h> > #include <Library/BaseLib.h> > #include <Library/MtrrLib.h> > diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibNoStm.c > b/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibNoStm.c > index c562582ccee0..823dbe906cb8 100644 > --- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibNoStm.c > +++ b/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibNoStm.c > @@ -7,7 +7,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > > -#include <PiSmm.h> > +#include <PiMm.h> > #include <Library/SmmCpuFeaturesLib.h> > #include "CpuFeaturesLib.h" > > diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmStm.c > b/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmStm.c > index dcc2e9f9a09a..c92387625ddc 100644 > --- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmStm.c > +++ b/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmStm.c > @@ -6,7 +6,7 @@ > > **/ > > -#include <PiSmm.h> > +#include <PiMm.h> > #include <Library/BaseLib.h> > #include <Library/BaseMemoryLib.h> > #include <Library/MemoryAllocationLib.h> > diff --git > a/UefiCpuPkg/Library/SmmCpuFeaturesLib/StandaloneMmCpuFeaturesLib.c > b/UefiCpuPkg/Library/SmmCpuFeaturesLib/StandaloneMmCpuFeaturesLib.c > new file mode 100644 > index 000000000000..dec6e53e5b55 > --- /dev/null > +++ b/UefiCpuPkg/Library/SmmCpuFeaturesLib/StandaloneMmCpuFeaturesLib.c > @@ -0,0 +1,50 @@ > +/** @file > +Standalone MM CPU specific programming. > + > +Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR> > +Copyright (c) Microsoft Corporation.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include <PiMm.h> > +#include <Library/PcdLib.h> > +#include "CpuFeaturesLib.h" > + > +/** > + Gets the maximum number of logical processors from the PCD > PcdCpuMaxLogicalProcessorNumber. > + > + This access is abstracted from the PCD services to enforce that the PCD be > + FixedAtBuild in the Standalone MM build of this driver. > + > + @return The value of PcdCpuMaxLogicalProcessorNumber. > + > +**/ > +UINT32 > +GetCpuMaxLogicalProcessorNumber ( > + VOID > + ) > +{ > + return FixedPcdGet32 (PcdCpuMaxLogicalProcessorNumber); > +} > + > +/** > + The Standalone MM library constructor. > + > + @param[in] ImageHandle Image handle of this driver. > + @param[in] SystemTable A Pointer to the EFI System Table. > + > + @retval EFI_SUCCESS This constructor always returns success. > + > +**/ > +EFI_STATUS > +EFIAPI > +StandaloneMmCpuFeaturesLibConstructor ( > + IN EFI_HANDLE ImageHandle, > + IN EFI_MM_SYSTEM_TABLE *SystemTable > + ) > +{ > + CpuFeaturesLibInitialization (); > + > + return EFI_SUCCESS; > +} > diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmmStmSupport.c > b/UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmmStmSupport.c > index aacc1455a90c..c8a3f58e0ca5 100644 > --- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmmStmSupport.c > +++ b/UefiCpuPkg/Library/SmmCpuFeaturesLib/X64/SmmStmSupport.c > @@ -6,7 +6,7 @@ > > **/ > > -#include <PiSmm.h> > +#include <PiMm.h> > #include <Library/DebugLib.h> > > #include "SmmStm.h" > diff --git > a/UefiCpuPkg/Library/SmmCpuFeaturesLib/StandaloneMmCpuFeaturesLib.inf > b/UefiCpuPkg/Library/SmmCpuFeaturesLib/StandaloneMmCpuFeaturesLib.inf > new file mode 100644 > index 000000000000..ec97041d8b75 > --- /dev/null > +++ b/UefiCpuPkg/Library/SmmCpuFeaturesLib/StandaloneMmCpuFeaturesLib.inf > @@ -0,0 +1,38 @@ > +## @file > +# Standalone MM CPU specific programming. > +# > +# Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR> > +# Copyright (c) Microsoft Corporation.<BR> > +# SPDX-License-Identifier: BSD-2-Clause-Patent > +# > +## > + > +[Defines] > + INF_VERSION = 0x00010005 > + BASE_NAME = StandaloneMmCpuFeaturesLib > + MODULE_UNI_FILE = SmmCpuFeaturesLib.uni > + FILE_GUID = BB554A2D-F5DF-41D3-8C62-46476A2B2B18 > + MODULE_TYPE = MM_STANDALONE > + VERSION_STRING = 1.0 > + PI_SPECIFICATION_VERSION = 0x00010032 > + LIBRARY_CLASS = SmmCpuFeaturesLib > + CONSTRUCTOR = StandaloneMmCpuFeaturesLibConstructor > + > +[Sources] > + CpuFeaturesLib.h > + StandaloneMmCpuFeaturesLib.c > + SmmCpuFeaturesLibCommon.c > + SmmCpuFeaturesLibNoStm.c > + > +[Packages] > + MdePkg/MdePkg.dec > + UefiCpuPkg/UefiCpuPkg.dec > + > +[LibraryClasses] > + BaseLib > + DebugLib > + MemoryAllocationLib > + PcdLib > + > +[FixedPcd] > + gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber ## > SOMETIMES_CONSUMES > diff --git a/UefiCpuPkg/UefiCpuPkg.dsc b/UefiCpuPkg/UefiCpuPkg.dsc > index 9128cef076dd..7db419471deb 100644 > --- a/UefiCpuPkg/UefiCpuPkg.dsc > +++ b/UefiCpuPkg/UefiCpuPkg.dsc > @@ -154,6 +154,7 @@ [Components.IA32, Components.X64] > UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf > UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf > UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibStm.inf > + UefiCpuPkg/Library/SmmCpuFeaturesLib/StandaloneMmCpuFeaturesLib.inf > UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf > UefiCpuPkg/PiSmmCommunication/PiSmmCommunicationPei.inf > UefiCpuPkg/PiSmmCommunication/PiSmmCommunicationSmm.inf >
Reviewed-by: Laszlo Ersek <ler...@redhat.com> -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#71858): https://edk2.groups.io/g/devel/message/71858 Mute This Topic: https://groups.io/mt/80715273/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-