Re: [edk2-devel] [edk2-platforms] [PATCH 5/5] Platform/Intel: Add FIT generation tool

2019-10-07 Thread Kubacki, Michael A
Looking at the commit message in more detail, it should be cleaned up in V2.

Please try to clarify the following specifically:

"boards to specify the GUID associated with the its Bios Info PEIM"

> -Original Message-
> From: devel@edk2.groups.io  On Behalf Of Kubacki,
> Michael A
> Sent: Monday, October 7, 2019 6:37 PM
> To: Agyeman, Prince ; devel@edk2.groups.io
> Cc: Sinha, Ankit ; Desimone, Nathaniel L
> 
> Subject: Re: [edk2-devel] [edk2-platforms] [PATCH 5/5] Platform/Intel: Add
> FIT generation tool
> 
> Reviewed-by: Michael Kubacki 
> 
> > -Original Message-
> > From: Agyeman, Prince 
> > Sent: Thursday, October 3, 2019 2:13 PM
> > To: devel@edk2.groups.io
> > Cc: Sinha, Ankit ; Desimone, Nathaniel L
> > ; Kubacki, Michael A
> > 
> > Subject: [edk2-platforms] [PATCH 5/5] Platform/Intel: Add FIT
> > generation tool
> >
> > Added fit generation tool to the build process.
> >
> > What was done:
> >
> > Added BIOS_INFO_GUID to the build.cfg
> >
> > Added BIOS_INFO_GUID to GalagoPro3,
> > KabylakeRvp3 and WhiskeylakeURvp build_config.cfg This allows the
> > boards to specify the GUID associated with the its Bios Info PEIM
> >
> > BIOS_INFO_GUID is passed as an argument to FitGen in the FIT table
> > generation process
> >
> > Cc: Ankit Sinha 
> > Cc: Nate DeSimone 
> > Cc: Michael Kubacki 
> >
> > Signed-off-by: Prince Agyeman 
> > ---
> >  .../GalagoPro3/build_config.cfg   |  1 +
> >  .../KabylakeRvp3/build_config.cfg |  1 +
> >  .../WhiskeylakeURvp/build_config.cfg  |  1 +
> >  Platform/Intel/build.cfg  |  1 +
> >  Platform/Intel/build_bios.py  | 57 +++
> >  5 files changed, 61 insertions(+)
> >
> > diff --git
> > a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/build_config.cfg
> > b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/build_config.cfg
> > index 8c6c51abb4..3f64239a29 100644
> > --- a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/build_config.cfg
> > +++
> b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/build_config.cfg
> > @@ -31,3 +31,4 @@ FSP_PKG_NAME = KabylakeFspPkg
> FSP_BINARY_BUILD =
> > FALSE  FSP_TEST_RELEASE = FALSE  SECURE_BOOT_ENABLE = FALSE
> > +BIOS_INFO_GUID = 3132E669-D16B-4AA7-B09B-BC0EB5F40E1F
> > diff --git
> > a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/build_config.cfg
> > b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/build_config.cfg
> > index 78f808bfaf..f6ae4b342a 100644
> > ---
> > a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/build_config.cfg
> > +++
> > b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/build_config.cfg
> > @@ -33,3 +33,4 @@ FSP_PKG_NAME = AmberLakeFspPkg
> FSP_BINARY_BUILD =
> > FALSE  FSP_TEST_RELEASE = FALSE SECURE_BOOT_ENABLE = FALSE
> > +BIOS_INFO_GUID = C83BCE0E-6F16-4D3C-8D9F-4D6F5A032929
> > diff --git
> >
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/build_confi
> > g.cfg
> >
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/build_confi
> > g.cfg
> > index 1b0619bc1c..1dfe5ffd10 100644
> > ---
> >
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/build_confi
> > g.cfg
> > +++
> >
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/build_confi
> > +++ g.cfg
> > @@ -31,3 +31,4 @@ FSP_PKG_NAME = CoffeelakeSiliconPkg
> FSP_BINARY_BUILD
> > = FALSE  FSP_TEST_RELEASE = FALSE SECURE_BOOT_ENABLE = FALSE
> > +BIOS_INFO_GUID = A842B2D2-5C88-44E9-A9E2-4830F26662B7
> > diff --git a/Platform/Intel/build.cfg b/Platform/Intel/build.cfg index
> > 2040774d1b..6aee96694c 100644
> > --- a/Platform/Intel/build.cfg
> > +++ b/Platform/Intel/build.cfg
> > @@ -48,6 +48,7 @@ SECURE_BOOT_ENABLE = FALSE  REBUILD_MODE =
> > BUILD_ROM_ONLY =  NUMBER_OF_PROCESSORS = 0
> > +BIOS_INFO_GUID =
> >
> >
> >  [PLATFORMS]
> > diff --git a/Platform/Intel/build_bios.py
> > b/Platform/Intel/build_bios.py index
> > 46285df19a..ea098de705 100644
> > --- a/Platform/Intel/build_bios.py
> > +++ b/Platform/Intel/build_bios.py
> > @@ -196,6 +196,31 @@ def pre_build(build_config, build_type="DEBUG",
> > silent=False, toolchain=None):
> >  if return_code != 0:
> >  build_failed(config)
> >
> > +#
> > +# build platform silicon tools
> > +#
> > +# save the current workspace
> > +saved_work_directory = config["WORKSPACE"]
> > +# cha

Re: [edk2-devel] [edk2-platforms] [PATCH 5/5] Platform/Intel: Add FIT generation tool

2019-10-07 Thread Kubacki, Michael A
Reviewed-by: Michael Kubacki 

> -Original Message-
> From: Agyeman, Prince 
> Sent: Thursday, October 3, 2019 2:13 PM
> To: devel@edk2.groups.io
> Cc: Sinha, Ankit ; Desimone, Nathaniel L
> ; Kubacki, Michael A
> 
> Subject: [edk2-platforms] [PATCH 5/5] Platform/Intel: Add FIT generation
> tool
> 
> Added fit generation tool to the build
> process.
> 
> What was done:
> 
> Added BIOS_INFO_GUID to the build.cfg
> 
> Added BIOS_INFO_GUID to GalagoPro3,
> KabylakeRvp3 and WhiskeylakeURvp build_config.cfg This allows the boards
> to specify the GUID associated with the its Bios Info PEIM
> 
> BIOS_INFO_GUID is passed as an argument to FitGen in the FIT table
> generation process
> 
> Cc: Ankit Sinha 
> Cc: Nate DeSimone 
> Cc: Michael Kubacki 
> 
> Signed-off-by: Prince Agyeman 
> ---
>  .../GalagoPro3/build_config.cfg   |  1 +
>  .../KabylakeRvp3/build_config.cfg |  1 +
>  .../WhiskeylakeURvp/build_config.cfg  |  1 +
>  Platform/Intel/build.cfg  |  1 +
>  Platform/Intel/build_bios.py  | 57 +++
>  5 files changed, 61 insertions(+)
> 
> diff --git
> a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/build_config.cfg
> b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/build_config.cfg
> index 8c6c51abb4..3f64239a29 100644
> --- a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/build_config.cfg
> +++ b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/build_config.cfg
> @@ -31,3 +31,4 @@ FSP_PKG_NAME = KabylakeFspPkg  FSP_BINARY_BUILD
> = FALSE  FSP_TEST_RELEASE = FALSE  SECURE_BOOT_ENABLE = FALSE
> +BIOS_INFO_GUID = 3132E669-D16B-4AA7-B09B-BC0EB5F40E1F
> diff --git
> a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/build_config.cfg
> b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/build_config.cfg
> index 78f808bfaf..f6ae4b342a 100644
> --- a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/build_config.cfg
> +++
> b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/build_config.cfg
> @@ -33,3 +33,4 @@ FSP_PKG_NAME = AmberLakeFspPkg
> FSP_BINARY_BUILD = FALSE  FSP_TEST_RELEASE = FALSE
> SECURE_BOOT_ENABLE = FALSE
> +BIOS_INFO_GUID = C83BCE0E-6F16-4D3C-8D9F-4D6F5A032929
> diff --git
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/build_confi
> g.cfg
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/build_confi
> g.cfg
> index 1b0619bc1c..1dfe5ffd10 100644
> ---
> a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/build_confi
> g.cfg
> +++
> b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/build_confi
> +++ g.cfg
> @@ -31,3 +31,4 @@ FSP_PKG_NAME = CoffeelakeSiliconPkg
> FSP_BINARY_BUILD = FALSE  FSP_TEST_RELEASE = FALSE
> SECURE_BOOT_ENABLE = FALSE
> +BIOS_INFO_GUID = A842B2D2-5C88-44E9-A9E2-4830F26662B7
> diff --git a/Platform/Intel/build.cfg b/Platform/Intel/build.cfg index
> 2040774d1b..6aee96694c 100644
> --- a/Platform/Intel/build.cfg
> +++ b/Platform/Intel/build.cfg
> @@ -48,6 +48,7 @@ SECURE_BOOT_ENABLE = FALSE  REBUILD_MODE =
> BUILD_ROM_ONLY =  NUMBER_OF_PROCESSORS = 0
> +BIOS_INFO_GUID =
> 
> 
>  [PLATFORMS]
> diff --git a/Platform/Intel/build_bios.py b/Platform/Intel/build_bios.py index
> 46285df19a..ea098de705 100644
> --- a/Platform/Intel/build_bios.py
> +++ b/Platform/Intel/build_bios.py
> @@ -196,6 +196,31 @@ def pre_build(build_config, build_type="DEBUG",
> silent=False, toolchain=None):
>  if return_code != 0:
>  build_failed(config)
> 
> +#
> +# build platform silicon tools
> +#
> +# save the current workspace
> +saved_work_directory = config["WORKSPACE"]
> +# change the workspace to silicon tools directory
> +config["WORKSPACE"] = os.path.join(config["WORKSPACE_SILICON"],
> + "Tools")
> +
> +command = ["nmake"]
> +if os.name == "posix":  # linux
> +command = ["make"]
> +# add path to generated FitGen binary to
> +# environment path variable
> +config["PATH"] += os.pathsep + \
> +  os.path.join(config["BASE_TOOLS_PATH"],
> +   "Source", "C", "bin")
> +
> +# build the silicon tools
> +_, _, result, return_code = execute_script(command, config, shell=shell)
> +if return_code != 0:
> +build_failed(config)
> +
> +# restore WORKSPACE environment variable
> +config["WORKSPACE"] = saved_work_directory
> +
>  config["SILENT_MODE"] = 'TRUE' if silent else 'FALSE'
> 
>  print("==")
> @@ -404,6 +429,35 @@ def post_build(config):
>  :returns: nothing
>  """
>  print("Running post_build to complete the build process.")
> +board_fd = config["BOARD"].upper()
> +final_fd = os.path.join(config["BUILD_DIR_PATH"], "FV",
> +"{}.fd".format(board_fd))
> +
> +if config["BIOS_INFO_GUID"]:
> +# Generate the fit table
> +print("Generating FIT ...")
> +if os.path.isfile(final_fd):
> +temp_fd = 

Re: [edk2-devel] [edk2-platforms] [PATCH 5/5] Platform/Intel: Add FIT generation tool

2019-10-07 Thread Nate DeSimone
Reviewed-by: Nate DeSimone 

-Original Message-
From: Agyeman, Prince  
Sent: Thursday, October 3, 2019 2:13 PM
To: devel@edk2.groups.io
Cc: Sinha, Ankit ; Desimone, Nathaniel L 
; Kubacki, Michael A 

Subject: [edk2-platforms] [PATCH 5/5] Platform/Intel: Add FIT generation tool

Added fit generation tool to the build
process.

What was done:

Added BIOS_INFO_GUID to the build.cfg

Added BIOS_INFO_GUID to GalagoPro3,
KabylakeRvp3 and WhiskeylakeURvp build_config.cfg This allows the boards to 
specify the GUID associated with the its Bios Info PEIM

BIOS_INFO_GUID is passed as an argument to FitGen in the FIT table generation 
process

Cc: Ankit Sinha 
Cc: Nate DeSimone 
Cc: Michael Kubacki 

Signed-off-by: Prince Agyeman 
---
 .../GalagoPro3/build_config.cfg   |  1 +
 .../KabylakeRvp3/build_config.cfg |  1 +
 .../WhiskeylakeURvp/build_config.cfg  |  1 +
 Platform/Intel/build.cfg  |  1 +
 Platform/Intel/build_bios.py  | 57 +++
 5 files changed, 61 insertions(+)

diff --git a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/build_config.cfg 
b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/build_config.cfg
index 8c6c51abb4..3f64239a29 100644
--- a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/build_config.cfg
+++ b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/build_config.cfg
@@ -31,3 +31,4 @@ FSP_PKG_NAME = KabylakeFspPkg  FSP_BINARY_BUILD = FALSE  
FSP_TEST_RELEASE = FALSE  SECURE_BOOT_ENABLE = FALSE
+BIOS_INFO_GUID = 3132E669-D16B-4AA7-B09B-BC0EB5F40E1F
diff --git a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/build_config.cfg 
b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/build_config.cfg
index 78f808bfaf..f6ae4b342a 100644
--- a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/build_config.cfg
+++ b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/build_config.cfg
@@ -33,3 +33,4 @@ FSP_PKG_NAME = AmberLakeFspPkg  FSP_BINARY_BUILD = FALSE  
FSP_TEST_RELEASE = FALSE  SECURE_BOOT_ENABLE = FALSE
+BIOS_INFO_GUID = C83BCE0E-6F16-4D3C-8D9F-4D6F5A032929
diff --git 
a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/build_config.cfg 
b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/build_config.cfg
index 1b0619bc1c..1dfe5ffd10 100644
--- a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/build_config.cfg
+++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/build_confi
+++ g.cfg
@@ -31,3 +31,4 @@ FSP_PKG_NAME = CoffeelakeSiliconPkg  FSP_BINARY_BUILD = FALSE 
 FSP_TEST_RELEASE = FALSE  SECURE_BOOT_ENABLE = FALSE
+BIOS_INFO_GUID = A842B2D2-5C88-44E9-A9E2-4830F26662B7
diff --git a/Platform/Intel/build.cfg b/Platform/Intel/build.cfg index 
2040774d1b..6aee96694c 100644
--- a/Platform/Intel/build.cfg
+++ b/Platform/Intel/build.cfg
@@ -48,6 +48,7 @@ SECURE_BOOT_ENABLE = FALSE  REBUILD_MODE =  BUILD_ROM_ONLY =  
NUMBER_OF_PROCESSORS = 0
+BIOS_INFO_GUID =
 
 
 [PLATFORMS]
diff --git a/Platform/Intel/build_bios.py b/Platform/Intel/build_bios.py index 
46285df19a..ea098de705 100644
--- a/Platform/Intel/build_bios.py
+++ b/Platform/Intel/build_bios.py
@@ -196,6 +196,31 @@ def pre_build(build_config, build_type="DEBUG", 
silent=False, toolchain=None):
 if return_code != 0:
 build_failed(config)
 
+#
+# build platform silicon tools
+#
+# save the current workspace
+saved_work_directory = config["WORKSPACE"]
+# change the workspace to silicon tools directory
+config["WORKSPACE"] = os.path.join(config["WORKSPACE_SILICON"], 
+ "Tools")
+
+command = ["nmake"]
+if os.name == "posix":  # linux
+command = ["make"]
+# add path to generated FitGen binary to
+# environment path variable
+config["PATH"] += os.pathsep + \
+  os.path.join(config["BASE_TOOLS_PATH"],
+   "Source", "C", "bin")
+
+# build the silicon tools
+_, _, result, return_code = execute_script(command, config, shell=shell)
+if return_code != 0:
+build_failed(config)
+
+# restore WORKSPACE environment variable
+config["WORKSPACE"] = saved_work_directory
+
 config["SILENT_MODE"] = 'TRUE' if silent else 'FALSE'
 
 print("==")
@@ -404,6 +429,35 @@ def post_build(config):
 :returns: nothing
 """
 print("Running post_build to complete the build process.")
+board_fd = config["BOARD"].upper()
+final_fd = os.path.join(config["BUILD_DIR_PATH"], "FV",
+"{}.fd".format(board_fd))
+
+if config["BIOS_INFO_GUID"]:
+# Generate the fit table
+print("Generating FIT ...")
+if os.path.isfile(final_fd):
+temp_fd = os.path.join(config["BUILD_DIR_PATH"], "FV",
+   "{}_.fd".format(board_fd))
+shell = True
+command = ["FitGen", "-D",
+   final_fd, temp_fd, "-NA",
+   

[edk2-devel] [edk2-platforms] [PATCH 5/5] Platform/Intel: Add FIT generation tool

2019-10-03 Thread Agyeman, Prince
Added fit generation tool to the build
process.

What was done:

Added BIOS_INFO_GUID to the build.cfg

Added BIOS_INFO_GUID to GalagoPro3,
KabylakeRvp3 and WhiskeylakeURvp build_config.cfg
This allows the boards to specify the GUID
associated with the its Bios Info PEIM

BIOS_INFO_GUID is passed as an argument to
FitGen in the FIT table generation process

Cc: Ankit Sinha 
Cc: Nate DeSimone 
Cc: Michael Kubacki 

Signed-off-by: Prince Agyeman 
---
 .../GalagoPro3/build_config.cfg   |  1 +
 .../KabylakeRvp3/build_config.cfg |  1 +
 .../WhiskeylakeURvp/build_config.cfg  |  1 +
 Platform/Intel/build.cfg  |  1 +
 Platform/Intel/build_bios.py  | 57 +++
 5 files changed, 61 insertions(+)

diff --git a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/build_config.cfg 
b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/build_config.cfg
index 8c6c51abb4..3f64239a29 100644
--- a/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/build_config.cfg
+++ b/Platform/Intel/KabylakeOpenBoardPkg/GalagoPro3/build_config.cfg
@@ -31,3 +31,4 @@ FSP_PKG_NAME = KabylakeFspPkg
 FSP_BINARY_BUILD = FALSE
 FSP_TEST_RELEASE = FALSE
 SECURE_BOOT_ENABLE = FALSE
+BIOS_INFO_GUID = 3132E669-D16B-4AA7-B09B-BC0EB5F40E1F
diff --git a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/build_config.cfg 
b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/build_config.cfg
index 78f808bfaf..f6ae4b342a 100644
--- a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/build_config.cfg
+++ b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/build_config.cfg
@@ -33,3 +33,4 @@ FSP_PKG_NAME = AmberLakeFspPkg
 FSP_BINARY_BUILD = FALSE
 FSP_TEST_RELEASE = FALSE
 SECURE_BOOT_ENABLE = FALSE
+BIOS_INFO_GUID = C83BCE0E-6F16-4D3C-8D9F-4D6F5A032929
diff --git 
a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/build_config.cfg 
b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/build_config.cfg
index 1b0619bc1c..1dfe5ffd10 100644
--- a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/build_config.cfg
+++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/build_config.cfg
@@ -31,3 +31,4 @@ FSP_PKG_NAME = CoffeelakeSiliconPkg
 FSP_BINARY_BUILD = FALSE
 FSP_TEST_RELEASE = FALSE
 SECURE_BOOT_ENABLE = FALSE
+BIOS_INFO_GUID = A842B2D2-5C88-44E9-A9E2-4830F26662B7
diff --git a/Platform/Intel/build.cfg b/Platform/Intel/build.cfg
index 2040774d1b..6aee96694c 100644
--- a/Platform/Intel/build.cfg
+++ b/Platform/Intel/build.cfg
@@ -48,6 +48,7 @@ SECURE_BOOT_ENABLE = FALSE
 REBUILD_MODE =
 BUILD_ROM_ONLY =
 NUMBER_OF_PROCESSORS = 0
+BIOS_INFO_GUID =
 
 
 [PLATFORMS]
diff --git a/Platform/Intel/build_bios.py b/Platform/Intel/build_bios.py
index 46285df19a..ea098de705 100644
--- a/Platform/Intel/build_bios.py
+++ b/Platform/Intel/build_bios.py
@@ -196,6 +196,31 @@ def pre_build(build_config, build_type="DEBUG", 
silent=False, toolchain=None):
 if return_code != 0:
 build_failed(config)
 
+#
+# build platform silicon tools
+#
+# save the current workspace
+saved_work_directory = config["WORKSPACE"]
+# change the workspace to silicon tools directory
+config["WORKSPACE"] = os.path.join(config["WORKSPACE_SILICON"], "Tools")
+
+command = ["nmake"]
+if os.name == "posix":  # linux
+command = ["make"]
+# add path to generated FitGen binary to
+# environment path variable
+config["PATH"] += os.pathsep + \
+  os.path.join(config["BASE_TOOLS_PATH"],
+   "Source", "C", "bin")
+
+# build the silicon tools
+_, _, result, return_code = execute_script(command, config, shell=shell)
+if return_code != 0:
+build_failed(config)
+
+# restore WORKSPACE environment variable
+config["WORKSPACE"] = saved_work_directory
+
 config["SILENT_MODE"] = 'TRUE' if silent else 'FALSE'
 
 print("==")
@@ -404,6 +429,35 @@ def post_build(config):
 :returns: nothing
 """
 print("Running post_build to complete the build process.")
+board_fd = config["BOARD"].upper()
+final_fd = os.path.join(config["BUILD_DIR_PATH"], "FV",
+"{}.fd".format(board_fd))
+
+if config["BIOS_INFO_GUID"]:
+# Generate the fit table
+print("Generating FIT ...")
+if os.path.isfile(final_fd):
+temp_fd = os.path.join(config["BUILD_DIR_PATH"], "FV",
+   "{}_.fd".format(board_fd))
+shell = True
+command = ["FitGen", "-D",
+   final_fd, temp_fd, "-NA",
+   "-I", config["BIOS_INFO_GUID"]]
+
+if os.name == "posix": # linux
+shell = False
+
+_, _, result, return_code = execute_script(command, config, 
shell=shell)
+if return_code != 0:
+print("Error while generating fit")
+else:
+