回复: [edk2-devel] [Patch v3 1/1] BaseTools: Add comments in StructurePcd DSC file.
gaoliming
gaoliming at byosoft.com.cn
Tue Dec 8 04:47:41 UTC 2020
Yuwei:
What's purpose for Max_Pcd_Len? Does it mean PCD name length limitation?
Thanks
Liming
> -----邮件原件-----
> 发件人: bounce+27952+68378+4905953+8761045 at groups.io
> <bounce+27952+68378+4905953+8761045 at groups.io> 代表 Yuwei Chen
> 发送时间: 2020年12月7日 15:58
> 收件人: devel at edk2.groups.io
> 抄送: Bob Feng <bob.c.feng at intel.com>; Liming Gao
> <gaoliming at 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 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 | 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
>
>
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#68433): https://edk2.groups.io/g/devel/message/68433
Mute This Topic: https://groups.io/mt/78797212/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