From: "Yuwei Chen" <yuwei.chen@intel.com>
To: gaoliming <gaoliming@byosoft.com.cn>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Subject: Re: [edk2-devel] [Patch v3 1/1] BaseTools: Add comments in StructurePcd DSC file.
Date: Tue, 8 Dec 2020 05:01:23 +0000 [thread overview]
Message-ID: <DM5PR11MB1594E241A55A97B38799FCBF96CD0@DM5PR11MB1594.namprd11.prod.outlook.com> (raw)
In-Reply-To: <007c01d6cd1d$43019090$c904b1b0$@byosoft.com.cn>
Yes, the Max_Pcd_Len is not a complete limitation, it used as a location maker for adding comments in aligned format.
If the Pcd length is larger than the Max_Pcd_Len, the comment will not follow the aligned format rule, but just be added after the pcd value with 5 blanks.
The reason I do not use the largest length of Pcd to be the limitation is: it will add one more time's loop for Pcd which I think would increase cost of time.
Thanks,
Yuwei
> -----Original Message-----
> From: gaoliming <gaoliming@byosoft.com.cn>
> Sent: Tuesday, December 8, 2020 12:48 PM
> To: devel@edk2.groups.io; Chen, Christine <yuwei.chen@intel.com>
> Subject: 回复: [edk2-devel] [Patch v3 1/1] BaseTools: Add comments in
> StructurePcd DSC file.
>
> Yuwei:
> What's purpose for Max_Pcd_Len? Does it mean PCD name length
> limitation?
>
> Thanks
> Liming
> > -----邮件原件-----
> > 发件人: bounce+27952+68378+4905953+8761045@groups.io
> > <bounce+27952+68378+4905953+8761045@groups.io> 代表 Yuwei Chen
> > 发送时间: 2020年12月7日 15:58
> > 收件人: devel@edk2.groups.io
> > 抄送: Bob Feng <bob.c.feng@intel.com>; Liming Gao
> > <gaoliming@byosoft.com.cn>
> > 主题: [edk2-devel] [Patch v3 1/1] BaseTools: Add comments in
> > StructurePcd DSC file.
> >
> > Currently VFR files have variables comments which will not be added
> > into StructurePcd.dsc file. Thus, it is not convenient for developer
> > to Modify Pcds. To solve this problem, The comments will be modified
> > to user friendly format and added after the corresponding Pcd values
> > in StructurePcd.dsc file.
> >
> > Cc: Bob Feng <bob.c.feng@intel.com>
> > Cc: Liming Gao <gaoliming@byosoft.com.cn>
> > Signed-off-by: Yuwei Chen <yuwei.chen@intel.com>
> > ---
> > BaseTools/Scripts/ConvertFceToStructurePcd.py | 15 ++++++++++++---
> > 1 file changed, 12 insertions(+), 3 deletions(-)
> >
> > diff --git a/BaseTools/Scripts/ConvertFceToStructurePcd.py
> > b/BaseTools/Scripts/ConvertFceToStructurePcd.py
> > index aeda3ff26dfe..867660fba9cf 100644
> > --- a/BaseTools/Scripts/ConvertFceToStructurePcd.py
> > +++ b/BaseTools/Scripts/ConvertFceToStructurePcd.py
> > @@ -52,6 +52,7 @@ infstatement = '''[Pcd]
> >
> > SECTION='PcdsDynamicHii'
> > PCD_NAME='gStructPcdTokenSpaceGuid.Pcd'
> > +Max_Pcd_Len = 100
> >
> > WARNING=[]
> > ERRORMSG=[]
> > @@ -278,6 +279,9 @@ class Config(object):
> > part = []
> > for x in section[1:]:
> > line=x.split('\n')[0]
> > + comment_list = value_re.findall(line) # the string \\... in
> "Q...." line
> > + comment_list[0] = comment_list[0].replace('//', '')
> > + comment = comment_list[0].strip()
> > line=value_re.sub('',line) #delete \\... in "Q...." line
> > list1=line.split(' ')
> > value=self.value_parser(list1) @@ -289,7 +293,7 @@ class
> > Config(object):
> > if attribute[0] in ['0x3','0x7']:
> > offset = int(offset[0], 16)
> > #help = help_re.findall(x)
> > - text = offset, name[0], guid[0], value, attribute[0]
> > + text = offset, name[0], guid[0], value, attribute[0],
> > + comment
> > part.append(text)
> > return(part)
> >
> > @@ -479,7 +483,7 @@ class mainprocess(object):
> > tmp_id=[id_key] #['0_0',[(struct,[name...]),(struct,[name...])]]
> > tmp_info={} #{name:struct}
> > for section in config_dict[id_key]:
> > - c_offset,c_name,c_guid,c_value,c_attribute = section
> > + c_offset,c_name,c_guid,c_value,c_attribute,c_comment =
> > + section
> > if c_name in efi_dict:
> > struct = efi_dict[c_name]
> >
> >
> title='%s%s|L"%s"|%s|0x00||%s\n'%(PCD_NAME,c_name,c_name,self.guid.
> > guid_parser(c_guid),self.attribute_dict[c_attribute])
> > @@ -499,9 +503,14 @@ class mainprocess(object):
> > if c_offset in struct_dict:
> > offset_name=struct_dict[c_offset]
> > info =
> > "%s%s.%s|%s\n"%(PCD_NAME,c_name,offset_name,c_value)
> > + blank_length = Max_Pcd_Len - len(info)
> > + if blank_length <= 0:
> > + info_comment =
> > "%s%s.%s|%s%s# %s\n"%(PCD_NAME,c_name,offset_name,c_value,"
> > ",c_comment)
> > + else:
> > + info_comment =
> >
> "%s%s.%s|%s%s# %s\n"%(PCD_NAME,c_name,offset_name,c_value,blank
> _le
> > ngth*" ",c_comment)
> > inf = "%s%s\n"%(PCD_NAME,c_name)
> > inf_list.append(inf)
> > - tmp_info[info]=title
> > + tmp_info[info_comment]=title
> > else:
> > print("ERROR: Can't find offset %s with struct name
> > %s"%(c_offset,struct))
> > ERRORMSG.append("ERROR: Can't find offset %s with name
> > %s"%(c_offset,struct))
> > --
> > 2.27.0.windows.1
> >
> >
> >
> >
> >
>
>
next prev parent reply other threads:[~2020-12-08 5:01 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-07 7:57 [Patch v3 1/1] BaseTools: Add comments in StructurePcd DSC file Yuwei Chen
2020-12-08 4:47 ` 回复: [edk2-devel] " gaoliming
2020-12-08 5:01 ` Yuwei Chen [this message]
2020-12-15 0:55 ` Bob Feng
[not found] ` <1650BDCD6648B06E.11773@groups.io>
2020-12-15 1:03 ` [edk2-devel] " Bob Feng
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=DM5PR11MB1594E241A55A97B38799FCBF96CD0@DM5PR11MB1594.namprd11.prod.outlook.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