From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.43; helo=mga05.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 5831E21CB87AF for ; Mon, 25 Dec 2017 01:32:15 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Dec 2017 01:37:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.45,454,1508828400"; d="scan'208";a="186918667" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga005.jf.intel.com with ESMTP; 25 Dec 2017 01:37:07 -0800 Received: from FMSMSX109.amr.corp.intel.com (10.18.116.9) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 25 Dec 2017 01:37:06 -0800 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx109.amr.corp.intel.com (10.18.116.9) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 25 Dec 2017 01:37:06 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.152]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.218]) with mapi id 14.03.0319.002; Mon, 25 Dec 2017 17:36:49 +0800 From: "Gao, Liming" To: "Gao, Liming" , "edk2-devel@lists.01.org" CC: "Zeng, Star" , "Feng, Bob C" , "Zhu, Yonghong" Thread-Topic: [edk2] [Patch 00/14] Enable Structure PCD support in edk2 Thread-Index: AQHTarUE1z6bXZzjIEeySrLbunzYpKNT8Tfg Date: Mon, 25 Dec 2017 09:36:48 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E198139@SHSMSX104.ccr.corp.intel.com> References: <1512140335-6932-1-git-send-email-liming.gao@intel.com> In-Reply-To: <1512140335-6932-1-git-send-email-liming.gao@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [Patch 00/14] Enable Structure PCD support in edk2 X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Dec 2017 09:32:15 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, all I just push this feature in edk2 trunk. Revision c40dbe5e7bf9.. 7c7362651= 323. If you find any issue, please let me know.=20 Thanks Liming >-----Original Message----- >From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of >Liming Gao >Sent: Friday, December 01, 2017 10:59 PM >To: edk2-devel@lists.01.org >Cc: Zeng, Star >Subject: [edk2] [Patch 00/14] Enable Structure PCD support in edk2 > >All code are in https://github.com/tianocore/edk2- >staging/tree/StructurePcdV3. >Patches are 544d8e..dd79a7. Unit Test cases are 89e7c7..1b2d19. >The patches will not be sent by mail. Please review them in edk2-staging. > >Structure PCD is to support the same C structure/Enum/Macro definition in >PCD, >and specify the value for individual fields in a VOID* PCD in DEC/DSC. It >includes the group of the sub features. >[BaseTools] Structure PCD value assignment in DEC/DSC >https://bugzilla.tianocore.org/show_bug.cgi?id=3D542 >[BaseTools] Extended SKU Support - Inheritance >https://bugzilla.tianocore.org/show_bug.cgi?id=3D543 >[BaseTools/PCD] Pcd Database size optimization for multi-SKU >https://bugzilla.tianocore.org/show_bug.cgi?id=3D546 >[BaseTools/PCD/HiiDataBase] Collect DynamicHii PCD value as the default >setting >for EFI Variable and HII VarStore. >https://bugzilla.tianocore.org/show_bug.cgi?id=3D611 >[BaseTools] Build report update for Structure PCD value and SKU, >DefaultStore >https://bugzilla.tianocore.org/show_bug.cgi?id=3D706 > >The main changes are in BaseTools to calculate structure PCD value. >Firmware code Pcd driver, HiiDataBase and Variable driver are updated. >And, PCD database format has been optimized. So, its version is changed >from current 6 to 7. Besides it, others are compatible. There is no impact >on current platform and current usage. If you find any breaking, >please raise it to me. > >The detail changes are specified in each tracker and each RFC. > >Unit Test: >1) Windows VS2015 Build TestPkg and Nt32Pkg >2) Linux GCC5 Build OvmfPkg >3) Verify Strucutre PCD field value collection >4) Verify Strucutre PCD from the different SKUs >5) Structure DynamicHii PCD is saved as the default EFI variable >6) Structure DynamicHii PCD impacts HII IFR default setting >7) Strucutre PCD field value is shown in build report. >8) Multiple SKU PCD values is shown in build report. > >Liming Gao (14): > BaseTools: Update Makefile to work at absolute path > BaseTools: Add PcdValueCommon logic into C source CommonLib > MdeModulePkg: Update PCD driver to support Dynamic PcdVpdBaseAddress > MdeModulePkg: Enable Firmware to retrieve the default setting > MdeModulePkg: Update PCD driver to support the optimized PcdDataBase > MdeModulePkg: Pcd/HiiDatabase Update default setting format with max > size > BaseTools: Support Structure PCD value assignment in DEC/DSC > BaseTools: Collect DynamicHii PCD values and assign it to VPD PCD > Value > BaseTools: Support Structure PCD value inherit between the different > SKUs > BaseTools: PcdDataBase Optimization for multiple SkuIds > BaseTools: Report Structure PCD value and SKU, DefaultStore info > BaseTools: Update NV Default Header format to include the max size > BaseTools: Optimize VPD PCD value for the different SKUs > BaseTools: Fixed the issue of Multiple Skus are always disables > > BaseTools/Source/C/Common/GNUmakefile | 3 +- > BaseTools/Source/C/Common/Makefile | 3 +- > BaseTools/Source/C/Common/PcdValueCommon.c | 607 +++++ > BaseTools/Source/C/Common/PcdValueCommon.h | 78 + > BaseTools/Source/C/Makefiles/app.makefile | 2 +- > BaseTools/Source/C/Makefiles/ms.app | 4 +- > BaseTools/Source/Python/AutoGen/AutoGen.py | 406 ++- > BaseTools/Source/Python/AutoGen/GenC.py | 77 +- > BaseTools/Source/Python/AutoGen/GenMake.py | 2 +- > BaseTools/Source/Python/AutoGen/GenPcdDb.py | 260 +- > BaseTools/Source/Python/AutoGen/GenVar.py | 341 +++ > BaseTools/Source/Python/Common/BuildToolError.py | 3 + > BaseTools/Source/Python/Common/DataType.py | 2 + > BaseTools/Source/Python/Common/GlobalData.py | 6 + > BaseTools/Source/Python/Common/Misc.py | 221 +- > .../Source/Python/Common/ToolDefClassObject.py | 1 - > BaseTools/Source/Python/Common/VpdInfoFile.py | 11 +- > .../Source/Python/CommonDataClass/CommonClass.py | 5 +- > .../Source/Python/CommonDataClass/DataClass.py | 11 + > .../Source/Python/Workspace/BuildClassObject.py | 66 + > BaseTools/Source/Python/Workspace/DecBuildData.py | 463 ++++ > BaseTools/Source/Python/Workspace/DscBuildData.py | 1961 >++++++++++++++ > BaseTools/Source/Python/Workspace/InfBuildData.py | 1212 +++++++++ > .../Source/Python/Workspace/MetaFileParser.py | 311 ++- > BaseTools/Source/Python/Workspace/MetaFileTable.py | 11 +- > .../Source/Python/Workspace/WorkspaceCommon.py | 44 +- > .../Source/Python/Workspace/WorkspaceDatabase.py | 2834 +--------------= -- >--- > BaseTools/Source/Python/build/BuildReport.py | 296 +- > BaseTools/Source/Python/build/build.py | 2 + > .../Include/Guid/PcdDataBaseSignatureGuid.h | 82 +- > MdeModulePkg/MdeModulePkg.dec | 20 +- > MdeModulePkg/Universal/HiiDatabaseDxe/Database.c | 470 ++++ > .../Universal/HiiDatabaseDxe/HiiDatabase.h | 9 +- > .../Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf | 1 + > MdeModulePkg/Universal/PCD/Dxe/Pcd.c | 29 +- > MdeModulePkg/Universal/PCD/Dxe/Service.c | 322 +-- > MdeModulePkg/Universal/PCD/Dxe/Service.h | 35 +- > MdeModulePkg/Universal/PCD/Pei/Pcd.c | 343 ++- > MdeModulePkg/Universal/PCD/Pei/Pcd.inf | 5 + > MdeModulePkg/Universal/PCD/Pei/Service.c | 150 +- > MdeModulePkg/Universal/PCD/Pei/Service.h | 33 +- > .../Universal/Variable/RuntimeDxe/Variable.c | 106 +- > 42 files changed, 7036 insertions(+), 3812 deletions(-) > create mode 100644 BaseTools/Source/C/Common/PcdValueCommon.c > create mode 100644 BaseTools/Source/C/Common/PcdValueCommon.h > create mode 100644 BaseTools/Source/Python/AutoGen/GenVar.py > create mode 100644 BaseTools/Source/Python/Workspace/DecBuildData.py > create mode 100644 BaseTools/Source/Python/Workspace/DscBuildData.py > create mode 100644 BaseTools/Source/Python/Workspace/InfBuildData.py > >-- >2.8.0.windows.1 > >_______________________________________________ >edk2-devel mailing list >edk2-devel@lists.01.org >https://lists.01.org/mailman/listinfo/edk2-devel