Reviewed-by: Ray Ni <ray...@intel.com> > -----Original Message----- > From: Tsao, Ethan <ethan.t...@intel.com> > Sent: Thursday, December 26, 2019 10:56 AM > To: devel@edk2.groups.io > Cc: Ni, Ray <ray...@intel.com>; Chaganty, Rangasai V > <rangasai.v.chaga...@intel.com> > Subject: [Patch V4] IntelSiliconPkg/Include/Library:Add ConfigBlockLib.h > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2318 > > Move ConfigBlockLib.h and ConfigBlock.h to InstelSiliconPkg and remove all > other ConfigBlockLib.h and ConfigBlock.h > > Signed-off-by: Ethan Tsao <ethan.t...@intel.com> > Cc: Ray Ni <ray...@intel.com> > Cc: Rangasai V Chaganty <rangasai.v.chaga...@intel.com> > --- > Silicon/Intel/CoffeelakeSiliconPkg/CoffeelakeSiliconPkg.dsc > | > 2 +- > Silicon/Intel/IntelSiliconPkg/Include/ConfigBlock.h > | 53 > +++++++++++++++++++++++++++++++++++++++++++++++++++++ > Silicon/Intel/{CoffeelakeSiliconPkg => > IntelSiliconPkg}/Include/Library/ConfigBlockLib.h | 0 > Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec > | 4 ++++ > Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dsc > | 1 + > > Silicon/Intel/IntelSiliconPkg/Library/BaseConfigBlockLib/BaseConfigBlockLib.i > nf | 2 +- > Silicon/Intel/KabylakeSiliconPkg/Include/Library/ConfigBlockLib.h > | 64 ---------------------------------------------------------------- > 7 files changed, 60 insertions(+), 66 deletions(-) > > diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/CoffeelakeSiliconPkg.dsc > b/Silicon/Intel/CoffeelakeSiliconPkg/CoffeelakeSiliconPkg.dsc > index 37c77d8f63..702a833cc4 100644 > --- a/Silicon/Intel/CoffeelakeSiliconPkg/CoffeelakeSiliconPkg.dsc > +++ b/Silicon/Intel/CoffeelakeSiliconPkg/CoffeelakeSiliconPkg.dsc > @@ -147,7 +147,7 @@ > gUefiCpuPkgTokenSpaceGuid.PcdCpuApTargetCstate|0 > # Silicon Init Common Library > # > !include $(PLATFORM_SI_PACKAGE)/SiPkgCommonLib.dsc > - > ConfigBlockLib|ClientSiliconPkg/Library/BaseConfigBlockLib/BaseConfigBlock > Lib.inf > +ConfigBlockLib|IntelSiliconPkg/Library/BaseConfigBlockLib/BaseConfigBlock > Lib.inf > > PchTraceHubInitLib|ClientSiliconPkg/Library/BasePchTraceHubInitLib/BasePc > hTraceHubInitLib.inf > > [LibraryClasses.IA32] > diff --git a/Silicon/Intel/IntelSiliconPkg/Include/ConfigBlock.h > b/Silicon/Intel/IntelSiliconPkg/Include/ConfigBlock.h > new file mode 100644 > index 0000000000..d0e3d94418 > --- /dev/null > +++ b/Silicon/Intel/IntelSiliconPkg/Include/ConfigBlock.h > @@ -0,0 +1,53 @@ > +/** @file > + Header file for Config Block Lib implementation > + > + Copyright (c) 2019 Intel Corporation. All rights reserved. <BR> > + > + SPDX-License-Identifier: BSD-2-Clause-Patent > +**/ > + > +#ifndef _CONFIG_BLOCK_H_ > +#define _CONFIG_BLOCK_H_ > + > +#include <Uefi/UefiBaseType.h> > +#include <Uefi/UefiMultiPhase.h> > +#include <Pi/PiBootMode.h> > +#include <Pi/PiHob.h> > + > +#pragma pack (push,1) > + > +/// > +/// Config Block Header > +/// > +typedef struct _CONFIG_BLOCK_HEADER { > + EFI_HOB_GUID_TYPE GuidHob; ///< Offset 0-23 GUID > extension HOB header > + UINT8 Revision; ///< Offset 24 Revision > of this config > block > + UINT8 Attributes; ///< Offset 25 The main > revision for > config block > + UINT8 Reserved[2]; ///< Offset 26-27 Reserved > for future > use > +} CONFIG_BLOCK_HEADER; > + > +/// > +/// Config Block > +/// > +typedef struct _CONFIG_BLOCK { > + CONFIG_BLOCK_HEADER Header; ///< Offset 0-27 Header of > config block > + // > + // Config Block Data > + // > +} CONFIG_BLOCK; > + > +/// > +/// Config Block Table Header > +/// > +typedef struct _CONFIG_BLOCK_TABLE_STRUCT { > + CONFIG_BLOCK_HEADER Header; ///< Offset 0-27 GUID > number for main entry of config block > + UINT8 Rsvd0[2]; ///< Offset 28-29 Reserved > for future use > + UINT16 NumberOfBlocks; ///< Offset 30-31 Number > of config > blocks (N) > + UINT32 AvailableSize; ///< Offset 32-35 Current > config block > table size > +/// > +/// Individual Config Block Structures are added here in memory as part of > AddConfigBlock() > +/// > +} CONFIG_BLOCK_TABLE_HEADER; > +#pragma pack (pop) > + > +#endif // _CONFIG_BLOCK_H_ > diff --git > a/Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/ConfigBlockLib.h > b/Silicon/Intel/IntelSiliconPkg/Include/Library/ConfigBlockLib.h > similarity index 100% > rename from > Silicon/Intel/CoffeelakeSiliconPkg/Include/Library/ConfigBlockLib.h > rename to Silicon/Intel/IntelSiliconPkg/Include/Library/ConfigBlockLib.h > diff --git a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec > b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec > index 22ebf19c4e..aad39f88ee 100644 > --- a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec > +++ b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec > @@ -30,6 +30,10 @@ > # > PeiGetVtdPmrAlignmentLib|Include/Library/PeiGetVtdPmrAlignmentLib.h > > + ## @libraryclass Provides services to access ConfigBlock > + # > + ConfigBlockLib|Include/Library/ConfigBlockLib.h > + > [Guids] > ## GUID for Package token space > # {A9F8D54E-1107-4F0A-ADD0-4587E7A4A735} > diff --git a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dsc > b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dsc > index 0a6509d8b3..d90202d0f3 100644 > --- a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dsc > +++ b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dsc > @@ -36,6 +36,7 @@ > > MicrocodeFlashAccessLib|IntelSiliconPkg/Feature/Capsule/Library/Microcod > eFlashAccessLibNull/MicrocodeFlashAccessLibNull.inf > > PeiGetVtdPmrAlignmentLib|IntelSiliconPkg/Library/PeiGetVtdPmrAlignment > Lib/PeiGetVtdPmrAlignmentLib.inf > > TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/Tp > mMeasurementLibNull.inf > + > ConfigBlockLib|IntelSiliconPkg/Library/BaseConfigBlockLib/BaseConfigBlockLi > b.inf > > [LibraryClasses.common.PEIM] > PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf > diff --git > a/Silicon/Intel/IntelSiliconPkg/Library/BaseConfigBlockLib/BaseConfigBlockLi > b.inf > b/Silicon/Intel/IntelSiliconPkg/Library/BaseConfigBlockLib/BaseConfigBlockLi > b.inf > index 37b4faaf65..87e7e315b7 100644 > --- > a/Silicon/Intel/IntelSiliconPkg/Library/BaseConfigBlockLib/BaseConfigBlockLi > b.inf > +++ > b/Silicon/Intel/IntelSiliconPkg/Library/BaseConfigBlockLib/BaseConfigBlockLi > b.inf > @@ -18,7 +18,7 @@ LIBRARY_CLASS = ConfigBlockLib > > [Packages] > MdePkg/MdePkg.dec > -KabylakeSiliconPkg/SiPkg.dec > +IntelSiliconPkg/IntelSiliconPkg.dec > > [Sources] > BaseConfigBlockLib.c > diff --git a/Silicon/Intel/KabylakeSiliconPkg/Include/Library/ConfigBlockLib.h > b/Silicon/Intel/KabylakeSiliconPkg/Include/Library/ConfigBlockLib.h > deleted file mode 100644 > index 04c8ec5cca..0000000000 > --- a/Silicon/Intel/KabylakeSiliconPkg/Include/Library/ConfigBlockLib.h > +++ /dev/null > @@ -1,64 +0,0 @@ > -/** @file > - Header file for Config Block Lib implementation > - > -Copyright (c) 2017, Intel Corporation. All rights reserved.<BR> > -SPDX-License-Identifier: BSD-2-Clause-Patent > - > -**/ > - > -#ifndef _CONFIG_BLOCK_LIB_H_ > -#define _CONFIG_BLOCK_LIB_H_ > - > -/** > - Create config block table > - > - @param[in] TotalSize - Max size to be allocated for > the Config > Block Table > - @param[out] ConfigBlockTableAddress - On return, points to a > pointer > to the beginning of Config Block Table Address > - > - @retval EFI_INVALID_PARAMETER - Invalid Parameter > - @retval EFI_OUT_OF_RESOURCES - Out of resources > - @retval EFI_SUCCESS - Successfully created Config Block Table at > ConfigBlockTableAddress > -**/ > -EFI_STATUS > -EFIAPI > -CreateConfigBlockTable ( > - IN UINT16 TotalSize, > - OUT VOID **ConfigBlockTableAddress > - ); > - > -/** > - Add config block into config block table structure > - > - @param[in] ConfigBlockTableAddress - A pointer to the beginning of > Config Block Table Address > - @param[out] ConfigBlockAddress - On return, points to a > pointer to > the beginning of Config Block Address > - > - @retval EFI_OUT_OF_RESOURCES - Config Block Table is full and cannot > add new Config Block or > - Config Block Offset Table is full and > cannot add new Config > Block. > - @retval EFI_SUCCESS - Successfully added Config Block > -**/ > -EFI_STATUS > -EFIAPI > -AddConfigBlock ( > - IN VOID *ConfigBlockTableAddress, > - OUT VOID **ConfigBlockAddress > - ); > - > -/** > - Retrieve a specific Config Block data by GUID > - > - @param[in] ConfigBlockTableAddress - A pointer to the beginning > of > Config Block Table Address > - @param[in] ConfigBlockGuid - A pointer to the GUID uses > to > search specific Config Block > - @param[out] ConfigBlockAddress - On return, points to a > pointer to > the beginning of Config Block Address > - > - @retval EFI_NOT_FOUND - Could not find the Config Block > - @retval EFI_SUCCESS - Config Block found and return > -**/ > -EFI_STATUS > -EFIAPI > -GetConfigBlock ( > - IN VOID *ConfigBlockTableAddress, > - IN EFI_GUID *ConfigBlockGuid, > - OUT VOID **ConfigBlockAddress > - ); > - > -#endif // _CONFIG_BLOCK_LIB_H_ > -- > 2.16.2.windows.1
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#52643): https://edk2.groups.io/g/devel/message/52643 Mute This Topic: https://groups.io/mt/69267854/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-