[edk2-devel] [Patch v3 1/1] BaseTools: Add comments in StructurePcd DSC file.
Yuwei Chen
yuwei.chen at intel.com
Mon Dec 7 07:57:54 UTC 2020
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_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))
--
2.27.0.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#68378): https://edk2.groups.io/g/devel/message/68378
Mute This Topic: https://groups.io/mt/78773894/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