回复: [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