public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH] IntelFsp2Pkg/FspSplitBin.py: Support rebasing 1.x binary.
@ 2019-05-29 14:33 Chiu, Chasel
  2019-05-29 15:19 ` Zeng, Star
  0 siblings, 1 reply; 3+ messages in thread
From: Chiu, Chasel @ 2019-05-29 14:33 UTC (permalink / raw)
  To: devel; +Cc: Maurice Ma, Nate DeSimone, Star Zeng

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


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-05-30  1:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-29 14:33 [PATCH] IntelFsp2Pkg/FspSplitBin.py: Support rebasing 1.x binary Chiu, Chasel
2019-05-29 15:19 ` Zeng, Star
2019-05-30  1:24   ` Chiu, Chasel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox