Commit Graph

572 Commits

Author SHA1 Message Date
Guo Dong d48ada5da2 Add SMM rebase HOB
New UEFI payload depends on SBL to rebase SMM and reports SMM rebase information.
This patch build SMM rebase related HOB for UEFI payload.

SMM rebase memory is located at the end of SMRAM. and this patch also updated
SMM memory HOB.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2025-04-14 21:36:08 -07:00
Guo Dong 317c43386c Update SMM rebase support
Currently SBL supports SMM REBASE based on configuration.
1) When payload doesn't support SMM, SBL need enable SMM rebase.
   So SBL will rebase SMM to SMRAM and set SMRR to prevent SMRAM
   access out of SMM and prevent payload SMM driver dispatch.
2) When payload support SMM, SBL need disable SMM rebase.
   In this case SBL do nothing for SMM. Payload will do SMM
   rebase.

In new UEFI payload (after stable branch 202311), SMM relocation
was removed CPU SMM driver. To work with new UEFI payload, SMM
relocation is expected in SBL, but SMRR should not be set so that
SMM drivers in UEFI payload could be dispatched into SMRAM.

This patch adds a new SMM rebase configuration that it rebase SMM
but it doesn't set SMRR.
Currently SBL supports rebase AUTO setting based on payload. This
patch also add auto support.

Signed-off-by: Guo Dong <guo.dong@intel.com>
2025-04-14 21:36:08 -07:00
Kevin Tsai 30e04de2db fix: [Common] Update PcdFspResetStatus size
Update PcdFspResetStatus size to support 64Bit FSP return status.

Signed-off-by: Kevin Tsai <kevin.tsai@intel.com>
2025-03-31 09:37:56 -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
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
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
Biswas Arghya 246e497c0c fix:[common] Fix Coverity issue in FspNotifyPhase
fix Coverity issue in FspApiLib/FspNotifyPhase.c.

Signed-off-by: Biswas Arghya <arghya.biswas@intel.com>
2025-02-12 13:46:45 -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
Sachin Kamat 13997bd3f2 fix: [Common] Remove Trusty OS support
Trusty OS is not used. Clean up the code.

Signed-off-by: Sachin Kamat <sachin.kamat@intel.com>
2025-02-10 15:50:54 -07:00
Kevin Tsai 6f42710192 fix: remove clear FSP hob from Uefi payload boot path
Remove clear FSP hob from Uefi payload boot path because Fsp NotifyPhase needs FSP hob to work.
Fixed 32bit address FspHotList in FSP INFO. UEFI payload consumes ths info to clear FSP hob.
Move clear FSP hob at EndOfFirmware for Osloader.

Signed-off-by: Kevin Tsai <kevin.tsai@intel.com>
2025-02-10 15:43:12 -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 4d4d5a6fa3 fix: Allocate FSPM UPD from heap instead of stack
FSP 2.4 with MultiPhase support expects FSP UPD buffer to stay accessible
after CallFspMemoryInit() returns, so FSP must be allocated from the heap
instead of stack.

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 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
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
Vincent Chen cff9a54c18 fix: [COMMON] build KeyHash Hob only when Verified Boot is enabled
If Verified Boot is disabled, the data pointed by HashStorePtr is
not well-defined, so is the content of the KeyHash Hob.
In this case, if fwupdate tries to verify the PUBKEY_FWU hash
of the FwuImage, the result will be non-deterministic.

Signed-off-by: Vincent Chen <vincent.chen@intel.com>
2024-11-15 09:12:27 -07:00
tsaikevin 8ad2c625b5 fix: [Common] Assign PCI_MAX_BUS to BusLimit for BusScanTypeList type (#2315)
When platform chooses BusScanTypeList for PCI enumeration, the BusLimit should be set to PCI_MAX_BUS.
The BusScanItems defines primary bus for PCie root port. If there is device attached to root port,
which will present on secondary bus, in the meantime the bus number is greater than Buslimit, this device
cannot be found from enumeration. Assign PCI_MAX_BUS to BusLimit to prevent this issue.

Signed-off-by: Kevin Tsai <kevin.tsai@intel.com>
2024-10-23 10:57:15 +08: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
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
Pastorcici, Mariano-paulX c50658ae6b feat: [common] Enable PCIe resizable BAR support
This commit adds support for PCIe resizable BARsupport.
The feature can be enabled by setting PcdResizableBarSupport
for the board build script and its disabled by default.

Signed-off-by: pastorcx <mariano-paulx.pastorcici@intel.com>
2024-09-09 10:30:57 -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