From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.byosoft.com.cn (mail.byosoft.com.cn [58.240.74.242]) by mx.groups.io with SMTP id smtpd.web12.1042.1608166150634085034 for ; Wed, 16 Dec 2020 16:49:11 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=none, err=permanent DNS error (domain: byosoft.com.cn, ip: 58.240.74.242, mailfrom: gaoliming@byosoft.com.cn) Received: from DESKTOPS6D0PVI ([58.246.60.130]) (envelope-sender ) by 192.168.6.13 with ESMTP for ; Thu, 17 Dec 2020 08:49:05 +0800 X-WM-Sender: gaoliming@byosoft.com.cn X-WM-AuthFlag: YES X-WM-AuthUser: gaoliming@byosoft.com.cn From: "gaoliming" To: "'Feng, Bob C'" , , "'Yunhua Feng'" Cc: "'Chen, Christine'" References: <20201216010301.2467-1-fengyunhua@byosoft.com.cn> <006001d6d350$87b70010$97250030$@byosoft.com.cn> In-Reply-To: Subject: =?UTF-8?B?5Zue5aSNOiBbZWRrMi1kZXZlbF0g5Zue5aSNOiBbUEFUQ0hdIEJhc2VUb29sczogU2hvdWxkIGFsd2F5cyBkZWZpbmUgUENEIFRPS0VOIHZhbHVlIGFzIFplcm8gZm9yIHN0YXRpYyBQQ0Q=?= Date: Thu, 17 Dec 2020 08:49:09 +0800 Message-ID: <001101d6d40e$6df0b310$49d21930$@byosoft.com.cn> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQJhggAuKtA5tURU21RoCWyMvXjxzgHqLhiJAmSvPzYAtTW1aqi89zTA Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Language: zh-cn Bob: You are right. This patch is to avoid autogen header be changed when sta= tic PCD is added or removed. I will update BZ for this detail.=20 And, EFI_PCD_INVALID_TOKEN_NUMBER is defined in Ppi\Pcd.h. It is not inc= luded by AutoGen.h. I don't expect to include more header files into AutoGe= n.h.=20 So, I suggest to generate 0 as the token value for static PCD with the c= omments // EFI_PCD_INVALID_TOKEN_NUMBER. Thanks Liming > -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- > =E5=8F=91=E4=BB=B6=E4=BA=BA: Feng, Bob C > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2020=E5=B9=B412=E6=9C=8816=E6=97= =A5 14:16 > =E6=94=B6=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io; gaoliming@byosoft.com= .cn; 'Yunhua Feng' > > =E6=8A=84=E9=80=81: Chen, Christine > =E4=B8=BB=E9=A2=98: RE: [edk2-devel] =E5=9B=9E=E5=A4=8D: [PATCH] BaseToo= ls: Should always define PCD > TOKEN value as Zero for static PCD >=20 > Hi Liming, >=20 > So the PCD TOKEN is still useful for static PCD. >=20 > For the sentence of "AutoGen.h will not be changed when PCD is added or > removed.", > I think if a user adds or deletes a dynamic PCD, the AutoGen.h will stil= l change. > This patch need update the commit message. >=20 > For the code, I think it would be better to write "#define PcdTokenName > EFI_PCD_INVALID_TOKEN_NUMBER" to AutoGen.h and add some comments > about the usage of EFI_PCD_INVALID_TOKEN_NUMBER. > Currently, PlatformAutoGen.PcdTokenNumber() still calculate the PCD TOKE= N > for static PCDs. I think that logic can also be deleted. >=20 > Thanks, > Bob >=20 > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of gaoliming > Sent: Wednesday, December 16, 2020 10:10 AM > To: Feng, Bob C ; 'Yunhua Feng' > ; devel@edk2.groups.io > Cc: Chen, Christine > Subject: [edk2-devel] =E5=9B=9E=E5=A4=8D: [PATCH] BaseTools: Should alwa= ys define PCD > TOKEN value as Zero for static PCD >=20 > Bob: > Yes. Token value is designed for Dynamic and DynamicEx PCD. It is not = used > for static PCD. I propose to use EFI_PCD_INVALID_TOKEN_NUMBER (0) for > the static PCD token value. If so, the consumer code can base on PcdToke= n > value to know whether this PCD is dynamic or not. >=20 > Thanks > Liming > > -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- > > =E5=8F=91=E4=BB=B6=E4=BA=BA: Feng, Bob C > > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2020=E5=B9=B412=E6=9C=8816=E6=97= = =A5 9:26 > > =E6=94=B6=E4=BB=B6=E4=BA=BA: Yunhua Feng ; > devel@edk2.groups.io > > =E6=8A=84=E9=80=81: Liming Gao ; Chen, Chris= tine > > > > =E4=B8=BB=E9=A2=98: RE: [PATCH] BaseTools: Should always define PCD TO= KEN value as > > Zero for static PCD > > > > Yunhua, if FixedAtBuild, PatchableInModule and FeatureFlag PCD don't > > use PCD TOKEN, maybe it's better to remove "#define PcdTokenName > TOKEN" > > statement for those static PCD from AutoGen.h. > > > > Thanks, > > Bob > > > > -----Original Message----- > > From: Yunhua Feng > > Sent: Wednesday, December 16, 2020 9:03 AM > > To: devel@edk2.groups.io > > Cc: Feng, Bob C ; Liming Gao > > ; Chen, Christine > > Subject: [PATCH] BaseTools: Should always define PCD TOKEN value as > > Zero for static PCD > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3120 > > FixedAtBuild, PatchableInModule and FeatureFlag PCD don't use PCD > TOKEN. > > Their PCD TOKEN value can always be zero. If so, AutoGen.h will not be > > changed when PCD is added or removed. > > > > Cc: Bob Feng > > Cc: Liming Gao > > Cc: Yuwei Chen > > Signed-off-by: Yunhua Feng > > --- > > BaseTools/Source/Python/AutoGen/GenC.py | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/BaseTools/Source/Python/AutoGen/GenC.py > > b/BaseTools/Source/Python/AutoGen/GenC.py > > index a2053d5485..ac561ba82e 100755 > > --- a/BaseTools/Source/Python/AutoGen/GenC.py > > +++ b/BaseTools/Source/Python/AutoGen/GenC.py > > @@ -913,6 +913,8 @@ def CreateModulePcdCode(Info, AutoGenC, > AutoGenH, > > Pcd): > > ExtraData=3D"[%s]" % str(Info)) > > else: > > TokenNumber =3D PcdTokenNumber[Pcd.TokenCName, > > Pcd.TokenSpaceGuidCName] > > + if Pcd.Type not in PCD_DYNAMIC_TYPE_SET: > > + TokenNumber =3D 0 > > AutoGenH.Append('\n#define %s %dU\n' % (PcdTokenName, > > TokenNumber)) > > > > EdkLogger.debug(EdkLogger.DEBUG_3, "Creating code for " + > > TokenCName + "." + Pcd.TokenSpaceGuidCName) > > -- > > 2.27.0.windows.1 > > >=20 >=20 >=20 >=20 >=20 >=20 >=20