Reviewed-by: Eric Dong <eric .d...@intel.com> > -----Original Message----- > From: Kubacki, Michael A > Sent: Tuesday, October 1, 2019 9:16 AM > To: devel@edk2.groups.io > Cc: Dong, Eric <eric.d...@intel.com>; Gao, Liming <liming....@intel.com> > Subject: [edk2-platforms][PATCH V1 2/3] > BoardModulePkg/FirmwareBootMediaInfoLib: Add library > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2229 > > Introduces a new library class FirmwareBootMediaInfoLib that is used to > report the firmware boot media device. A default library instance is provided > that always returns the firmware boot media is SPI flash. For platforms with > other firmware boot media options, a board-specific instance of this library > should be used instead to provide the correct firmware boot media device > information. > > Cc: Eric Dong <eric.d...@intel.com> > Cc: Liming Gao <liming....@intel.com> > Signed-off-by: Michael Kubacki <michael.a.kuba...@intel.com> > --- > Platform/Intel/BoardModulePkg/BoardModulePkg.dec > | 3 ++ > Platform/Intel/BoardModulePkg/BoardModulePkg.dsc > | 3 ++ > > Platform/Intel/BoardModulePkg/Library/PeiFirmwareBootMediaInfoLib/PeiFir > mwareBootMediaInfoLib.inf | 35 ++++++++++++++++++++ > Platform/Intel/BoardModulePkg/Include/Library/FirmwareBootMediaInfoLib.h > | 26 +++++++++++++++ > > Platform/Intel/BoardModulePkg/Library/PeiFirmwareBootMediaInfoLib/PeiFir > mwareBootMediaInfoLib.c | 24 ++++++++++++++ > 5 files changed, 91 insertions(+) > > diff --git a/Platform/Intel/BoardModulePkg/BoardModulePkg.dec > b/Platform/Intel/BoardModulePkg/BoardModulePkg.dec > index 6f13945ca8..c42f38c32a 100644 > --- a/Platform/Intel/BoardModulePkg/BoardModulePkg.dec > +++ b/Platform/Intel/BoardModulePkg/BoardModulePkg.dec > @@ -33,6 +33,9 @@ > ## @libraryclass Provide services to get BIOS ID information. > BiosIdLib|Include/Library/BiosIdLib.h > > + ## @libraryclass Provide a service to determine the firmware boot media > device. > + FirmwareBootMediaInfoLib|Include/Library/FirmwareBootMediaInfoLib.h > + > [Guids] > ## Include Include/Guid/BiosId.h > gBiosIdGuid = { 0xC3E36D09, 0x8294, 0x4b97, { 0xA8, 0x57, 0xD5, 0x28, 0x8F, > 0xE3, 0x3E, 0x28 } } diff --git > a/Platform/Intel/BoardModulePkg/BoardModulePkg.dsc > b/Platform/Intel/BoardModulePkg/BoardModulePkg.dsc > index 734ead9be8..78c09fbf82 100644 > --- a/Platform/Intel/BoardModulePkg/BoardModulePkg.dsc > +++ b/Platform/Intel/BoardModulePkg/BoardModulePkg.dsc > @@ -33,6 +33,8 @@ > DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf > > [LibraryClasses.common.PEIM] > + > + > FirmwareBootMediaLib|IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/Pei > + FirmwareBootMediaLib.inf > + > FirmwareBootMediaInfoLib|BoardModulePkg/Library/PeiFirmwareBootMediaI > n > + foLib/PeiFirmwareBootMediaInfoLib.inf > HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf > > MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAll > ocationLib.inf > > @@ -42,6 +44,7 @@ > [LibraryClasses.common.DXE_DRIVER] > HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf > > MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemory > AllocationLib.inf > + > + > FirmwareBootMediaLib|IntelSiliconPkg/Library/PeiDxeSmmBootMediaLib/Dxe > + SmmFirmwareBootMediaLib.inf > > [LibraryClasses.common.UEFI_DRIVER] > HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf > diff --git > a/Platform/Intel/BoardModulePkg/Library/PeiFirmwareBootMediaInfoLib/PeiFi > rmwareBootMediaInfoLib.inf > b/Platform/Intel/BoardModulePkg/Library/PeiFirmwareBootMediaInfoLib/PeiFi > rmwareBootMediaInfoLib.inf > new file mode 100644 > index 0000000000..637aeca2af > --- /dev/null > +++ b/Platform/Intel/BoardModulePkg/Library/PeiFirmwareBootMediaInfoLib/ > +++ PeiFirmwareBootMediaInfoLib.inf > @@ -0,0 +1,35 @@ > +## @file > +# Firmware Boot Media Info Library > +# > +# This library identifies firmware boot media device information used > +in the boot flow for system initialization # decisions dependent upon the > firmware boot media. > +# > +# This library instance provides a default implementation of the > +FirmwareBootMediaInfoLib library class that always # returns SPI flash > +as the boot media device. For any system firmware in which this is not the > case, an instance # of this library class should be provided that returns the > correct boot media for the platform. > +# > +# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> # # > +SPDX-License-Identifier: BSD-2-Clause-Patent # ## > + > +[Defines] > + INF_VERSION = 0x00010005 > + BASE_NAME = PeiFirmwareBootMediaInfoLib > + FILE_GUID = 91CC29F5-AEAD-4108-9E91-C8DECDC1C654 > + MODULE_TYPE = PEIM > + VERSION_STRING = 1.0 > + LIBRARY_CLASS = FirmwareBootMediaInfoLib > + > +[Sources] > + PeiFirmwareBootMediaInfoLib.c > + > +[Packages] > + MdePkg/MdePkg.dec > + IntelSiliconPkg/IntelSiliconPkg.dec > + BoardModulePkg/BoardModulePkg.dec > + > +[LibraryClasses] > + BaseLib > + FirmwareBootMediaLib > diff --git > a/Platform/Intel/BoardModulePkg/Include/Library/FirmwareBootMediaInfoLib > .h > b/Platform/Intel/BoardModulePkg/Include/Library/FirmwareBootMediaInfoLib > .h > new file mode 100644 > index 0000000000..b08f21ac74 > --- /dev/null > +++ b/Platform/Intel/BoardModulePkg/Include/Library/FirmwareBootMediaInf > +++ oLib.h > @@ -0,0 +1,26 @@ > +/** @file > + This library identifies the firmware boot media device. > + > +Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#ifndef _FIRMWARE_BOOT_MEDIA_INFO_LIB_H_ #define > +_FIRMWARE_BOOT_MEDIA_INFO_LIB_H_ > + > +#include <Uefi.h> > +#include <Library/FirmwareBootMediaLib.h> > + > +/** > + Identifies the firmware boot media type for the current boot. > + > + @retval BOOT_MEDIA_TYPE The boot media type. A value of > FwBootMediaTypeMax indicates the firmware boot media > + information is unavailable. > +**/ > +FW_BOOT_MEDIA_TYPE > +IdentifyFirmwareBootMediaType ( > + VOID > + ); > + > +#endif > diff --git > a/Platform/Intel/BoardModulePkg/Library/PeiFirmwareBootMediaInfoLib/PeiFi > rmwareBootMediaInfoLib.c > b/Platform/Intel/BoardModulePkg/Library/PeiFirmwareBootMediaInfoLib/PeiFi > rmwareBootMediaInfoLib.c > new file mode 100644 > index 0000000000..0c29d96033 > --- /dev/null > +++ b/Platform/Intel/BoardModulePkg/Library/PeiFirmwareBootMediaInfoLib/ > +++ PeiFirmwareBootMediaInfoLib.c > @@ -0,0 +1,24 @@ > +/** @file > + This library identifies the firmware boot media device. > + > +Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include <Library/BaseLib.h> > +#include <Library/FirmwareBootMediaInfoLib.h> > + > +/** > + Identifies the firmware boot media type for the current boot. > + > + @retval BOOT_MEDIA_TYPE The boot media type. A value of > FwBootMediaTypeMax indicates the firmware boot media > + information is unavailable. > +**/ > +FW_BOOT_MEDIA_TYPE > +IdentifyFirmwareBootMediaType ( > + VOID > + ) > +{ > + return FwBootMediaSpi; > +} > -- > 2.16.2.windows.1
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#48548): https://edk2.groups.io/g/devel/message/48548 Mute This Topic: https://groups.io/mt/34352434/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-