public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "gaoliming" <gaoliming@byosoft.com.cn>
To: <devel@edk2.groups.io>, <yuwei.chen@intel.com>
Subject: 回复: [edk2-devel] [Patch v3 1/1] BaseTools: Add comments in StructurePcd DSC file.
Date: Tue, 8 Dec 2020 12:47:41 +0800	[thread overview]
Message-ID: <007c01d6cd1d$43019090$c904b1b0$@byosoft.com.cn> (raw)
In-Reply-To: <20201207075754.1240-1-yuwei.chen@intel.com>

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
> 
> 
> 
> 
> 




  reply	other threads:[~2020-12-08  4:47 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 ` gaoliming [this message]
2020-12-08  5:01   ` [edk2-devel] " Yuwei Chen
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='007c01d6cd1d$43019090$c904b1b0$@byosoft.com.cn' \
    --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