summaryrefslogtreecommitdiff
path: root/BaseTools/Scripts
diff options
context:
space:
mode:
authorChen, Christine <Yuwei.Chen@intel.com>2020-12-07 15:57:54 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2020-12-15 07:17:12 +0000
commit532f907b753ef99b47371629187d5f53ea3c83e2 (patch)
treecba11bbcbabb82e235917365eaca45ef99237c7d /BaseTools/Scripts
parentdcaa93936591883aa7826eb45ef00416ad82ef08 (diff)
downloadedk2-532f907b753ef99b47371629187d5f53ea3c83e2.zip
edk2-532f907b753ef99b47371629187d5f53ea3c83e2.tar.gz
edk2-532f907b753ef99b47371629187d5f53ea3c83e2.tar.bz2
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> Reviewed-by: Bob Feng <bob.c.feng@intel.com>
Diffstat (limited to 'BaseTools/Scripts')
-rw-r--r--BaseTools/Scripts/ConvertFceToStructurePcd.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/BaseTools/Scripts/ConvertFceToStructurePcd.py b/BaseTools/Scripts/ConvertFceToStructurePcd.py
index aeda3ff..867660f 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_length*" ",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))