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::22d; helo=mail-io0-x22d.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-io0-x22d.google.com (mail-io0-x22d.google.com [IPv6:2607:f8b0:4001:c06::22d]) (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 5AB8E21A1098A for ; Mon, 25 Dec 2017 02:09:32 -0800 (PST) Received: by mail-io0-x22d.google.com with SMTP id w127so30302312iow.11 for ; Mon, 25 Dec 2017 02:14:25 -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=J/LS1rjzPs9lsUYjBwJK8GVGC5yYXplBmI5Sr2njQpc=; b=VkOJUmkohZYHJ6SdsbsM3InLfYAIfloMth7cSrAcBopqkIM3tMDuVzxAocLjVvMBTC oiJGzHIh0VLPdMJ8ZTIlRBiVGjYTSEig96GbPdZYMxSbRpjxOyJGSGJ+G6zsjJgQ7yyJ H/f56dbNcvOQl3oBkyukWFidpI4J2gUXBsElc= 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=J/LS1rjzPs9lsUYjBwJK8GVGC5yYXplBmI5Sr2njQpc=; b=FjYCP+bNPvX9RvXTsvDAkKDAuRch3Li4H4VoTW7LEulXy2pRmgLNMosCffYHhX/3Qt WDFG0hZguA94x2pM0JepPr46qnLL3rbFkGVQMjhK+h7D8J+EHleLtV2J/llhBjLQJErf sqt7FfzXH6ZYQ4pDRBxGFkuhX8YSHSjB+B7+UygVievj0e4JIQXswmCKoyPFVmq4YEJM BiopVqS3Znj5iRME+Kyes/ZJSsDlg50hLY4DOq610zyzJKGlTIXY1R2eWroGD2RHLg26 LyJZSL67XFfVtIf1HWxmEEoIhI6zCNyRSks74KkPZ5WnFmBuQ6rsoaGsXaHqbh2SoUcy iObA== X-Gm-Message-State: AKGB3mJBdR3IgN/oKhx4slt+7xv446yevaTsSlOKlfGedwtNeZpN8rSE kSjmvh8etYxi8Btg44JSPF8L8Yb0raVXgdhwyfRCK7Qo X-Google-Smtp-Source: ACJfBovQG0oukKFVZ2wGcmVlOkXgwhA8EGRhPRV3r2XWPyBYkgROo/8yjXZGdLmQsmKD7/kp74Eg9anG13U6Z6BDySI= X-Received: by 10.107.2.212 with SMTP id 203mr24554451ioc.186.1514196864739; Mon, 25 Dec 2017 02:14:24 -0800 (PST) MIME-Version: 1.0 Received: by 10.107.52.14 with HTTP; Mon, 25 Dec 2017 02:14:24 -0800 (PST) In-Reply-To: <4A89E2EF3DFEDB4C8BFDE51014F606A14E19816F@SHSMSX104.ccr.corp.intel.com> References: <1512140335-6932-1-git-send-email-liming.gao@intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E198139@SHSMSX104.ccr.corp.intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E19816F@SHSMSX104.ccr.corp.intel.com> From: Ard Biesheuvel Date: Mon, 25 Dec 2017 10:14:24 +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 10:09:32 -0000 Content-Type: text/plain; charset="UTF-8" On 25 December 2017 at 10:10, Gao, Liming wrote: > Ard: > Thanks for your quick report. I verify it with GCC5 and GCC49 tool chain on IA32 and X64 arch. But, I don't get this warning. Could you let me how to catch it? > This is using GCC48 for ARM/AARCH64. The diagnostic may be inaccurate, but given that GCC 4.8 is still supported, I suppose we need to add an annotated initialisation for Width like we do in other places. >>-----Original Message----- >>From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org] >>Sent: Monday, December 25, 2017 6:04 PM >>To: Gao, Liming >>Cc: edk2-devel@lists.01.org; Zeng, Star >>Subject: Re: [edk2] [Patch 00/14] Enable Structure PCD support in edk2 >> >>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