Reviewed-by: Michael Kubacki <michael.a.kuba...@intel.com> > -----Original Message----- > From: Agyeman, Prince <prince.agye...@intel.com> > Sent: Thursday, October 3, 2019 2:13 PM > To: devel@edk2.groups.io > Cc: Sinha, Ankit <ankit.si...@intel.com>; Desimone, Nathaniel L > <nathaniel.l.desim...@intel.com>; Kubacki, Michael A > <michael.a.kuba...@intel.com> > 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 <ankit.si...@intel.com> > Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> > Cc: Michael Kubacki <michael.a.kuba...@intel.com> > > Signed-off-by: Prince Agyeman <prince.agye...@intel.com> > --- > .../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 = 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: > + # copy output to final binary > + shutil.copyfile(temp_fd, final_fd) > + # remove temp file > + os.remove(temp_fd) > + else: > + print("{} does not exist".format(final_fd)) > + # remove temp file > > # Additional build scripts for this platform > result = post_build_ex(config) > @@ -426,6 +480,9 @@ def post_build(config): > except OSError: > pass > > + print("Done") > + if os.path.isfile(final_fd): > + print("Fd file can be found at {}".format(final_fd)) > > def build_failed(config): > """Displays results when build fails > -- > 2.19.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#48518): https://edk2.groups.io/g/devel/message/48518 Mute This Topic: https://groups.io/mt/34386700/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-