Re: [edk2-devel] [edk2-platforms] [PATCH 5/5] Platform/Intel: Add FIT generation tool
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
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
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
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: +