Pushed: 1fbf5e30ae8eb725f4e10984f7b0a208f78abbd0
Thanks, Chasel > -----Original Message----- > From: Loo, Tung Lun <tung.lun....@intel.com> > Sent: Monday, May 17, 2021 12:04 PM > To: devel@edk2.groups.io > Cc: Loo, Tung Lun <tung.lun....@intel.com>; Ma, Maurice > <maurice...@intel.com>; Desimone, Nathaniel L > <nathaniel.l.desim...@intel.com>; Zeng, Star <star.z...@intel.com>; Chiu, > Chasel <chasel.c...@intel.com> > Subject: [PATCH v3] IntelFsp2Pkg: YAML script bug fix > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3395 > > This patch fixes the issue observed during BSF file to YAML file conversion. > It > also addresses the issue during multibyte array data conversion check, for > example the data representation of 0xFFFF instead of 0xFF, 0xFF would be > thrown exception "Array size is not proper" without this patch. > > Cc: Maurice Ma <maurice...@intel.com> > Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> > Cc: Star Zeng <star.z...@intel.com> > Cc: Chasel Chiu <chasel.c...@intel.com> > Signed-off-by: Loo Tung Lun <tung.lun....@intel.com> > --- > IntelFsp2Pkg/Tools/FspDscBsf2Yaml.py | 11 +++++++++-- > IntelFsp2Pkg/Tools/GenCfgOpt.py | 3 ++- > 2 files changed, 11 insertions(+), 3 deletions(-) > > diff --git a/IntelFsp2Pkg/Tools/FspDscBsf2Yaml.py > b/IntelFsp2Pkg/Tools/FspDscBsf2Yaml.py > index cad9b60e73..d2ca7145ae 100644 > --- a/IntelFsp2Pkg/Tools/FspDscBsf2Yaml.py > +++ b/IntelFsp2Pkg/Tools/FspDscBsf2Yaml.py > @@ -46,6 +46,13 @@ def Bytes2Val(Bytes): > return reduce(lambda x, y: (x << 8) | y, Bytes[::-1]) +def > Str2Bytes(Value, > Blen):+ Result = bytearray(Value[1:-1], 'utf-8') # Excluding quotes+ if > len(Result) < Blen:+ Result.extend(b'\x00' * (Blen - len(Result)))+ > return > Result++ class CFspBsf2Dsc: def __init__(self, bsf_file):@@ -108,7 +115,8 > @@ class CFspBsf2Dsc: > cfg_item['find'] = prefix cfg_item['cname'] > = 'Signature' > cfg_item['length'] = len(finds[0][1])- cfg_item['value'] = > '0x%X' % > Bytes2Val(finds[0][1].encode('UTF-8'))+ str2byte = > Str2Bytes("'" + > finds[0][1] + "'", len(finds[0][1]))+ cfg_item['value'] = > '0x%X' % > Bytes2Val(str2byte) cfg_list.append(dict(cfg_item)) > cfg_item = > dict(cfg_temp) find_list.pop(0)@@ -291,7 +299,6 @@ class > CFspDsc2Yaml(): > raise Exception('DSC variable creation error !') > else: raise > Exception('Unsupported file "%s" !' % file_name)- > gen_cfg_data.UpdateDefaultValue() self.gen_cfg_data = gen_cfg_data > def print_dsc_line(self):diff --git a/IntelFsp2Pkg/Tools/GenCfgOpt.py > b/IntelFsp2Pkg/Tools/GenCfgOpt.py > index 660824b740..714b2d8b1a 100644 > --- a/IntelFsp2Pkg/Tools/GenCfgOpt.py > +++ b/IntelFsp2Pkg/Tools/GenCfgOpt.py > @@ -708,7 +708,8 @@ EndList > for Page in PageList: > Page = Page.strip() > Match = re.match("(\w+):\"(.+)\"", Page)- > self._CfgPageDict[Match.group(1)] = Match.group(2)+ > if > Match != None:+ > self._CfgPageDict[Match.group(1)] = > Match.group(2) Match = > re.match("(?:^|.+\s+)BLOCK:{NAME:\"(.+)\"\s*,\s*VER:\"(.+)\"\s*}", Remaining) > if Match:-- > 2.28.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#75237): https://edk2.groups.io/g/devel/message/75237 Mute This Topic: https://groups.io/mt/82879268/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-