From: "Gao, Liming" <liming.gao@intel.com>
To: "Zhu, Yonghong" <yonghong.zhu@intel.com>,
"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: [Patch] BaseTools: Not print SKUID info for PCD when it is only Single SKUID
Date: Mon, 8 Jan 2018 06:11:25 +0000 [thread overview]
Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E1A031B@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <1515057877-1940-1-git-send-email-yonghong.zhu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
>-----Original Message-----
>From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
>Yonghong Zhu
>Sent: Thursday, January 04, 2018 5:25 PM
>To: edk2-devel@lists.01.org
>Subject: [edk2] [Patch] BaseTools: Not print SKUID info for PCD when it is only
>Single SKUID
>
>when it is only single SKUID, we don't need to print the SKUID info for
>every PCD since in the Global section there already have this info.
>For DefaultStore, we use same rule.
>
>Contributed-under: TianoCore Contribution Agreement 1.1
>Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
>---
> BaseTools/Source/Python/build/BuildReport.py | 94 +++++++++++++++++---
>--------
> 1 file changed, 59 insertions(+), 35 deletions(-)
>
>diff --git a/BaseTools/Source/Python/build/BuildReport.py
>b/BaseTools/Source/Python/build/BuildReport.py
>index 5da9914..d2ac044 100644
>--- a/BaseTools/Source/Python/build/BuildReport.py
>+++ b/BaseTools/Source/Python/build/BuildReport.py
>@@ -2,11 +2,11 @@
> # Routines for generating build report.
> #
> # This module contains the functionality to generate build report after
> # build all target completes successfully.
> #
>-# Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
>+# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
> # This program and the accompanying materials
> # are licensed and made available under the terms and conditions of the BSD
>License
> # which accompanies this distribution. The full text of the license may be
>found at
> # http://opensource.org/licenses/bsd-license.php
> #
>@@ -754,10 +754,17 @@ class PcdReport(object):
> if Wa.FdfProfile:
> self.FdfPcdSet = Wa.FdfProfile.PcdDict
> else:
> self.FdfPcdSet = {}
>
>+ self.DefaultStoreSingle = True
>+ self.SkuSingle = True
>+ if GlobalData.gDefaultStores and len(GlobalData.gDefaultStores) > 1:
>+ self.DefaultStoreSingle = False
>+ if GlobalData.gSkuids and len(GlobalData.gSkuids) > 1:
>+ self.SkuSingle = False
>+
> self.ModulePcdOverride = {}
> for Pa in Wa.AutoGenObjectList:
> self.Arch = Pa.Arch
> #
> # Collect all platform referenced PCDs and grouped them by PCD token
>space
>@@ -1123,81 +1130,98 @@ class PcdReport(object):
> else:
> FirstPrint = True
> SkuList = sorted(Pcd.SkuInfoList.keys())
> for Sku in SkuList:
> SkuInfo = Pcd.SkuInfoList[Sku]
>+ SkuIdName = SkuInfo.SkuIdName
> if TypeName in ('DYNHII', 'DEXHII'):
> if SkuInfo.DefaultStoreDict:
> DefaultStoreList = sorted(SkuInfo.DefaultStoreDict.keys())
> for DefaultStore in DefaultStoreList:
> Value = SkuInfo.DefaultStoreDict[DefaultStore]
> IsByteArray, ArrayList = ByteArrayForamt(Value)
> if FirstPrint:
> FirstPrint = False
> if IsByteArray:
>- FileWrite(File, ' %-*s : %6s %10s %10s %10s = %s' %
>(self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType +
>')', '(' + SkuInfo.SkuIdName + ')', '(' + DefaultStore + ')', '{'))
>+ if self.DefaultStoreSingle and self.SkuSingle:
>+ FileWrite(File, ' %-*s : %6s %10s = %s' % (self.MaxLen,
>Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '{'))
>+ elif self.DefaultStoreSingle and not self.SkuSingle:
>+ FileWrite(File, ' %-*s : %6s %10s %10s = %s' %
>(self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType +
>')', '(' + SkuIdName + ')', '{'))
>+ elif not self.DefaultStoreSingle and self.SkuSingle:
>+ FileWrite(File, ' %-*s : %6s %10s %10s = %s' %
>(self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType +
>')', '(' + DefaultStore + ')', '{'))
>+ else:
>+ FileWrite(File, ' %-*s : %6s %10s %10s %10s = %s' %
>(self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType +
>')', '(' + SkuIdName + ')', '(' + DefaultStore + ')', '{'))
> for Array in ArrayList:
> FileWrite(File, '%s' % (Array))
> else:
>- FileWrite(File, ' %-*s : %6s %10s %10s %10s = %s' %
>(self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType +
>')', '(' + SkuInfo.SkuIdName + ')', '(' + DefaultStore + ')', Value))
>+ if self.DefaultStoreSingle and self.SkuSingle:
>+ FileWrite(File, ' %-*s : %6s %10s = %s' % (self.MaxLen,
>Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', Value))
>+ elif self.DefaultStoreSingle and not self.SkuSingle:
>+ FileWrite(File, ' %-*s : %6s %10s %10s = %s' %
>(self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType +
>')', '(' + SkuIdName + ')', Value))
>+ elif not self.DefaultStoreSingle and self.SkuSingle:
>+ FileWrite(File, ' %-*s : %6s %10s %10s = %s' %
>(self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType +
>')', '(' + DefaultStore + ')', Value))
>+ else:
>+ FileWrite(File, ' %-*s : %6s %10s %10s %10s = %s' %
>(self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType +
>')', '(' + SkuIdName + ')', '(' + DefaultStore + ')', Value))
> else:
> if IsByteArray:
>- FileWrite(File, ' %-*s : %6s %10s %10s %10s = %s' %
>(self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' +
>SkuInfo.SkuIdName + ')', '(' + DefaultStore + ')', '{'))
>+ if self.DefaultStoreSingle and self.SkuSingle:
>+ FileWrite(File, ' %-*s : %6s %10s = %s' % (self.MaxLen, ' ',
>TypeName, '(' + Pcd.DatumType + ')', '{'))
>+ elif self.DefaultStoreSingle and not self.SkuSingle:
>+ FileWrite(File, ' %-*s : %6s %10s %10s = %s' %
>(self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', '{'))
>+ elif not self.DefaultStoreSingle and self.SkuSingle:
>+ FileWrite(File, ' %-*s : %6s %10s %10s = %s' %
>(self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' + DefaultStore + ')',
>'{'))
>+ else:
>+ FileWrite(File, ' %-*s : %6s %10s %10s %10s = %s' %
>(self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', '('
>+ DefaultStore + ')', '{'))
> for Array in ArrayList:
> FileWrite(File, '%s' % (Array))
> else:
>- FileWrite(File, ' %-*s : %6s %10s %10s %10s = %s' %
>(self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' +
>SkuInfo.SkuIdName + ')', '(' + DefaultStore + ')', Value))
>+ if self.DefaultStoreSingle and self.SkuSingle:
>+ FileWrite(File, ' %-*s : %6s %10s = %s' % (self.MaxLen, ' ',
>TypeName, '(' + Pcd.DatumType + ')', Value))
>+ elif self.DefaultStoreSingle and not self.SkuSingle:
>+ FileWrite(File, ' %-*s : %6s %10s %10s = %s' %
>(self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')',
>Value))
>+ elif not self.DefaultStoreSingle and self.SkuSingle:
>+ FileWrite(File, ' %-*s : %6s %10s %10s = %s' %
>(self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' + DefaultStore + ')',
>Value))
>+ else:
>+ FileWrite(File, ' %-*s : %6s %10s %10s %10s = %s' %
>(self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', '('
>+ DefaultStore + ')', Value))
> FileWrite(File, '%*s: %s: %s' % (self.MaxLen + 4,
>SkuInfo.VariableGuid, SkuInfo.VariableName, SkuInfo.VariableOffset))
> if IsStructure:
> OverrideValues = Pcd.SkuOverrideValues[Sku]
> Struct = OverrideValues[DefaultStore]
> self.PrintStructureInfo(File, Struct)
> self.PrintPcdDefault(File, Pcd, IsStructure, DscMatch,
>DscDefaultValue, InfMatch, InfDefaultValue, DecMatch, DecDefaultValue)
>- elif TypeName in ('DYNVPD', 'DEXVPD'):
>- Value = SkuInfo.DefaultValue
>- IsByteArray, ArrayList = ByteArrayForamt(Value)
>- if FirstPrint:
>- FirstPrint = False
>- if IsByteArray:
>- FileWrite(File, ' %-*s : %6s %10s %10s = %s' % (self.MaxLen,
>Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' +
>SkuInfo.SkuIdName + ')', "{"))
>- for Array in ArrayList:
>- FileWrite(File, '%s' % (Array))
>- else:
>- FileWrite(File, ' %-*s : %6s %10s %10s = %s' % (self.MaxLen,
>Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' +
>SkuInfo.SkuIdName + ')', Value))
>- else:
>- if IsByteArray:
>- FileWrite(File, ' %-*s : %6s %10s %10s = %s' % (self.MaxLen, ' ' ,
>TypeName, '(' + Pcd.DatumType + ')', '(' + SkuInfo.SkuIdName + ')', "{"))
>- for Array in ArrayList:
>- FileWrite(File, '%s' % (Array))
>- else:
>- FileWrite(File, ' %-*s : %6s %10s %10s = %s' % (self.MaxLen, ' ' ,
>TypeName, '(' + Pcd.DatumType + ')', '(' + SkuInfo.SkuIdName + ')', Value))
>- FileWrite(File, '%*s' % (self.MaxLen + 4, SkuInfo.VpdOffset))
>- if IsStructure:
>- OverrideValues = Pcd.SkuOverrideValues[Sku]
>- if OverrideValues:
>- Keys = OverrideValues.keys()
>- Struct = OverrideValues[Keys[0]]
>- self.PrintStructureInfo(File, Struct)
>- self.PrintPcdDefault(File, Pcd, IsStructure, DscMatch,
>DscDefaultValue, InfMatch, InfDefaultValue, DecMatch, DecDefaultValue)
> else:
> Value = SkuInfo.DefaultValue
> IsByteArray, ArrayList = ByteArrayForamt(Value)
> if FirstPrint:
> FirstPrint = False
> if IsByteArray:
>- FileWrite(File, ' %-*s : %6s %10s %10s = %s' % (self.MaxLen,
>Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' +
>SkuInfo.SkuIdName + ')', '{'))
>+ if self.SkuSingle:
>+ FileWrite(File, ' %-*s : %6s %10s = %s' % (self.MaxLen, Flag +
>' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', "{"))
>+ else:
>+ FileWrite(File, ' %-*s : %6s %10s %10s = %s' % (self.MaxLen,
>Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' +
>SkuIdName + ')', "{"))
> for Array in ArrayList:
> FileWrite(File, '%s' % (Array))
> else:
>- FileWrite(File, ' %-*s : %6s %10s %10s = %s' % (self.MaxLen,
>Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' +
>SkuInfo.SkuIdName + ')', Value))
>+ if self.SkuSingle:
>+ FileWrite(File, ' %-*s : %6s %10s = %s' % (self.MaxLen, Flag +
>' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', Value))
>+ else:
>+ FileWrite(File, ' %-*s : %6s %10s %10s = %s' % (self.MaxLen,
>Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' +
>SkuIdName + ')', Value))
> else:
> if IsByteArray:
>- FileWrite(File, ' %-*s : %6s %10s %10s = %s' % (self.MaxLen, ' ',
>TypeName, '(' + Pcd.DatumType + ')', '(' + SkuInfo.SkuIdName + ')', '{'))
>+ if self.SkuSingle:
>+ FileWrite(File, ' %-*s : %6s %10s = %s' % (self.MaxLen, ' ' ,
>TypeName, '(' + Pcd.DatumType + ')', "{"))
>+ else:
>+ FileWrite(File, ' %-*s : %6s %10s %10s = %s' % (self.MaxLen,
>' ' , TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', "{"))
> for Array in ArrayList:
> FileWrite(File, '%s' % (Array))
> else:
>- FileWrite(File, ' %-*s : %6s %10s %10s = %s' % (self.MaxLen, ' ',
>TypeName, '(' + Pcd.DatumType + ')', '(' + SkuInfo.SkuIdName + ')', Value))
>+ if self.SkuSingle:
>+ FileWrite(File, ' %-*s : %6s %10s = %s' % (self.MaxLen, ' ' ,
>TypeName, '(' + Pcd.DatumType + ')', Value))
>+ else:
>+ FileWrite(File, ' %-*s : %6s %10s %10s = %s' % (self.MaxLen,
>' ' , TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', Value))
>+ if TypeName in ('DYNVPD', 'DEXVPD'):
>+ FileWrite(File, '%*s' % (self.MaxLen + 4, SkuInfo.VpdOffset))
> if IsStructure:
> OverrideValues = Pcd.SkuOverrideValues[Sku]
> if OverrideValues:
> Keys = OverrideValues.keys()
> Struct = OverrideValues[Keys[0]]
>--
>2.6.1.windows.1
>
>_______________________________________________
>edk2-devel mailing list
>edk2-devel@lists.01.org
>https://lists.01.org/mailman/listinfo/edk2-devel
prev parent reply other threads:[~2018-01-08 6:06 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-04 9:24 [Patch] BaseTools: Not print SKUID info for PCD when it is only Single SKUID Yonghong Zhu
2018-01-08 6:11 ` Gao, Liming [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=4A89E2EF3DFEDB4C8BFDE51014F606A14E1A031B@SHSMSX104.ccr.corp.intel.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