public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: "Gao, Liming" <liming.gao@intel.com>
Cc: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
	"Zeng, Star" <star.zeng@intel.com>
Subject: Re: [Patch 00/14] Enable Structure PCD support in edk2
Date: Mon, 25 Dec 2017 10:14:24 +0000	[thread overview]
Message-ID: <CAKv+Gu_CWv3GkrGnwoYCdLwwp+a8=CROnGeWzVr+fxNZ=QJRdQ@mail.gmail.com> (raw)
In-Reply-To: <4A89E2EF3DFEDB4C8BFDE51014F606A14E19816F@SHSMSX104.ccr.corp.intel.com>

On 25 December 2017 at 10:10, Gao, Liming <liming.gao@intel.com> 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 <liming.gao@intel.com>
>>Cc: edk2-devel@lists.01.org; Zeng, Star <star.zeng@intel.com>
>>Subject: Re: [edk2] [Patch 00/14] Enable Structure PCD support in edk2
>>
>>On 25 December 2017 at 09:36, Gao, Liming <liming.gao@intel.com> 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 <star.zeng@intel.com>
>>>>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


      reply	other threads:[~2017-12-25 10:09 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-01 14:58 [Patch 00/14] Enable Structure PCD support in edk2 Liming Gao
2017-12-21  7:11 ` Zeng, Star
2017-12-21  7:15   ` Zeng, Star
2017-12-21  8:18     ` Gao, Liming
2017-12-25  9:36 ` Gao, Liming
2017-12-25 10:04   ` Ard Biesheuvel
2017-12-25 10:10     ` Gao, Liming
2017-12-25 10:14       ` Ard Biesheuvel [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKv+Gu_CWv3GkrGnwoYCdLwwp+a8=CROnGeWzVr+fxNZ=QJRdQ@mail.gmail.com' \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox