IntelFsp2Pkg/Tools/SplitFspBin.py | 21 ++++++++------------- IntelFsp2Pkg/Tools/UserManuals/SplitFspBinUserManual.md | 47 ++++++++++++++++++++++------------------------- 2 files changed, 30 insertions(+), 38 deletions(-)
This reverts commit:
591b8cb7f3d026d2fa4483c59f3d5fb14be181bf.
Will submit again after freeze done.
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com>
---
IntelFsp2Pkg/Tools/SplitFspBin.py | 21 ++++++++-------------
IntelFsp2Pkg/Tools/UserManuals/SplitFspBinUserManual.md | 47 ++++++++++++++++++++++-------------------------
2 files changed, 30 insertions(+), 38 deletions(-)
diff --git a/IntelFsp2Pkg/Tools/SplitFspBin.py b/IntelFsp2Pkg/Tools/SplitFspBin.py
index 15c8bebee2..2458231d09 100644
--- a/IntelFsp2Pkg/Tools/SplitFspBin.py
+++ b/IntelFsp2Pkg/Tools/SplitFspBin.py
@@ -1,6 +1,6 @@
## @ FspTool.py
#
-# Copyright (c) 2015 - 2019, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2015 - 2018, 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 1.x/2.x image.
+This utility supports some operations for Intel FSP 2.0 image.
It supports:
- - 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
+ - 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
"""
CopyRightHeaderFile = """/*
@@ -500,6 +500,8 @@ 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:
@@ -711,8 +713,6 @@ 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,11 +742,6 @@ 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
diff --git a/IntelFsp2Pkg/Tools/UserManuals/SplitFspBinUserManual.md b/IntelFsp2Pkg/Tools/UserManuals/SplitFspBinUserManual.md
index 06d87bbb2e..064e0ac845 100644
--- a/IntelFsp2Pkg/Tools/UserManuals/SplitFspBinUserManual.md
+++ b/IntelFsp2Pkg/Tools/UserManuals/SplitFspBinUserManual.md
@@ -1,71 +1,68 @@
-# SplitFspBin.py is a python script to support some operations on Intel FSP 1.x/2.x image.
+# SplitFspBin.py is a python script to support some operations on Intel FSP 2.0 image.
It supports:
-- Split Intel FSP 2.x image into individual FSP-T/M/S/O component
+- Split Intel FSP 2.0 image into individual FSP-T/M/S/O component
-- Rebase Intel FSP 1.x/2.x components to different base addresses
+- Rebase Intel FSP 2.0 components to different base addresses
-- Generate Intel FSP 1.x/2.x C header file
+- Generate Intel FSP 2.0 C header file
-- Display Intel FSP 1.x/2.x information header for each FSP component
+- Display Intel FSP 2.0 information header for each FSP component
-## Split Intel FSP 2.x image
+## Split Intel FSP 2.0 image
-FSP 1.x image is not supported by split command.
-To split individual FSP component in Intel FSP 2.x image, the following
+To split individual FSP component in Intel FSP 2.0 image, the following
command can be used:
**python SplitFspBin.py split [-h] -f FSPBINARY [-o OUTPUTDIR] [-n NAMETEMPLATE]**
-For example:
+For example:
`python SplitFspBin.py split -f FSP.bin`
It will create FSP_T.bin, FSP_M.bin and FSP_S.bin in current directory.
-## Rebase Intel FSP 1.x/2.x components
+## Rebase Intel FSP 2.0 components
-To rebase one or multiple FSP components in Intel FSP 1.x/2.x image, the following
+To rebase one or multiple FSP components in Intel FSP 2.0 image, the following
command can be used:
**python SplitFspBin.py rebase [-h] -f FSPBINARY -c {t,m,s,o} [{t,m,s,o} ...] -b FSPBASE [FSPBASE ...] [-o OUTPUTDIR] [-n OUTPUTFILE]**
-For example:
+For example:
- `python SplitFspBin.py rebase -f FSP.bin -c t -b 0xFFF00000 -n FSP_new.bin`
+ `python SplitFspBin.py rebase -f FSP.bin –c t –b 0xFFF00000 –n FSP_new.bin`
It will rebase FSP-T component inside FSP.bin to new base 0xFFF00000 and save the
- rebased Intel FSP 2.x image into file FSP_new.bin.
- For FSP 1.x image there is only one component in binary so above command also
- works for FSP 1.x image.
+ rebased Intel FSP 2.0 image into file FSP_new.bin.
- `python SplitFspBin.py rebase -f FSP.bin -c t m -b 0xFFF00000 0xFEF80000 -n FSP_new.bin`
+ `python SplitFspBin.py rebase -f FSP.bin –c t m –b 0xFFF00000 0xFEF80000 –n FSP_new.bin`
It will rebase FSP-T and FSP-M components inside FSP.bin to new base 0xFFF00000
- and 0xFEF80000 respectively, and save the rebased Intel FSP 2.x image into file
+ and 0xFEF80000 respectively, and save the rebased Intel FSP 2.0 image into file
FSP_new.bin file.
-## Generate Intel FSP 1.x/2.x C header file
+## Generate Intel FSP 2.0 C header file
-To generate Intel FSP 1.x/2.x C header file, the following command can be used:
+To generate Intel FSP 2.0 C header file, the following command can be used:
**Python SplitFspBin.py genhdr [-h] -f FSPBINARY [-o OUTPUTDIR] [-n HFILENAME]**
-For example:
+For example:
- `python SplitFspBin.py genhdr -f FSP.bin -n FSP.h`
+ `python SplitFspBin.py genhdr -f FSP.bin –n FSP.h`
It will create the C header file FSP.h containing the image ID, revision, offset
and size for each individual FSP component.
-## Display Intel FSP 1.x/2.x information header
+## Display Intel FSP 2.0 information header
-To display Intel FSP 1.x/2.x information headers, the following command can be used:
+To display Intel FSP 2.0 information headers, the following command can be used:
**Python SplitFspBin.py info [-h] -f FSPBINARY**
-For example:
+For example:
`python SplitFspBin.py info -f FSP.bin`
--
2.13.3.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#41714): https://edk2.groups.io/g/devel/message/41714
Mute This Topic: https://groups.io/mt/31877953/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Reviewed-by: Liming Gao <liming.gao@intel.com> >-----Original Message----- >From: Chiu, Chasel >Sent: Friday, May 31, 2019 3:09 PM >To: devel@edk2.groups.io >Cc: Gao, Liming <liming.gao@intel.com> >Subject: [PATCH] IntelFsp2Pkg/SplitFspBin.py: Revert FSP 1.x support. > >This reverts commit: > 591b8cb7f3d026d2fa4483c59f3d5fb14be181bf. >Will submit again after freeze done. > >Cc: Liming Gao <liming.gao@intel.com> >Signed-off-by: Chasel Chiu <chasel.chiu@intel.com> >--- > IntelFsp2Pkg/Tools/SplitFspBin.py | 21 ++++++++------------- > IntelFsp2Pkg/Tools/UserManuals/SplitFspBinUserManual.md | 47 >++++++++++++++++++++++------------------------- > 2 files changed, 30 insertions(+), 38 deletions(-) > >diff --git a/IntelFsp2Pkg/Tools/SplitFspBin.py >b/IntelFsp2Pkg/Tools/SplitFspBin.py >index 15c8bebee2..2458231d09 100644 >--- a/IntelFsp2Pkg/Tools/SplitFspBin.py >+++ b/IntelFsp2Pkg/Tools/SplitFspBin.py >@@ -1,6 +1,6 @@ > ## @ FspTool.py > # >-# Copyright (c) 2015 - 2019, Intel Corporation. All rights reserved.<BR> >+# Copyright (c) 2015 - 2018, 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 1.x/2.x image. >+This utility supports some operations for Intel FSP 2.0 image. > It supports: >- - 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 >+ - 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 > """ > > CopyRightHeaderFile = """/* >@@ -500,6 +500,8 @@ 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: >@@ -711,8 +713,6 @@ 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,11 +742,6 @@ 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 >diff --git a/IntelFsp2Pkg/Tools/UserManuals/SplitFspBinUserManual.md >b/IntelFsp2Pkg/Tools/UserManuals/SplitFspBinUserManual.md >index 06d87bbb2e..064e0ac845 100644 >--- a/IntelFsp2Pkg/Tools/UserManuals/SplitFspBinUserManual.md >+++ b/IntelFsp2Pkg/Tools/UserManuals/SplitFspBinUserManual.md >@@ -1,71 +1,68 @@ >-# SplitFspBin.py is a python script to support some operations on Intel FSP >1.x/2.x image. >+# SplitFspBin.py is a python script to support some operations on Intel FSP >2.0 image. > > It supports: > >-- Split Intel FSP 2.x image into individual FSP-T/M/S/O component >+- Split Intel FSP 2.0 image into individual FSP-T/M/S/O component > >-- Rebase Intel FSP 1.x/2.x components to different base addresses >+- Rebase Intel FSP 2.0 components to different base addresses > >-- Generate Intel FSP 1.x/2.x C header file >+- Generate Intel FSP 2.0 C header file > >-- Display Intel FSP 1.x/2.x information header for each FSP component >+- Display Intel FSP 2.0 information header for each FSP component > >-## Split Intel FSP 2.x image >+## Split Intel FSP 2.0 image > >-FSP 1.x image is not supported by split command. >-To split individual FSP component in Intel FSP 2.x image, the following >+To split individual FSP component in Intel FSP 2.0 image, the following > command can be used: > > **python SplitFspBin.py split [-h] -f FSPBINARY [-o OUTPUTDIR] [-n >NAMETEMPLATE]** > >-For example: >+For example: > > `python SplitFspBin.py split -f FSP.bin` > > It will create FSP_T.bin, FSP_M.bin and FSP_S.bin in current directory. > >-## Rebase Intel FSP 1.x/2.x components >+## Rebase Intel FSP 2.0 components > >-To rebase one or multiple FSP components in Intel FSP 1.x/2.x image, the >following >+To rebase one or multiple FSP components in Intel FSP 2.0 image, the >following > command can be used: > > **python SplitFspBin.py rebase [-h] -f FSPBINARY -c {t,m,s,o} [{t,m,s,o} ...] - >b FSPBASE [FSPBASE ...] [-o OUTPUTDIR] [-n OUTPUTFILE]** > >-For example: >+For example: > >- `python SplitFspBin.py rebase -f FSP.bin -c t -b 0xFFF00000 -n FSP_new.bin` >+ `python SplitFspBin.py rebase -f FSP.bin –c t –b 0xFFF00000 –n >FSP_new.bin` > > It will rebase FSP-T component inside FSP.bin to new base 0xFFF00000 and >save the >- rebased Intel FSP 2.x image into file FSP_new.bin. >- For FSP 1.x image there is only one component in binary so above command >also >- works for FSP 1.x image. >+ rebased Intel FSP 2.0 image into file FSP_new.bin. > >- `python SplitFspBin.py rebase -f FSP.bin -c t m -b 0xFFF00000 0xFEF80000 -n >FSP_new.bin` >+ `python SplitFspBin.py rebase -f FSP.bin –c t m –b 0xFFF00000 0xFEF80000 – >n FSP_new.bin` > > It will rebase FSP-T and FSP-M components inside FSP.bin to new base >0xFFF00000 >- and 0xFEF80000 respectively, and save the rebased Intel FSP 2.x image into >file >+ and 0xFEF80000 respectively, and save the rebased Intel FSP 2.0 image into >file > FSP_new.bin file. > >-## Generate Intel FSP 1.x/2.x C header file >+## Generate Intel FSP 2.0 C header file > >-To generate Intel FSP 1.x/2.x C header file, the following command can be >used: >+To generate Intel FSP 2.0 C header file, the following command can be used: > > **Python SplitFspBin.py genhdr [-h] -f FSPBINARY [-o OUTPUTDIR] [-n >HFILENAME]** > >-For example: >+For example: > >- `python SplitFspBin.py genhdr -f FSP.bin -n FSP.h` >+ `python SplitFspBin.py genhdr -f FSP.bin –n FSP.h` > > It will create the C header file FSP.h containing the image ID, revision, offset > and size for each individual FSP component. > >-## Display Intel FSP 1.x/2.x information header >+## Display Intel FSP 2.0 information header > >-To display Intel FSP 1.x/2.x information headers, the following command can >be used: >+To display Intel FSP 2.0 information headers, the following command can be >used: > > **Python SplitFspBin.py info [-h] -f FSPBINARY** > >-For example: >+For example: > > `python SplitFspBin.py info -f FSP.bin` > >-- >2.13.3.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#41715): https://edk2.groups.io/g/devel/message/41715 Mute This Topic: https://groups.io/mt/31877953/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> -----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Chiu, Chasel Sent: Friday, May 31, 2019 12:09 AM To: devel@edk2.groups.io Cc: Gao, Liming <liming.gao@intel.com> Subject: [edk2-devel] [PATCH] IntelFsp2Pkg/SplitFspBin.py: Revert FSP 1.x support. This reverts commit: 591b8cb7f3d026d2fa4483c59f3d5fb14be181bf. Will submit again after freeze done. Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Chasel Chiu <chasel.chiu@intel.com> --- IntelFsp2Pkg/Tools/SplitFspBin.py | 21 ++++++++------------- IntelFsp2Pkg/Tools/UserManuals/SplitFspBinUserManual.md | 47 ++++++++++++++++++++++------------------------- 2 files changed, 30 insertions(+), 38 deletions(-) diff --git a/IntelFsp2Pkg/Tools/SplitFspBin.py b/IntelFsp2Pkg/Tools/SplitFspBin.py index 15c8bebee2..2458231d09 100644 --- a/IntelFsp2Pkg/Tools/SplitFspBin.py +++ b/IntelFsp2Pkg/Tools/SplitFspBin.py @@ -1,6 +1,6 @@ ## @ FspTool.py # -# Copyright (c) 2015 - 2019, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2015 - 2018, 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 1.x/2.x image. +This utility supports some operations for Intel FSP 2.0 image. It supports: - - 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 + - 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 """ CopyRightHeaderFile = """/* @@ -500,6 +500,8 @@ 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: @@ -711,8 +713,6 @@ 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,11 +742,6 @@ 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 diff --git a/IntelFsp2Pkg/Tools/UserManuals/SplitFspBinUserManual.md b/IntelFsp2Pkg/Tools/UserManuals/SplitFspBinUserManual.md index 06d87bbb2e..064e0ac845 100644 --- a/IntelFsp2Pkg/Tools/UserManuals/SplitFspBinUserManual.md +++ b/IntelFsp2Pkg/Tools/UserManuals/SplitFspBinUserManual.md @@ -1,71 +1,68 @@ -# SplitFspBin.py is a python script to support some operations on Intel FSP 1.x/2.x image. +# SplitFspBin.py is a python script to support some operations on Intel FSP 2.0 image. It supports: -- Split Intel FSP 2.x image into individual FSP-T/M/S/O component +- Split Intel FSP 2.0 image into individual FSP-T/M/S/O component -- Rebase Intel FSP 1.x/2.x components to different base addresses +- Rebase Intel FSP 2.0 components to different base addresses -- Generate Intel FSP 1.x/2.x C header file +- Generate Intel FSP 2.0 C header file -- Display Intel FSP 1.x/2.x information header for each FSP component +- Display Intel FSP 2.0 information header for each FSP component -## Split Intel FSP 2.x image +## Split Intel FSP 2.0 image -FSP 1.x image is not supported by split command. -To split individual FSP component in Intel FSP 2.x image, the following +To split individual FSP component in Intel FSP 2.0 image, the following command can be used: **python SplitFspBin.py split [-h] -f FSPBINARY [-o OUTPUTDIR] [-n NAMETEMPLATE]** -For example: +For example: `python SplitFspBin.py split -f FSP.bin` It will create FSP_T.bin, FSP_M.bin and FSP_S.bin in current directory. -## Rebase Intel FSP 1.x/2.x components +## Rebase Intel FSP 2.0 components -To rebase one or multiple FSP components in Intel FSP 1.x/2.x image, the following +To rebase one or multiple FSP components in Intel FSP 2.0 image, the +following command can be used: **python SplitFspBin.py rebase [-h] -f FSPBINARY -c {t,m,s,o} [{t,m,s,o} ...] -b FSPBASE [FSPBASE ...] [-o OUTPUTDIR] [-n OUTPUTFILE]** -For example: +For example: - `python SplitFspBin.py rebase -f FSP.bin -c t -b 0xFFF00000 -n FSP_new.bin` + `python SplitFspBin.py rebase -f FSP.bin –c t –b 0xFFF00000 –n + FSP_new.bin` It will rebase FSP-T component inside FSP.bin to new base 0xFFF00000 and save the - rebased Intel FSP 2.x image into file FSP_new.bin. - For FSP 1.x image there is only one component in binary so above command also - works for FSP 1.x image. + rebased Intel FSP 2.0 image into file FSP_new.bin. - `python SplitFspBin.py rebase -f FSP.bin -c t m -b 0xFFF00000 0xFEF80000 -n FSP_new.bin` + `python SplitFspBin.py rebase -f FSP.bin –c t m –b 0xFFF00000 + 0xFEF80000 –n FSP_new.bin` It will rebase FSP-T and FSP-M components inside FSP.bin to new base 0xFFF00000 - and 0xFEF80000 respectively, and save the rebased Intel FSP 2.x image into file + and 0xFEF80000 respectively, and save the rebased Intel FSP 2.0 + image into file FSP_new.bin file. -## Generate Intel FSP 1.x/2.x C header file +## Generate Intel FSP 2.0 C header file -To generate Intel FSP 1.x/2.x C header file, the following command can be used: +To generate Intel FSP 2.0 C header file, the following command can be used: **Python SplitFspBin.py genhdr [-h] -f FSPBINARY [-o OUTPUTDIR] [-n HFILENAME]** -For example: +For example: - `python SplitFspBin.py genhdr -f FSP.bin -n FSP.h` + `python SplitFspBin.py genhdr -f FSP.bin –n FSP.h` It will create the C header file FSP.h containing the image ID, revision, offset and size for each individual FSP component. -## Display Intel FSP 1.x/2.x information header +## Display Intel FSP 2.0 information header -To display Intel FSP 1.x/2.x information headers, the following command can be used: +To display Intel FSP 2.0 information headers, the following command can be used: **Python SplitFspBin.py info [-h] -f FSPBINARY** -For example: +For example: `python SplitFspBin.py info -f FSP.bin` -- 2.13.3.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#41959): https://edk2.groups.io/g/devel/message/41959 Mute This Topic: https://groups.io/mt/31877953/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2024 Red Hat, Inc.