[edk2-devel] [PATCH 1/1] BaseTools: Fix StructurePcd offset error.

Yuwei Chen yuwei.chen at intel.com
Fri Oct 29 05:35:02 UTC 2021


Hi Liming,

As the comments have been added to each StructurePcd (https://edk2.groups.io/g/devel/message/68378?p=%2C%2C%2C20%2C0%2C0%2C0%3A%3Arecentpostdate%2Fsticky%2C%2CStructurePcd%2C20%2C2%2C20%2C78773894), the tmp[1] will have not only the "{0x0,0x0}" value but also the "# comments". If not split with "#", it will generate error format for value "{0x0, 0x0}" StructurePcd.

Thanks,
Christine (Yuwei)

> -----Original Message-----
> From: gaoliming <gaoliming at byosoft.com.cn>
> Sent: Friday, October 29, 2021 10:02 AM
> To: Chen, Christine <yuwei.chen at intel.com>; devel at edk2.groups.io
> Cc: Feng, Bob C <bob.c.feng at intel.com>
> Subject: 回复: [PATCH 1/1] BaseTools: Fix StructurePcd offset error.
> 
> Yuwei:
> 
> > -----邮件原件-----
> > 发件人: Yuwei Chen <yuwei.chen at intel.com>
> > 发送时间: 2021年10月27日 18:00
> > 收件人: devel at edk2.groups.io
> > 抄送: Bob Feng <bob.c.feng at intel.com>; Liming Gao
> > <gaoliming at byosoft.com.cn>
> > 主题: [PATCH 1/1] BaseTools: Fix StructurePcd offset error.
> >
> > Currently when parse VFR files to get the struct info, BOOLEAN type
> > struct is ignored, which caused offset errors.
> > This patch fixed these bugs.
> >
> > Cc: Bob Feng <bob.c.feng at intel.com>
> > Cc: Liming Gao <gaoliming at byosoft.com.cn>
> > Signed-off-by: Yuwei Chen <yuwei.chen at intel.com>
> > ---
> >  BaseTools/Scripts/ConvertFceToStructurePcd.py | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/BaseTools/Scripts/ConvertFceToStructurePcd.py
> > b/BaseTools/Scripts/ConvertFceToStructurePcd.py
> > index 2baabf2dd521..9e7fe58768b1 100644
> > --- a/BaseTools/Scripts/ConvertFceToStructurePcd.py
> > +++ b/BaseTools/Scripts/ConvertFceToStructurePcd.py
> > @@ -142,7 +142,7 @@ class parser_lst(object):
> >                        line.append(struct)
> >                        unparse.append(line)
> >                    else:
> > -                    if uint not in ['UINT8', 'UINT16', 'UINT32',
> > 'UINT64']:
> > +                    if uint not in ['UINT8', 'UINT16', 'UINT32',
> 'UINT64',
> > 'BOOLEAN']:
> >                        line = [offset, t_name, 0, uint]
> >                        line.append(struct)
> >                        unparse.append(line) @@ -569,7 +569,7 @@ class
> > mainprocess(object):
> >      for i in List:
> >        for j in i:
> >          tmp = j.split("|")
> > -        if (('L"' in j) and ("[" in j)) or (tmp[1].strip() == '{0x0,
> 0x0}'):
> > +        if (('L"' in j) and ("[" in j)) or
> > + (tmp[1].split("#")[0].strip()
> == '{0x0,
> > 0x0}'):
> 
> Why split '#'?
> 
> Thanks
> Liming
> >            tmp[0] = tmp[0][:tmp[0].index('[')]
> >            List[List.index(i)][i.index(j)] = "|".join(tmp)
> >          else:
> > --
> > 2.27.0.windows.1
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#82912): https://edk2.groups.io/g/devel/message/82912
Mute This Topic: https://groups.io/mt/86670745/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list