From nobody Sat Apr 27 00:03:18 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+50167+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+50167+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1573103241; cv=none; d=zoho.com; s=zohoarc; b=aGTBEq0i1qCxssqZCaJ2qrGKVMJy0SCTHUqTMH6vdcfHtNLEb9utwJhsOE0NM0zW1M4b207cOoFydNNyjQkgdgJ5KjU59V2Eg7EnOn+2/NADjqLomOwP1nuSmRnbAlJ3uqzTK0KwaK++kpWwtmUnFuZj9jQmq+kHggp9c8HSNQc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1573103241; h=Cc:Date:From:List-Id:List-Unsubscribe:Message-ID:Reply-To:Sender:Subject:To; bh=RT8uuLAWxBA3rmntvC8wFHuh8f/BAey8S0dFfnEfIWA=; b=UsxhUaccxqc0OwnVoS0qZvMU0oF122uvOBTwBJjsx5DiQPaCXrD+S1Ijw/HHQOn1mzukg/DUn4Vd0vdrjS/ShgDsDXm5BNd77j6UyZ5DYThWO41Hg8qk5d7gV0DmMI/5iR8VEAOegfKCHNrPmLu85/3Lj9kjdBpnyPK47klS6Tc= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+50167+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 15731032411031008.0451078227879; Wed, 6 Nov 2019 21:07:21 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id jpI7YY1788612xfwOdk8trk3; Wed, 06 Nov 2019 21:07:20 -0800 X-Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web09.135.1573101421434575947 for ; Wed, 06 Nov 2019 20:37:01 -0800 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Nov 2019 20:37:00 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,276,1569308400"; d="scan'208";a="377306547" X-Received: from ethantsa-mobl1.gar.corp.intel.com ([10.5.241.17]) by orsmga005.jf.intel.com with ESMTP; 06 Nov 2019 20:36:59 -0800 From: "Ethan Tsao" To: devel@edk2.groups.io Cc: Sai Chaganty , Ray Ni Subject: [edk2-devel] [PATCH] IntelSiliconPkg/Library:Add BaseConfigBlockLib Library Date: Thu, 7 Nov 2019 12:36:56 +0800 Message-Id: <20191107043656.6136-1-ethan.tsao@intel.com> Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ethan.tsao@intel.com X-Gm-Message-State: JNZuFKv9bJm3HBj1gnn77YzNx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1573103240; bh=4ZXNodIcdwvJpoSYfdwbC21iljOZyqcKwNVkKZ24px8=; h=Cc:Date:From:Reply-To:Subject:To; b=t8q9X5STQ+J467eWNjap01sdnswxGtTzQ4cd82Qs4egQWmn1xhTgbHAF9QallwzVFQK ICYViL0Cb3vibVFZBi1E64Axfl/+eIXBe6Fdv4xPaCZuXZGiuEgVlc6HszecjesgFsEL6 S92aEDZsWA6iGALViARRTBTC5SZvxHgMMmw= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D2318 Establish one copy of Config blocks library class and instance in IntelSiliconPkg and remove copies from other silicon packages , like KabyLakeSiliconPkg, CoffelakeSiliconPkg. Signed-off-by: Ethan Tsao Cc: Sai Chaganty Cc: Ray Ni --- Silicon/Intel/CoffeelakeSiliconPkg/Library/BaseConfigBlockLib/BaseConfigBl= ockLib.c | 146 ---------------------------------------= ---------------------------------------------------------------------------= -------------------------------- Silicon/Intel/CoffeelakeSiliconPkg/Library/BaseConfigBlockLib/BaseConfigBl= ockLib.inf | 29 ----------------------------- Silicon/Intel/{KabylakeSiliconPkg =3D> IntelSiliconPkg}/Library/BaseConfig= BlockLib/BaseConfigBlockLib.c | 0 Silicon/Intel/{KabylakeSiliconPkg =3D> IntelSiliconPkg}/Library/BaseConfig= BlockLib/BaseConfigBlockLib.inf | 0 4 files changed, 175 deletions(-) diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Library/BaseConfigBlockLib/= BaseConfigBlockLib.c b/Silicon/Intel/CoffeelakeSiliconPkg/Library/BaseConfi= gBlockLib/BaseConfigBlockLib.c deleted file mode 100644 index 369dab97ee..0000000000 --- a/Silicon/Intel/CoffeelakeSiliconPkg/Library/BaseConfigBlockLib/BaseCon= figBlockLib.c +++ /dev/null @@ -1,146 +0,0 @@ -/** @file - Library functions for Config Block management. - - Copyright (c) 2019 Intel Corporation. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent -**/ - -#include -#include -#include -#include -#include - -/** - Create config block table - - @param[in] TotalSize - Max size to be allocated f= or the Config Block Table - @param[out] ConfigBlockTableAddress - On return, points to a poi= nter 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 - ) -{ - CONFIG_BLOCK_TABLE_HEADER *ConfigBlkTblAddrPtr; - UINT32 ConfigBlkTblHdrSize; - - ConfigBlkTblHdrSize =3D (UINT32)(sizeof (CONFIG_BLOCK_TABLE_HEADER)); - - if (TotalSize <=3D (ConfigBlkTblHdrSize + sizeof (CONFIG_BLOCK_HEADER)))= { - DEBUG ((DEBUG_ERROR, "Invalid Parameter\n")); - return EFI_INVALID_PARAMETER; - } - - ConfigBlkTblAddrPtr =3D (CONFIG_BLOCK_TABLE_HEADER *)AllocateZeroPool (T= otalSize); - if (ConfigBlkTblAddrPtr =3D=3D NULL) { - DEBUG ((DEBUG_ERROR, "Could not allocate memory.\n")); - return EFI_OUT_OF_RESOURCES; - } - ConfigBlkTblAddrPtr->NumberOfBlocks =3D 0; - ConfigBlkTblAddrPtr->Header.GuidHob.Header.HobLength =3D TotalSize; - ConfigBlkTblAddrPtr->AvailableSize =3D TotalSize - ConfigBlkTblHdrSize; - - *ConfigBlockTableAddress =3D (VOID *)ConfigBlkTblAddrPtr; - - return EFI_SUCCESS; -} - -/** - 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 poi= nter 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 can= not add new Config Block. - @retval EFI_SUCCESS - Successfully added Config Block -**/ -EFI_STATUS -EFIAPI -AddConfigBlock ( - IN VOID *ConfigBlockTableAddress, - OUT VOID **ConfigBlockAddress - ) -{ - CONFIG_BLOCK *TempConfigBlk; - CONFIG_BLOCK_TABLE_HEADER *ConfigBlkTblAddrPtr; - CONFIG_BLOCK *ConfigBlkAddrPtr; - UINT16 ConfigBlkSize; - - ConfigBlkTblAddrPtr =3D (CONFIG_BLOCK_TABLE_HEADER *)ConfigBlockTableAdd= ress; - ConfigBlkAddrPtr =3D (CONFIG_BLOCK *)(*ConfigBlockAddress); - ConfigBlkSize =3D ConfigBlkAddrPtr->Header.GuidHob.Header.HobLength; - DEBUG ((DEBUG_INFO, "Config Block GUID: %g / Config Block Size: 0x%x byt= es\n", &(ConfigBlkAddrPtr->Header.GuidHob.Name), ConfigBlkSize)); - if ((ConfigBlkSize % 4) !=3D 0) { - DEBUG ((DEBUG_ERROR, "Config Block must be multiples of 4 bytes\n")); - return EFI_INVALID_PARAMETER; - } - if (ConfigBlkTblAddrPtr->AvailableSize < ConfigBlkSize) { - DEBUG ((DEBUG_ERROR, "Config Block Table is full and cannot add new Co= nfig Block.\n")); - DEBUG ((DEBUG_ERROR, "Available Config Block Size: 0x%x bytes / Reques= ted Config Block Size: 0x%x bytes\n", ConfigBlkTblAddrPtr->AvailableSize, C= onfigBlkSize)); - return EFI_OUT_OF_RESOURCES; - } - - TempConfigBlk =3D (CONFIG_BLOCK *)((UINTN)ConfigBlkTblAddrPtr + (UINTN)(= ConfigBlkTblAddrPtr->Header.GuidHob.Header.HobLength - ConfigBlkTblAddrPtr-= >AvailableSize)); - CopyMem (&TempConfigBlk->Header, &ConfigBlkAddrPtr->Header, sizeof(CONFI= G_BLOCK_HEADER)); - - ConfigBlkTblAddrPtr->NumberOfBlocks++; - ConfigBlkTblAddrPtr->AvailableSize =3D ConfigBlkTblAddrPtr->AvailableSiz= e - ConfigBlkSize; - - *ConfigBlockAddress =3D (VOID *) TempConfigBlk; - DEBUG ((DEBUG_INFO, "Config Block Address: 0x%x / Available Config Block= Size: 0x%x bytes\n", (UINT32)(UINTN)*ConfigBlockAddress, ConfigBlkTblAddrP= tr->AvailableSize)); - return EFI_SUCCESS; -} - -/** - Retrieve a specific Config Block data by GUID - - @param[in] ConfigBlockTableAddress - A pointer to the beginnin= g of Config Block Table Address - @param[in] ConfigBlockGuid - A pointer to the GUID use= s to search specific Config Block - @param[out] ConfigBlockAddress - On return, points to a po= inter 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 - ) -{ - UINT16 OffsetIndex; - CONFIG_BLOCK *TempConfigBlk; - CONFIG_BLOCK_TABLE_HEADER *ConfigBlkTblAddrPtr; - UINT32 ConfigBlkTblHdrSize; - UINT32 ConfigBlkOffset; - UINT16 NumOfBlocks; - - ConfigBlkTblHdrSize =3D (UINT32)(sizeof (CONFIG_BLOCK_TABLE_HEADER)); - ConfigBlkTblAddrPtr =3D (CONFIG_BLOCK_TABLE_HEADER *)ConfigBlockTableAdd= ress; - NumOfBlocks =3D ConfigBlkTblAddrPtr->NumberOfBlocks; - - ConfigBlkOffset =3D 0; - for (OffsetIndex =3D 0; OffsetIndex < NumOfBlocks; OffsetIndex++) { - if ((ConfigBlkTblHdrSize + ConfigBlkOffset) > (ConfigBlkTblAddrPtr->He= ader.GuidHob.Header.HobLength)) { - break; - } - TempConfigBlk =3D (CONFIG_BLOCK *)((UINTN)ConfigBlkTblAddrPtr + (UINTN= )ConfigBlkTblHdrSize + (UINTN)ConfigBlkOffset); - if (CompareGuid (&(TempConfigBlk->Header.GuidHob.Name), ConfigBlockGui= d)) { - *ConfigBlockAddress =3D (VOID *)TempConfigBlk; - return EFI_SUCCESS; - } - ConfigBlkOffset =3D ConfigBlkOffset + TempConfigBlk->Header.GuidHob.He= ader.HobLength; - } - DEBUG ((DEBUG_ERROR, "Could not find the config block.\n")); - return EFI_NOT_FOUND; -} diff --git a/Silicon/Intel/CoffeelakeSiliconPkg/Library/BaseConfigBlockLib/= BaseConfigBlockLib.inf b/Silicon/Intel/CoffeelakeSiliconPkg/Library/BaseCon= figBlockLib/BaseConfigBlockLib.inf deleted file mode 100644 index a7def2481d..0000000000 --- a/Silicon/Intel/CoffeelakeSiliconPkg/Library/BaseConfigBlockLib/BaseCon= figBlockLib.inf +++ /dev/null @@ -1,29 +0,0 @@ -## @file -# Component INF file for the BaseConfigBlock library. -# -# Copyright (c) 2019 Intel Corporation. All rights reserved.
-# -# SPDX-License-Identifier: BSD-2-Clause-Patent -# -## - -[Defines] -INF_VERSION =3D 0x00010017 -BASE_NAME =3D BaseConfigBlockLib -FILE_GUID =3D 1EC07EA8-7808-4e06-9D79-309AE331D2D5 -VERSION_STRING =3D 1.0 -MODULE_TYPE =3D BASE -LIBRARY_CLASS =3D ConfigBlockLib - - -[Packages] -MdePkg/MdePkg.dec -CoffeelakeSiliconPkg/SiPkg.dec - -[Sources] -BaseConfigBlockLib.c - -[LibraryClasses] -DebugLib -BaseMemoryLib -MemoryAllocationLib diff --git a/Silicon/Intel/KabylakeSiliconPkg/Library/BaseConfigBlockLib/Ba= seConfigBlockLib.c b/Silicon/Intel/IntelSiliconPkg/Library/BaseConfigBlockL= ib/BaseConfigBlockLib.c similarity index 100% rename from Silicon/Intel/KabylakeSiliconPkg/Library/BaseConfigBlockLib/Bas= eConfigBlockLib.c rename to Silicon/Intel/IntelSiliconPkg/Library/BaseConfigBlockLib/BaseConf= igBlockLib.c diff --git a/Silicon/Intel/KabylakeSiliconPkg/Library/BaseConfigBlockLib/Ba= seConfigBlockLib.inf b/Silicon/Intel/IntelSiliconPkg/Library/BaseConfigBloc= kLib/BaseConfigBlockLib.inf similarity index 100% rename from Silicon/Intel/KabylakeSiliconPkg/Library/BaseConfigBlockLib/Bas= eConfigBlockLib.inf rename to Silicon/Intel/IntelSiliconPkg/Library/BaseConfigBlockLib/BaseConf= igBlockLib.inf --=20 2.16.2.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#50167): https://edk2.groups.io/g/devel/message/50167 Mute This Topic: https://groups.io/mt/45239214/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-