From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2607:f8b0:4001:c06::231; helo=mail-io0-x231.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-io0-x231.google.com (mail-io0-x231.google.com [IPv6:2607:f8b0:4001:c06::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id A37CB21CB87BE for ; Mon, 25 Dec 2017 01:59:11 -0800 (PST) Received: by mail-io0-x231.google.com with SMTP id 14so23796244iou.2 for ; Mon, 25 Dec 2017 02:04:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=EjUXToZyj0134R95rlXiMmz97LdPhGyKWdSgCPxxifM=; b=euGdAIrdoJf3B3q8ifEaOWq0YpHNFv6kwPjRyjMh5m1uDiay9K28Wpj1Osdr9Pg4C4 JRs5C541ELKxvhG9EomdXT1EpEv1GAMFX+oHv/lVNunDb/Y79qwGC9j+X4djQMxLyZ7B Dl5/bb7v9SaT8F1zS1bc5hU9J0hqh+dgW43Fg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=EjUXToZyj0134R95rlXiMmz97LdPhGyKWdSgCPxxifM=; b=YT64HLumd2j3LjFUktiKQMrsOWF7fdoRmv7EuZGn/2jjmxO2FsMXaIH5h4SMptbi9t BEPe3vKimVTDHfyGKM4x7qlL16qgQXzrfIH5qo1j0L77bcFw0mWgPP68qjWSCLMDhcwU ZOz3dA3Gencda4nvsvR0Wz2exZ1LAx9rzLEYHupALQER2RzoQ5jaCV3UosqJ4i+xmzTF 3WVSMRCjBlcqJyjAHEbSd8DEYezPIRyBM54ocX6hbhB5XGhk5pFd/q4kyOYMBpY4gh0M J4wL8L78Ia0QLq99SvZ0P8ueaa7B1xfAso8eYkLJcBfzFIr7n8y0RdRks8jOHH1wPEKZ kjGQ== X-Gm-Message-State: AKGB3mJR0UjMorpO3JilRUIP9P1ZDLjixLtoA7s0o2DX81Tn+fsDs7BK MSika3t2rMqK+xOzsngFATupYIf0HmSpvrzoRB7kIA== X-Google-Smtp-Source: ACJfBovf5fDEzh7PUoG+Ea3Kl2Lcm+GFv/qaOG3YgYCkvA3D7Th37Mo/7hjL6IPBxPXIlc4hTg/ncQR6fIdy7XfV9FI= X-Received: by 10.107.2.212 with SMTP id 203mr24526897ioc.186.1514196243707; Mon, 25 Dec 2017 02:04:03 -0800 (PST) MIME-Version: 1.0 Received: by 10.107.52.14 with HTTP; Mon, 25 Dec 2017 02:04:03 -0800 (PST) In-Reply-To: <4A89E2EF3DFEDB4C8BFDE51014F606A14E198139@SHSMSX104.ccr.corp.intel.com> References: <1512140335-6932-1-git-send-email-liming.gao@intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E198139@SHSMSX104.ccr.corp.intel.com> From: Ard Biesheuvel Date: Mon, 25 Dec 2017 10:04:03 +0000 Message-ID: To: "Gao, Liming" Cc: "edk2-devel@lists.01.org" , "Zeng, Star" 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:59:12 -0000 Content-Type: text/plain; charset="UTF-8" On 25 December 2017 at 09:36, Gao, Liming wrote: > Hi, all > I just push this feature in edk2 trunk. Revision c40dbe5e7bf9.. 7c7362651323. If you find any issue, please let me know. > Hello Liming, The patch MdeModulePkg HiiDataBase: Enable Firmware to retrieve the default setting breaks the build on GCC: MdeModulePkg/Universal/HiiDatabaseDxe/Database.c: In function 'UpdateDefaultSettingInFormPackage': MdeModulePkg/Universal/HiiDatabaseDxe/Database.c:1002:12: error: 'Width' may be used uninitialized in this function [-Werror=maybe-uninitialized] if (Width > 0) { ^ -- Ard. > 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=542 >>[BaseTools] Extended SKU Support - Inheritance >>https://bugzilla.tianocore.org/show_bug.cgi?id=543 >>[BaseTools/PCD] Pcd Database size optimization for multi-SKU >>https://bugzilla.tianocore.org/show_bug.cgi?id=546 >>[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=611 >>[BaseTools] Build report update for Structure PCD value and SKU, >>DefaultStore >>https://bugzilla.tianocore.org/show_bug.cgi?id=706 >> >>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 > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel