]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools: Display both Hex and integer value format of PCD value
authorYunhua Feng <yunhuax.feng@intel.com>
Thu, 24 May 2018 02:25:21 +0000 (10:25 +0800)
committerYonghong Zhu <yonghong.zhu@intel.com>
Wed, 6 Jun 2018 06:20:41 +0000 (14:20 +0800)
If the PCD's datum type is UINT8, UINT16, UINT32 or UINT64, then in
the report will display both hexadecimal format and integer format
of PCD value.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
BaseTools/Source/Python/build/BuildReport.py

index ad05c4a3ad8aa6d301cf4f1d14e3433460290522..61ea645f5c43359a504d1294e95f738c60021f2b 100644 (file)
@@ -1140,6 +1140,11 @@ class PcdReport(object):
                 for Array in ArrayList:\r
                     FileWrite(File, '%s' % (Array))\r
             else:\r
                 for Array in ArrayList:\r
                     FileWrite(File, '%s' % (Array))\r
             else:\r
+                if Pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
+                    if Value.startswith(('0x', '0X')):\r
+                        Value = '{} ({:d})'.format(Value, int(Value, 0))\r
+                    else:\r
+                        Value = "0x{:X} ({})".format(int(Value, 0), Value)\r
                 FileWrite(File, '    %*s = %s' % (self.MaxLen + 19, 'DSC DEFAULT', Value))\r
         if not InfMatch and InfDefaultValue is not None:\r
             Value = InfDefaultValue.strip()\r
                 FileWrite(File, '    %*s = %s' % (self.MaxLen + 19, 'DSC DEFAULT', Value))\r
         if not InfMatch and InfDefaultValue is not None:\r
             Value = InfDefaultValue.strip()\r
@@ -1149,6 +1154,11 @@ class PcdReport(object):
                 for Array in ArrayList:\r
                     FileWrite(File, '%s' % (Array))\r
             else:\r
                 for Array in ArrayList:\r
                     FileWrite(File, '%s' % (Array))\r
             else:\r
+                if Pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
+                    if Value.startswith(('0x', '0X')):\r
+                        Value = '{} ({:d})'.format(Value, int(Value, 0))\r
+                    else:\r
+                        Value = "0x{:X} ({})".format(int(Value, 0), Value)\r
                 FileWrite(File, '    %*s = %s' % (self.MaxLen + 19, 'INF DEFAULT', Value))\r
 \r
         if not DecMatch and DecDefaultValue is not None:\r
                 FileWrite(File, '    %*s = %s' % (self.MaxLen + 19, 'INF DEFAULT', Value))\r
 \r
         if not DecMatch and DecDefaultValue is not None:\r
@@ -1159,6 +1169,11 @@ class PcdReport(object):
                 for Array in ArrayList:\r
                     FileWrite(File, '%s' % (Array))\r
             else:\r
                 for Array in ArrayList:\r
                     FileWrite(File, '%s' % (Array))\r
             else:\r
+                if Pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
+                    if Value.startswith(('0x', '0X')):\r
+                        Value = '{} ({:d})'.format(Value, int(Value, 0))\r
+                    else:\r
+                        Value = "0x{:X} ({})".format(int(Value, 0), Value)\r
                 FileWrite(File, '    %*s = %s' % (self.MaxLen + 19, 'DEC DEFAULT', Value))\r
             if IsStructure:\r
                 self.PrintStructureInfo(File, Pcd.DefaultValues)\r
                 FileWrite(File, '    %*s = %s' % (self.MaxLen + 19, 'DEC DEFAULT', Value))\r
             if IsStructure:\r
                 self.PrintStructureInfo(File, Pcd.DefaultValues)\r
@@ -1174,6 +1189,11 @@ class PcdReport(object):
                 for Array in ArrayList:\r
                     FileWrite(File, '%s' % (Array))\r
             else:\r
                 for Array in ArrayList:\r
                     FileWrite(File, '%s' % (Array))\r
             else:\r
+                if Pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
+                    if Value.startswith(('0x','0X')):\r
+                        Value = '{} ({:d})'.format(Value, int(Value, 0))\r
+                    else:\r
+                        Value = "0x{:X} ({})".format(int(Value, 0), Value)\r
                 FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', Value))\r
             if IsStructure:\r
                 OverrideValues = Pcd.SkuOverrideValues\r
                 FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', Value))\r
             if IsStructure:\r
                 OverrideValues = Pcd.SkuOverrideValues\r
@@ -1210,6 +1230,11 @@ class PcdReport(object):
                                     for Array in ArrayList:\r
                                         FileWrite(File, '%s' % (Array))\r
                                 else:\r
                                     for Array in ArrayList:\r
                                         FileWrite(File, '%s' % (Array))\r
                                 else:\r
+                                    if Pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
+                                        if Value.startswith(('0x', '0X')):\r
+                                            Value = '{} ({:d})'.format(Value, int(Value, 0))\r
+                                        else:\r
+                                            Value = "0x{:X} ({})".format(int(Value, 0), Value)\r
                                     if self.DefaultStoreSingle and self.SkuSingle:\r
                                         FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', Value))\r
                                     elif self.DefaultStoreSingle and not self.SkuSingle:\r
                                     if self.DefaultStoreSingle and self.SkuSingle:\r
                                         FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', Value))\r
                                     elif self.DefaultStoreSingle and not self.SkuSingle:\r
@@ -1231,6 +1256,11 @@ class PcdReport(object):
                                     for Array in ArrayList:\r
                                         FileWrite(File, '%s' % (Array))\r
                                 else:\r
                                     for Array in ArrayList:\r
                                         FileWrite(File, '%s' % (Array))\r
                                 else:\r
+                                    if Pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
+                                        if Value.startswith(('0x', '0X')):\r
+                                            Value = '{} ({:d})'.format(Value, int(Value, 0))\r
+                                        else:\r
+                                            Value = "0x{:X} ({})".format(int(Value, 0), Value)\r
                                     if self.DefaultStoreSingle and self.SkuSingle:\r
                                         FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')',  Value))\r
                                     elif self.DefaultStoreSingle and not self.SkuSingle:\r
                                     if self.DefaultStoreSingle and self.SkuSingle:\r
                                         FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')',  Value))\r
                                     elif self.DefaultStoreSingle and not self.SkuSingle:\r
@@ -1258,6 +1288,11 @@ class PcdReport(object):
                             for Array in ArrayList:\r
                                 FileWrite(File, '%s' % (Array))\r
                         else:\r
                             for Array in ArrayList:\r
                                 FileWrite(File, '%s' % (Array))\r
                         else:\r
+                            if Pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
+                                if Value.startswith(('0x', '0X')):\r
+                                    Value = '{} ({:d})'.format(Value, int(Value, 0))\r
+                                else:\r
+                                    Value = "0x{:X} ({})".format(int(Value, 0), Value)\r
                             if self.SkuSingle:\r
                                 FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', Value))\r
                             else:\r
                             if self.SkuSingle:\r
                                 FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', Value))\r
                             else:\r
@@ -1271,6 +1306,11 @@ class PcdReport(object):
                             for Array in ArrayList:\r
                                 FileWrite(File, '%s' % (Array))\r
                         else:\r
                             for Array in ArrayList:\r
                                 FileWrite(File, '%s' % (Array))\r
                         else:\r
+                            if Pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
+                                if Value.startswith(('0x', '0X')):\r
+                                    Value = '{} ({:d})'.format(Value, int(Value, 0))\r
+                                else:\r
+                                    Value = "0x{:X} ({})".format(int(Value, 0), Value)\r
                             if self.SkuSingle:\r
                                 FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, ' ' , TypeName, '(' + Pcd.DatumType + ')', Value))\r
                             else:\r
                             if self.SkuSingle:\r
                                 FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, ' ' , TypeName, '(' + Pcd.DatumType + ')', Value))\r
                             else:\r