170 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
Antara Borwankar
df944f5298 feat: Add FIPS self test support
Added fips_selftest run before any crypto use in Stage1A.
updated IppCrypto to 1.0.1 version

Signed-off-by: Antara Borwankar <antara.borwankar@intel.com>
2025-03-23 22:09:28 -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
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
Guo Dong
c1326e0ae2 Add FDT support for universal payload
New universal payload use FDT (Flat Device Tree) instead
of HOB to pass info to payload.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2025-01-10 13:19:29 -07:00
Bejean Mosher
e69378bc2d feat: Add Board flag for AP Init Wait time
Some silicon requires longer than provided for all APs to enter the wakeup
routine. This change makes this platform configurable. The default wait
time is none and can be increased for platforms with higher core count Si.

Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
2024-11-21 14:22:48 -07:00
Antara Borwankar
7328aa169f feat: [IPPCRYPTO]Added perf lib for ipp-crypto
Signed-off-by: Antara Borwankar <antara.borwankar@intel.com>
2024-10-15 07:48:18 -07:00
Stanley Chang
7bb6216b30 fix: [Tool] BaseTools built with specified VS on Windows
When multiple versions of Visual Studio (VS) were installed, the BaseTools
would be built with the latest version, regardless of user preference
(i.e., specified by the "-t" option). This behavior was incorrect for users
needing to build with a specific VS. This commit addresses the issue by aligning
the BaseTools to build with the user-specified version of VS.

Test steps:
  0. Two versions of VS are installed: VS2017 and VS2022
  1. Default build: python BuildLoader.py build tgl
  2. Build with specific version: python BuildLoader.py build tgl -t vs2022

Signed-off-by: Stanley Chang <stanley.chang@intel.com>
2024-08-15 07:22:43 -07:00
Bejean Mosher
04132381bd feat: Add BoardConfig field to control Stage1B remap
Adding new Board Config item REMAP_STAGE1B to control remapping Stage1B
into permanent memory after FSP-M. Decouple this from ENABLE_FAST_BOOT
and STAGE1B_XIP. This makes it simpler to enable this remap when the
slight performance boost may be needed, and leave it disabled by default.

Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
2024-06-04 13:07:16 -07:00
Antara Borwankar
0cff669fc8 feat: Added support for CPU FMS in ACM fit entry
Support for adding multiple ACM entries for different
CPU FMS in FIT table.

Signed-off-by: Antara Borwankar <antara.borwankar@intel.com>
2024-05-09 09:34:12 -07:00
Subash Lakkimsetti
8a659b3665 Add configurable option for ACM FIT version
ACM FIT version for legacy platforms use 0x100.
Newere platforms use version 0x200

Signed-off-by: Subash Lakkimsetti <subash.lakkimsetti@intel.com>
2024-04-14 21:40:20 -07: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
Bejean Mosher
1d38f8e69f feat: Validate BMP headers to protect against LogoFAIL.
The SBL logo is verified as part of Stage2 verification, so untrusted
logos won't be parsed, but it's still good to prevent dereferencing BMP
header pointers that may fall outside of BMP file.

Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
2024-01-08 15:04:47 -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
Arghya Biswas
cbab6710a4 feat: Added FIT4 Entry in FIT table (#2037)
FIT4 Entry is needed for PCH-less Server platforms to execute CBnT
and/or PFR. By default, FIT4 Entry will not come into the scenario.
It needs to enable from BoardConfig.py for specific platforms.

Signed-off-by: Biswas Arghya <arghya.biswas@intel.com>
2023-10-02 10:10:39 -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
Kevin Tsai
eb98e8b8aa Add board name to clean command
1.Build script will not copy FSP, VBT and Microcode bin files from repository
  if it finds these files existing in taget folders.
  Above step keeps them from unintentional update in series of build process.
  Adding a board name to clean command helps to get latest binaries from repository
  in next build.

2.Ignore empty board name from loading BoardConfig*.py

Signed-off-by: Kevin Tsai <kevin.tsai@intel.com>
2023-05-04 20:53:08 -07:00
Barnes
ccc98a136c [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
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
Atharva Lele
5e48d930f9 fix: Generate FlashMap.txt before Stitch_Components.zip is created (#1853)
Currently, FlashMap.txt is generated *after* the output files are copied.
This results in FlashMap.txt being missing from the output folder on a
clean build. On subsequent rebuilds, the FlashMap.txt is from the previous
build so any layout changes are not reflected.

Signed-off-by: Atharva Lele <atharva.lele@intel.com>
2023-03-23 08:17:58 -04:00
Atharva Lele
1c807e51fa Fix OsLoader handling of non-container images and remove PcdContainerBootEnabled (#1843)
* OsLoader: set default status to EFI_UNSUPPORTED when parsing a boot image

This was set to EFI_SUCCESS which resulted in ParseBootImages() returning
EFI_SUCCESS even if the boot image was not a container or a component.

Thus, the boot would continue and fail at a later stage due to the
LoadedImage structure not being populated correctly.

Setting it to EFI_UNSUPPORTED will result in ParseBootImages() returning
EFI_UNSUPPORTED if a non-supported boot image is provided and OsLoader
will attempt to boot the next entry in the boot options list.

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

* Remove PcdContainerBootEnabled PCD

SBL requires boot images to be packaged as a container or a component

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

---------

Signed-off-by: Atharva Lele <atharva.lele@intel.com>
2023-03-10 14:14:13 -08:00
tsaikevin
a9a4328890 [ADLN] Upstream ADLN
This patch open source ADLN project to be able to build
and stitch PV release from open source repo.

Signed-off-by: Kevin Tsai <kevin.tsai@intel.com>
2023-03-07 14:11:45 -07:00
Sean McGinn
fd919fb33b Allocate empty uCode slots for future uCode updates
The FIT allows for some empty uCode slots to be defined
in anticipation of future uCode updates. This change adds
as many empty slots as possible after the non-empty slots
in the uCode region.

Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
2022-12-05 11:36:01 -07:00
sean-m-mcginn
ad6da2876a Fix erroneous uCode base offset in BP1 SG1A (#1712)
During the build process, SG1A is built
for BP0 and a copy is made for BP1. Then,
the parameters of the BP1 SG1A are adjusted
to reflect that it is in BP1. One of the
parameters that gets adjusted during this
process is the uCode base. It was noticed
that this uCode base does not get updated
at all for platforms using FSP spec 2.2, but
another parameter gets updated instead.

Specifically, the error is in the FSP-T UPD
struct. The offset of the uCode base in
the FSP-T UPD struct is 0x40 for platforms using
FSP spec 2.2. However, the offset that actually
gets updated for platforms using FSP spec 2.2 is
0x20. This change corrects this offset for the
relevant platforms.

Signed-off-by: Sean McGinn <sean.mcginn@intel.com>

Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
2022-10-11 15:57:02 -04:00
Sean McGinn
eeb05a8a5e Add SBL resiliency common code
This change adds SBL resiliency-related code
to common SG1A, SG1B, SG02, and FWU code

Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
2022-08-17 11:40:43 -07:00