From: "Kubacki, Michael A" <michael.a.kubacki@intel.com>
To: "Agyeman, Prince" <prince.agyeman@intel.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Sinha, Ankit" <ankit.sinha@intel.com>,
"Desimone, Nathaniel L" <nathaniel.l.desimone@intel.com>
Subject: Re: [edk2-platforms] [PATCH 5/5] Platform/Intel: Add FIT generation tool
Date: Tue, 8 Oct 2019 01:37:16 +0000 [thread overview]
Message-ID: <DM6PR11MB3834350D22681ECC406FFC0CB59A0@DM6PR11MB3834.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20191003211259.49664-6-prince.agyeman@intel.com>
Reviewed-by: Michael Kubacki <michael.a.kubacki@intel.com>
> -----Original Message-----
> From: Agyeman, Prince <prince.agyeman@intel.com>
> Sent: Thursday, October 3, 2019 2:13 PM
> To: devel@edk2.groups.io
> Cc: Sinha, Ankit <ankit.sinha@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Kubacki, Michael A
> <michael.a.kubacki@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.sinha@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Michael Kubacki <michael.a.kubacki@intel.com>
>
> Signed-off-by: Prince Agyeman <prince.agyeman@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
next prev parent reply other threads:[~2019-10-08 1:37 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-03 21:12 [edk2-platforms] [PATCH 0/5] Add FIT support using FitGen Agyeman, Prince
2019-10-03 21:12 ` [edk2-platforms] [PATCH 1/5] BoardModulePkg: Add bios info HOB Agyeman, Prince
2019-10-07 22:27 ` Nate DeSimone
2019-10-08 0:34 ` Kubacki, Michael A
2019-10-03 21:12 ` [edk2-platforms] [PATCH 2/5] KabylakeOpenBoardPkg/KabylakeRvp3: Add BIOS Info PEIM Agyeman, Prince
2019-10-07 22:27 ` Nate DeSimone
2019-10-08 1:09 ` Kubacki, Michael A
2019-10-08 1:30 ` Kubacki, Michael A
[not found] ` <15CB87D9C8A2CD86.11065@groups.io>
2019-10-08 1:41 ` [edk2-devel] " Kubacki, Michael A
2019-10-03 21:12 ` [edk2-platforms] [PATCH 3/5] KabylakeOpenBoardPkg/GalagoPro3: Add BiosInfo PEIM Agyeman, Prince
2019-10-07 22:27 ` Nate DeSimone
2019-10-08 1:31 ` Kubacki, Michael A
2019-10-03 21:12 ` [edk2-platforms] [PATCH 4/5] WhiskeylakeOpenBoardPkg: Add BIOS INFO PEIM Agyeman, Prince
2019-10-07 22:27 ` Nate DeSimone
2019-10-08 1:32 ` Kubacki, Michael A
2019-10-03 21:12 ` [edk2-platforms] [PATCH 5/5] Platform/Intel: Add FIT generation tool Agyeman, Prince
2019-10-07 22:27 ` Nate DeSimone
2019-10-08 1:37 ` Kubacki, Michael A [this message]
[not found] ` <15CB88314AAB3150.15045@groups.io>
2019-10-08 1:44 ` [edk2-devel] " Kubacki, Michael A
2019-10-08 1:38 ` [edk2-devel] [edk2-platforms] [PATCH 0/5] Add FIT support using FitGen Kubacki, Michael A
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DM6PR11MB3834350D22681ECC406FFC0CB59A0@DM6PR11MB3834.namprd11.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox