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.web09.1318.1608084589873044949 for ; Tue, 15 Dec 2020 18:09:50 -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 ; Wed, 16 Dec 2020 10:09:45 +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> In-Reply-To: Subject: =?UTF-8?B?5Zue5aSNOiBbUEFUQ0hdIEJhc2VUb29sczogU2hvdWxkIGFsd2F5cyBkZWZpbmUgUENEIFRPS0VOIHZhbHVlIGFzIFplcm8gZm9yIHN0YXRpYyBQQ0Q=?= Date: Wed, 16 Dec 2020 10:09:47 +0800 Message-ID: <006001d6d350$87b70010$97250030$@byosoft.com.cn> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQJhggAuKtA5tURU21RoCWyMvXjxzgHqLhiJqNRCEGA= Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable Content-Language: zh-cn 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 PcdToken = value to know whether this PCD is dynamic or not. Thanks Liming > -----=D3=CA=BC=FE=D4=AD=BC=FE----- > =B7=A2=BC=FE=C8=CB: Feng, Bob C > =B7=A2=CB=CD=CA=B1=BC=E4: 2020=C4=EA12=D4=C216=C8=D5 9:26 > =CA=D5=BC=FE=C8=CB: Yunhua Feng ; = devel@edk2.groups.io > =B3=AD=CB=CD: Liming Gao ; Chen, Christine > > =D6=F7=CC=E2: RE: [PATCH] BaseTools: Should always define PCD TOKEN = value as Zero > for static PCD >=20 > 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. >=20 > Thanks, > Bob >=20 > -----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 >=20 > 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. >=20 > 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(+) >=20 > 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)) >=20 > EdkLogger.debug(EdkLogger.DEBUG_3, "Creating code for " + > TokenCName + "." + Pcd.TokenSpaceGuidCName) > -- > 2.27.0.windows.1 >=20