[edk2-devel] [Patch v2 1/1] BaseTools: Add comments in StructurePcd DSC file.

Yuwei Chen yuwei.chen at intel.com
Mon Dec 7 02:43:23 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 | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/BaseTools/Scripts/ConvertFceToStructurePcd.py b/BaseTools/Scripts/ConvertFceToStructurePcd.py
index aeda3ff26dfe..4bf790640fd2 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,11 @@ 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)
+            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 (#68360): https://edk2.groups.io/g/devel/message/68360
Mute This Topic: https://groups.io/mt/78770780/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