Michael, If your platform doesn't need SmmAccessPPI, you don't put the SmmAccess PEIM in the FDF. Why do you need: 1. Put SmmAccess PEIM in FDF 2. Let SmmAccess PEIM link to a NULL dummy-do-nothing library
I feel the additional abstraction is not necessary. Thanks, Ray > -----Original Message----- > From: mikub...@linux.microsoft.com <mikub...@linux.microsoft.com> > Sent: Monday, August 9, 2021 10:16 PM > To: devel@edk2.groups.io > Cc: Ni, Ray <ray...@intel.com>; Chaganty, Rangasai V > <rangasai.v.chaga...@intel.com> > Subject: [edk2-platforms][PATCH v1 1/1] IntelSiliconPkg: Add > BaseSmmAccessLibNull > > From: Michael Kubacki <michael.kuba...@microsoft.com> > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3540 > > Adds a NULL instance of SmmAccessLib. > > Cc: Ray Ni <ray...@intel.com> > Cc: Rangasai V Chaganty <rangasai.v.chaga...@intel.com> > Signed-off-by: Michael Kubacki <michael.kuba...@microsoft.com> > --- > > Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/BaseSmmAccessLibNull/BaseSmmAccessLibNull.c > | 33 > ++++++++++++++++++++ > > Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/BaseSmmAccessLibNull/BaseSmmAccessLibNull.inf > | 26 > +++++++++++++++ > Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dsc > | 1 + > 3 files changed, 60 insertions(+) > > diff --git > a/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/BaseSmmAccessLibNull/BaseSmmAccessLibNull.c > b/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/BaseSmmAccessLibNull/BaseSmmAccessLibNull.c > new file mode 100644 > index 000000000000..f5ad306b380b > --- /dev/null > +++ > b/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/BaseSmmAccessLibNull/BaseSmmAccessLibNull.c > @@ -0,0 +1,33 @@ > +/** @file > + A NULL library instance of SmmAccessLib. > + > + Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.<BR> > + Copyright (c) Microsoft Corporation.<BR> > + > + SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include <Uefi.h> > +#include <Library/DebugLib.h> > +#include <Library/SmmAccessLib.h> > + > +/** > + This function is to install an SMM Access PPI > + > + @retval EFI_SUCCESS - Ppi successfully started and installed. > + @retval EFI_NOT_FOUND - Ppi can't be found. > + @retval EFI_OUT_OF_RESOURCES - Ppi does not have enough resources to > initialize the driver. > + @retval EFI_UNSUPPORTED - The PPI was not installed and installation > is unsupported in > + this instance of function implementation. > + > +**/ > +EFI_STATUS > +EFIAPI > +PeiInstallSmmAccessPpi ( > + VOID > + ) > +{ > + ASSERT (FALSE); > + return EFI_UNSUPPORTED; > +} > diff --git > a/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/BaseSmmAccessLibNull/BaseSmmAccessLibNull.inf > b/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/BaseSmmAccessLibNull/BaseSmmAccessLibNull.inf > new file mode 100644 > index 000000000000..7fd3b0b89655 > --- /dev/null > +++ > b/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/BaseSmmAccessLibNull/BaseSmmAccessLibNull.inf > @@ -0,0 +1,26 @@ > +## @file > +# A NULL library instance of SmmAccessLib. > +# > +# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> > +# Copyright (c) Microsoft Corporation.<BR> > +# SPDX-License-Identifier: BSD-2-Clause-Patent > +# > +## > + > +[Defines] > +INF_VERSION = 0x00010017 > +BASE_NAME = BaseSmmAccessLibNull > +FILE_GUID = C1A14AB6-B757-4046-9B92-9DCE1A2154C6 > +VERSION_STRING = 1.0 > +MODULE_TYPE = BASE > +LIBRARY_CLASS = SmmAccessLib > + > +[Packages] > + MdePkg/MdePkg.dec > + IntelSiliconPkg/IntelSiliconPkg.dec > + > +[LibraryClasses] > + DebugLib > + > +[Sources] > + BaseSmmAccessLibNull.c > diff --git a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dsc > b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dsc > index 1092371d848e..dd0928ec58f3 100644 > --- a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dsc > +++ b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dsc > @@ -90,6 +90,7 @@ [Components] > IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf > > IntelSiliconPkg/Feature/Capsule/Library/MicrocodeFlashAccessLibNull/MicrocodeFlashAccessLibNull.inf > IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.inf > + > IntelSiliconPkg/Feature/SmmAccess/Library/BaseSmmAccessLibNull/BaseSmmAccessLibNull.inf > IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/PeiFirmwareBootMediaLib.inf > > IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/DxeSmmFirmwareBootMediaLib.inf > IntelSiliconPkg/Library/DxeAslUpdateLib/DxeAslUpdateLib.inf > -- > 2.28.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#79000): https://edk2.groups.io/g/devel/message/79000 Mute This Topic: https://groups.io/mt/84769134/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-