IntelFsp2Pkg/Tools/SplitFspBin.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-)
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1308
Support rebasing FSP 1.X binary.
Test: both FSP 2.X (Kabylake) and FSP 1.X (BroadwellDE) binary
can be rebased successfully.
Cc: Maurice Ma <maurice.ma@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com>
---
IntelFsp2Pkg/Tools/SplitFspBin.py | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/IntelFsp2Pkg/Tools/SplitFspBin.py b/IntelFsp2Pkg/Tools/SplitFspBin.py
index 2458231d09..15c8bebee2 100644
--- a/IntelFsp2Pkg/Tools/SplitFspBin.py
+++ b/IntelFsp2Pkg/Tools/SplitFspBin.py
@@ -1,6 +1,6 @@
## @ FspTool.py
#
-# Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2015 - 2019, Intel Corporation. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
@@ -14,12 +14,12 @@ import argparse
from ctypes import *
"""
-This utility supports some operations for Intel FSP 2.0 image.
+This utility supports some operations for Intel FSP 1.x/2.x image.
It supports:
- - Display FSP 2.0 information header
- - Split FSP 2.0 image into individual FSP-T/M/S/O component
- - Rebase FSP 2.0 components to a different base address
- - Generate FSP mapping C header file
+ - Display FSP 1.x/2.x information header
+ - Split FSP 2.x image into individual FSP-T/M/S/O component
+ - Rebase FSP 1.x/2.x components to a different base address
+ - Generate FSP 1.x/2.x mapping C header file
"""
CopyRightHeaderFile = """/*
@@ -500,8 +500,6 @@ class FirmwareDevice:
fih = None
for fsp in self.FspList:
- if fsp.Fih.HeaderRevision < 3:
- raise Exception("ERROR: FSP 1.x is not supported by this tool !")
if not fih:
fih = fsp.Fih
else:
@@ -713,6 +711,8 @@ def SplitFspBin (fspfile, outdir, nametemplate):
fd.ParseFsp ()
for fsp in fd.FspList:
+ if fsp.Fih.HeaderRevision < 3:
+ raise Exception("ERROR: FSP 1.x is not supported by the split command !")
ftype = fsp.Type
if not nametemplate:
nametemplate = fspfile
@@ -742,6 +742,11 @@ def RebaseFspBin (FspBinary, FspComponent, FspBase, OutputDir, OutputFile):
found = False
for fsp in fd.FspList:
+ # Is this FSP 1.x single binary?
+ if fsp.Fih.HeaderRevision < 3:
+ found = True
+ ftype = 'X'
+ break
ftype = fsp.Type.lower()
if ftype == fspcomp:
found = True
--
2.13.3.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#41618): https://edk2.groups.io/g/devel/message/41618
Mute This Topic: https://groups.io/mt/31834320/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Shouldn't the SplitFspBinUserManual.md also be updated? Thanks, Star > -----Original Message----- > From: Chiu, Chasel > Sent: Wednesday, May 29, 2019 10:33 PM > To: devel@edk2.groups.io > Cc: Ma, Maurice <maurice.ma@intel.com>; Desimone, Nathaniel L > <nathaniel.l.desimone@intel.com>; Zeng, Star <star.zeng@intel.com> > Subject: [PATCH] IntelFsp2Pkg/FspSplitBin.py: Support rebasing 1.x binary. > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1308 > > Support rebasing FSP 1.X binary. > > Test: both FSP 2.X (Kabylake) and FSP 1.X (BroadwellDE) binary > can be rebased successfully. > > Cc: Maurice Ma <maurice.ma@intel.com> > Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> > Cc: Star Zeng <star.zeng@intel.com> > Signed-off-by: Chasel Chiu <chasel.chiu@intel.com> > --- > IntelFsp2Pkg/Tools/SplitFspBin.py | 21 +++++++++++++-------- > 1 file changed, 13 insertions(+), 8 deletions(-) > > diff --git a/IntelFsp2Pkg/Tools/SplitFspBin.py > b/IntelFsp2Pkg/Tools/SplitFspBin.py > index 2458231d09..15c8bebee2 100644 > --- a/IntelFsp2Pkg/Tools/SplitFspBin.py > +++ b/IntelFsp2Pkg/Tools/SplitFspBin.py > @@ -1,6 +1,6 @@ > ## @ FspTool.py > # > -# Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR> > +# Copyright (c) 2015 - 2019, Intel Corporation. All rights > +reserved.<BR> > # SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -14,12 +14,12 @@ > import argparse > from ctypes import * > > """ > -This utility supports some operations for Intel FSP 2.0 image. > +This utility supports some operations for Intel FSP 1.x/2.x image. > It supports: > - - Display FSP 2.0 information header > - - Split FSP 2.0 image into individual FSP-T/M/S/O component > - - Rebase FSP 2.0 components to a different base address > - - Generate FSP mapping C header file > + - Display FSP 1.x/2.x information header > + - Split FSP 2.x image into individual FSP-T/M/S/O component > + - Rebase FSP 1.x/2.x components to a different base address > + - Generate FSP 1.x/2.x mapping C header file > """ > > CopyRightHeaderFile = """/* > @@ -500,8 +500,6 @@ class FirmwareDevice: > > fih = None > for fsp in self.FspList: > - if fsp.Fih.HeaderRevision < 3: > - raise Exception("ERROR: FSP 1.x is not supported by this tool !") > if not fih: > fih = fsp.Fih > else: > @@ -713,6 +711,8 @@ def SplitFspBin (fspfile, outdir, nametemplate): > fd.ParseFsp () > > for fsp in fd.FspList: > + if fsp.Fih.HeaderRevision < 3: > + raise Exception("ERROR: FSP 1.x is not supported by the > + split command !") > ftype = fsp.Type > if not nametemplate: > nametemplate = fspfile > @@ -742,6 +742,11 @@ def RebaseFspBin (FspBinary, FspComponent, > FspBase, OutputDir, OutputFile): > > found = False > for fsp in fd.FspList: > + # Is this FSP 1.x single binary? > + if fsp.Fih.HeaderRevision < 3: > + found = True > + ftype = 'X' > + break > ftype = fsp.Type.lower() > if ftype == fspcomp: > found = True > -- > 2.13.3.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#41631): https://edk2.groups.io/g/devel/message/41631 Mute This Topic: https://groups.io/mt/31834320/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Yes. I will update the document. Thanks! Chasel > -----Original Message----- > From: Zeng, Star > Sent: Wednesday, May 29, 2019 11:20 PM > To: Chiu, Chasel <chasel.chiu@intel.com>; devel@edk2.groups.io > Cc: Ma, Maurice <maurice.ma@intel.com>; Desimone, Nathaniel L > <nathaniel.l.desimone@intel.com>; Zeng, Star <star.zeng@intel.com> > Subject: RE: [PATCH] IntelFsp2Pkg/FspSplitBin.py: Support rebasing 1.x binary. > > Shouldn't the SplitFspBinUserManual.md also be updated? > > > Thanks, > Star > > > -----Original Message----- > > From: Chiu, Chasel > > Sent: Wednesday, May 29, 2019 10:33 PM > > To: devel@edk2.groups.io > > Cc: Ma, Maurice <maurice.ma@intel.com>; Desimone, Nathaniel L > > <nathaniel.l.desimone@intel.com>; Zeng, Star <star.zeng@intel.com> > > Subject: [PATCH] IntelFsp2Pkg/FspSplitBin.py: Support rebasing 1.x binary. > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1308 > > > > Support rebasing FSP 1.X binary. > > > > Test: both FSP 2.X (Kabylake) and FSP 1.X (BroadwellDE) binary > > can be rebased successfully. > > > > Cc: Maurice Ma <maurice.ma@intel.com> > > Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> > > Cc: Star Zeng <star.zeng@intel.com> > > Signed-off-by: Chasel Chiu <chasel.chiu@intel.com> > > --- > > IntelFsp2Pkg/Tools/SplitFspBin.py | 21 +++++++++++++-------- > > 1 file changed, 13 insertions(+), 8 deletions(-) > > > > diff --git a/IntelFsp2Pkg/Tools/SplitFspBin.py > > b/IntelFsp2Pkg/Tools/SplitFspBin.py > > index 2458231d09..15c8bebee2 100644 > > --- a/IntelFsp2Pkg/Tools/SplitFspBin.py > > +++ b/IntelFsp2Pkg/Tools/SplitFspBin.py > > @@ -1,6 +1,6 @@ > > ## @ FspTool.py > > # > > -# Copyright (c) 2015 - 2018, Intel Corporation. All rights > > reserved.<BR> > > +# Copyright (c) 2015 - 2019, Intel Corporation. All rights > > +reserved.<BR> > > # SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -14,12 > > +14,12 @@ import argparse > > from ctypes import * > > > > """ > > -This utility supports some operations for Intel FSP 2.0 image. > > +This utility supports some operations for Intel FSP 1.x/2.x image. > > It supports: > > - - Display FSP 2.0 information header > > - - Split FSP 2.0 image into individual FSP-T/M/S/O component > > - - Rebase FSP 2.0 components to a different base address > > - - Generate FSP mapping C header file > > + - Display FSP 1.x/2.x information header > > + - Split FSP 2.x image into individual FSP-T/M/S/O component > > + - Rebase FSP 1.x/2.x components to a different base address > > + - Generate FSP 1.x/2.x mapping C header file > > """ > > > > CopyRightHeaderFile = """/* > > @@ -500,8 +500,6 @@ class FirmwareDevice: > > > > fih = None > > for fsp in self.FspList: > > - if fsp.Fih.HeaderRevision < 3: > > - raise Exception("ERROR: FSP 1.x is not supported by this tool !") > > if not fih: > > fih = fsp.Fih > > else: > > @@ -713,6 +711,8 @@ def SplitFspBin (fspfile, outdir, nametemplate): > > fd.ParseFsp () > > > > for fsp in fd.FspList: > > + if fsp.Fih.HeaderRevision < 3: > > + raise Exception("ERROR: FSP 1.x is not supported by the > > + split command !") > > ftype = fsp.Type > > if not nametemplate: > > nametemplate = fspfile > > @@ -742,6 +742,11 @@ def RebaseFspBin (FspBinary, FspComponent, > > FspBase, OutputDir, OutputFile): > > > > found = False > > for fsp in fd.FspList: > > + # Is this FSP 1.x single binary? > > + if fsp.Fih.HeaderRevision < 3: > > + found = True > > + ftype = 'X' > > + break > > ftype = fsp.Type.lower() > > if ftype == fspcomp: > > found = True > > -- > > 2.13.3.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#41648): https://edk2.groups.io/g/devel/message/41648 Mute This Topic: https://groups.io/mt/31834320/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2024 Red Hat, Inc.