224 Commits

Author SHA1 Message Date
Michał Żygowski
0b63e5ae1a Add project patch version to version info
Add project patch version to match Dasharo versioning scheme.

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2025-08-04 16:07:39 +02:00
Yugendran Sreetharan
8927195db2 Added support for VS2022 Compiler
Make sure your VS2022 , has following directory:

C:\Program Files (x86)\Microsoft Visual Studio\2022\Professional

Signed-off-by: Yugendran Sreetharan <yugendran.sreetharan@intel.com>
2025-07-08 20:00:12 -07:00
Sachin Kamat
12b482e407 feat: [Common] Display file name on Config Editor GUI
Display the file name of the opened file in GUI (top and bottom)
for better user experience.

Signed-off-by: Sachin Kamat <sachin.kamat@intel.com>
2025-06-30 06:27:41 -07:00
Fernando Silva
205c704066 Enable Fedora 42 Build
Signed-off-by: Fernando Silva <eng.fernandosilva@outlook.com>
2025-06-23 21:37:39 -07:00
Fernando Silva
33a98d2ade EDK2 Patch to fix QEMU build on new toolchain
Signed-off-by: Fernando Silva <eng.fernandosilva@outlook.com>
2025-03-23 22:12:28 -07:00
Biswas Arghya
87015486a4 fix:[Common] Parsing combobox in array issue fix
Fixed the issue of parsing combobox in array in SblSetup.py

Signed-off-by: Biswas Arghya <arghya.biswas@intel.com>
2025-03-10 10:38:34 -04:00
Bejean Mosher
49190cf578 fix: Setup Payload incorrectly handles config data with the refer flag
CfgDataTool de-dupes config data in some circumstances when using the
"merge" command. In such a case, the CDATA_FLAG_TYPE_REFER flag is set
in the header, and a special REFERENCE_CFG_DATA struct is added after the
conditions that points to the reference Config Data. ConfigDataLib's
BuildConfigData() triggers a config data corruption when handling these
that needed to be fixed. Instead, the setup payload will expand these
de-duped configs using the reference data so they can be modified
independently. This will cause an increase in Config Data size when
saving data from setup in these cases.

Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
2025-03-05 19:56:47 -05:00
Bejean Mosher
e188e887a4 fix: Gracefully handle value conversion error from bad YAML in Setup
Mismatch between YAML config type and value was causing setup to crash.
Handle it gracefully and print an error instead.

Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
2025-02-18 18:56:50 -07:00
Chirag Vijay Kolhe
a41dc0aad4 fix: [Common] Remove IAS boot image support
IAS boot image format is deprecated; it is recommended to use container
boot image.

 - Removed references,files related to IAS image.
 - Replaced IAS image boot options with container type image.

Signed-off-by: Chirag Vijay Kolhe <chirag.vijay.kolhe@intel.com>
2025-02-11 13:45:09 -07:00
Bejean Mosher
3b14c69f67 fix: SblSetup payload issues with loading and saving data.
Fix loading and saving issues with SblSetup payload when Config Data
layout differs from ConfigDataDef.json file. ConfigDataDef.json used
by setup payload has config data order based on defaults, while actual
binary config values retrieved from ConfigLib can have order changes
triggered by board deltas.

Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
2025-02-10 11:31:55 -07:00
Bejean Mosher
0bcefec921 feat: Support calling into x64 FSP
FSP 2.4 introduces the possibility of FSP built for x64 architecture.
This adds support for x64 FSP calling conventions based on the header x64
support attribute. Support for x64 FSP-T requires entering long mode
prior to FSP-T execution.

Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
2025-02-06 10:08:15 -07:00
Bejean Mosher
cc1ce07651 fix: Prevent creation or authentication of containers with no comp auth
Prevent GenContainer.py from creating monolithic signed containers with
no component authorization data. Prevent ContainerLib from
authenticating such containers when verified boot is enabled.

Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
2025-01-10 13:46:03 -05:00
Bejean Mosher
5b7fed0f68 feat: Add FIPS compliant IppCryptoLib instance.
Latest ipp-crytpo code is FIPS compliant. Need to add it as a submodule
to maintain FIPS compliance. This requires adding each ASM optimized
implementation as a separate .inf file and selecting at the platform
level. Old IppCryptoLib instance needs to be kept for backwards
compatibility.

Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
2024-11-26 10:52:35 -05:00
Guo Dong
45273c82ca Enhance CfgDataTool
Add a check for a corner case.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2024-09-29 16:26:50 -07:00
bejeanmo
e3dfb721bb fix: GenContainer.py not setting default auth type correctly (#2250)
When no auth parameter is specified on the command line, gen_layout
chooses auth type based on provided key, but this does not get correctly
applied to the monolithic signing component because of an order of
operations issue.

Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
2024-08-15 13:02:37 -04:00
aborwank
6875a3bdc9 feat: creating actm binary to be copied in build folder (#2141)
For platforms with seperate actm binary added code to
copy actm binary to build fv folder

Signed-off-by: Antara Borwankar <antara.borwankar@intel.com>
2024-03-21 21:21:13 -07:00
Guo Dong
4d5df7b913 feat: Fix the syntax warning
Fix the build warning using Python 3.12.
The warning message "SyntaxWarning: invalid escape sequence"

Signed-off-by: Guo Dong <guo.dong@intel.com>
2023-11-03 13:03:23 -07:00
Guo Dong
caefea4df3 * feat: Fix the build failure with Python 3.12
distutils is deprecated in Python 3.10 and 3.11.
And it is removed in Python 3.12. So remove the
dependency.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2023-11-03 13:03:23 -07:00
Jiaqing Zhao
ebc9ae0625 Container: Add new container type MULTIBOOT_MODULE
The MULTIBOOT_MODULE type indicates the container contains only
multiboot modules and their string without a bootable kernel. Similar
to the MULTIBOOT container type, the files in container should be
organized in pairs which contains a zero-teminated text for string
and the a module binary.

This type should only be used in Extra images when Normal image is in
multiboot/multiboot2 format.

Signed-off-by: Jiaqing Zhao <jiaqing.zhao@intel.com>
2023-09-12 13:55:06 -07:00
Guo Dong
60c2df3de3 [TOOL]: Enhance build tool for CFG data
Currently the build tool always find the config data yaml file
from the brd_name path.
With this update, it will first search yaml file from
brd_name_override path,  if yaml file could not be found, then
it will search yaml file from brd_name path.
And currently it would generate ConfigDataStruct.h and
ConfigDataDynamic.h in brd_name path. With this change, generate
them in board common path.

With this change, full config data could be in brd_name or in
brd_name_override path.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2023-08-29 10:47:43 -07:00
Vincent Chen
ec5c39e35a feat: [ADL] separate CfgDataDef.yaml for different PCH series
ADL groups GPIO pins into different sets for different PCH series.
The current CfgData uses ADLS's GPIO group sets as the base, and
overwrites the GrpIdx fields via DLT files for other PCH series.
This results in two issues:
1. "CfgDataTool.py export" command failed to extract DLT files
   from SBL image, since it cannot identify the proper group
   index in CfgDataExt.bin from the base table in CfgDataInt.bin
2. When using ConfigEditor.py to configure the PadGroup field of
   GPIO Payload Selection, it will map to a wrong group index.

This patch separates CfgDataDef.yaml for each of PCH series
- add _CFGDATA_DEF_FILE in BoardConfig.py
- add board extension yaml files for Adln, Adlp, Adls
  * CfgDataDef*.yaml
  * CfgData_Gpio_*.yaml
  * CfgData_PayloadSelection_*.yaml
- assign an invalid/unique GrpIdx for the unused GPIO group
  * e.g. 1F, 1E, ..
- adjust GrpIdx of CfgDataExt_Upx12.dlt based on Adlp
- revise the payload selection information in DLT files

This patch also fixes the issue:
- When ConfigEditor opens CfgDataDef.yaml more than once, the
  config changes will not be caught by "Save Config Changes to
  Delta File"
It is because the "info" argument of build_cfg_list() in
GenCfgData.py will retain its value in the lifetime of
ConfigEditor, and the offset will overflow. So need to reset
the offset for a fresh load_yaml().

Signed-off-by: Vincent Chen <vincent.chen@intel.com>
2023-08-24 09:52:21 -07:00
Jiaqing Zhao
f041c395c3 BootloaderCorePkg/Tools: PatchFv: Handle 32-bit address in GCC map
Some versions of ld (like 2.40 in Ubuntu 23.04) uses 32-bit address
when generating map files for IA32 build. This patch enables PatchFv.py
to parse these 32-bit addresses in GCC map properly.

Signed-off-by: Jiaqing Zhao <jiaqing.zhao@intel.com>
2023-06-12 12:14:44 -07:00
Barnes
d8822031d9 [ALL Platforms] Update Build tools impact all
platforms

Update Build scripts to take a different file path and Name
for
-- microcode_inf_file
-- fsp_inf_file

Signed-off-by: Barnes <kimberly.d.barnes@intel.com>
2023-04-27 10:20:32 -07:00
Vincent Chen
4f28bcd493 fix: correct the default key for signing BOOT container (#1830)
When GenContainer.py extracts a container image, a layout file
is created that specifies the format of header and components.
For container header with BOOT name, the signing key is expected
to be KEY_ID_OS1_PRIVATE. Correct it for not misleading.

Signed-off-by: Vincent Chen <vincent.chen@intel.com>
2023-02-09 15:04:22 -08:00
Atharva Lele
bc7505ca9d OsLoader Cleanup (IAS) (#1778)
* OsLoader: remove references to IAS images

Change IAS references to 'Boot Image' since IAS support is deprecated.

Signed-off-by: Atharva Lele <atharva.lele@intel.com>

* ContainerLib: add container type defines

Add comments to indicate the use cases of each container type

Signed-off-by: Atharva Lele <atharva.lele@intel.com>

* OsLoader: Use container defines instead of IAS defines

This commit also changes some comments referencing IAS instead of a container.

Signed-off-by: Atharva Lele <atharva.lele@intel.com>

* OsLoader: remove ParseIasImage() since it is deprecated

Remove deprecated functionality and header include.

Signed-off-by: Atharva Lele <atharva.lele@intel.com>
Signed-off-by: Chirag Vijay Kolhe <chirag.vijay.kolhe@intel.com>

* OsLoader: add check for normal container type and fix comment

NORMAL type of container is usually used with FV, regular ELF images, etc.
This commit adds the check for it and removes the "non valid use case" comment.

Signed-off-by: Atharva Lele <atharva.lele@intel.com>

* GenContainer: add comments explaining container types

Add comments explaining use cases of each container type

Signed-off-by: Atharva Lele <atharva.lele@intel.com>

* OsLoader: add a check for number of files in classic container

Classic Container needs to have the boot file in it. According
to the fixed order, this is the second file in the container.
Add a check to make sure there are atleast 2 files before attempting
boot.

Signed-off-by: Atharva Lele <atharva.lele@intel.com>

* QEMU: replace IAS references in boot options with container

Clean up IAS reference from boot options list

Signed-off-by: Atharva Lele <atharva.lele@intel.com>

Signed-off-by: Atharva Lele <atharva.lele@intel.com>
Signed-off-by: Chirag Vijay Kolhe <chirag.vijay.kolhe@intel.com>
2022-12-13 11:06:45 -08:00