- update FSP version to IoT ADL-P MR2 (0C.01.73.10)
- update Microcode version to 423
- update platform version to 1.2
Signed-off-by: Vincent Chen <vincent.chen@intel.com>
PR #1760 mistakenly included a debug change to increase the default debug
print level. Reverting that one change.
Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
This patch fixes the issue that OS Loader appends an unwanted
mender setting (i.e., root=PARTLABEL=primary/secondary) to Linux
kernel command line when the mender setting already exists.
With the patch, the mender setting is appended to kernel command line
only if BOOT_FLAGS_MENDER AND no existing mender setting.
Signed-off-by: Stanley Chang <stanley.chang@intel.com>
When loading capsule from raw partition, some check prevent capsules
signed by a RSA3072 from being recognized as a valid capsule. Remove
obsolete checks which expect RSA2048, signature type is already checked
at a later stage from AuthenticateCapsule.
Signed-off-by: Artur Kowalski <artur.kowalski@3mdeb.com>
Code are shared for AlderLake and RaptorLake.
Just update the SMBIOS strings to reflect it.
Signed-off-by: Guo Dong <guo.dong@intel.com>
Signed-off-by: Guo Dong <guo.dong@intel.com>
FSP UPD FuSa toggles will be set based on new config data fields where
applicable or to predefined values when called for by the FuSa spec.
This requires setting PcdFusaSupport at build time in case platform FSP
doesn't support FuSa.
Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
In the Ubuntu ISO image, it has 0xF8 partition entries.
The partition library could not work as expected since
it expects the partition entries are no more than 128.
Potentially it could have more partition entries, so just
remove the check.
Signed-off-by: Guo Dong <guo.dong@intel.com>
Signed-off-by: Guo Dong <guo.dong@intel.com>
This patch fixed the issue that no display seen
once the Windows system resumed from S4.
This issue happened in particular when the Iris
Xe Graphics driver is in place.
Signed-off-by: Vincent Chen <vincent.chen@intel.com>
This patch fixes an invalid memory access issue caused by
the fs->Ext2FsGDSize is smaller than the size of EXT2GD.
The EXT2GD is a 64-byte structure, but fs->Ext2FsGDSize is not always 32.
Before this patch, Ext2fsOpen() allocates a smaller memory than expected:
i.e., Ext2FsGrpDes = AllocatePool (Ext2FsGDSize * Ext2FsNumCylinder);
When ReadGDBlock() loads data (E2FS_CGLOAD) into fs->Ext2FsGrpDes,
it possibly accesses mem out of the allocated Ext2FsGrpDes space.
This patch loads each element into fs->Ext2FsGrpDes.
This patch also
1. prints informative messages when OS Loader fails to load Linux files.
2. increase EHL's PLD_HEAP_SIZE (since the size of initrd in Ubuntu LiveCD
is over 130MB)
Test method:
1. create a huge EXT FS (says, at least 36GB)
2. In the fs, place the following file/dir:
a: non-empty file
b: dir
b/c: non-empty file
3. boot with SBL OS Loader and enter Shell.
4. execute "fs init <...skip...>" to init the fs
5. execute "fs ls"
6. execute "fs ls b/c"
7. execute "fs load a"
8. execute "fs load b/c"
Verify:
1. 10MB/10GB/100GB/200GB EXT2/EXT3/EXT4 FS
2. EHL CRB
Signed-off-by: Stanley Chang <stanley.chang@intel.com>
If OS/UEFI payload is not found, stop the TCO timer
before halting the CPU as there is no backup of
OS/UEFI payload
Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
Currently, users are able to update the uCode component
with a new binary that uses a different slot size than
the existing binary. If these slot sizes do not line up,
there is potential to trigger recovery (if enabled) or
brick the system. This change disallows updates where
these slot sizes do not line up.
Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
Currently, when a power failure occurs during update of a
BP1 component, the corresponding BP0 component does not get
updated on next boot. This is because the redundant component
check only occurs at the very beginning of the FW update process.
This change corrects this behavior, so that the BP1 component gets
updated along with its corresponding BP0 component on boot after
BP1 component update with power failure.
Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
Rtd3 SSDT have CRB and RVP versions. Verify Table ID to match Platfrom SKU
when updating SSDT table.
Signed-off-by: Kevin Tsai <kevin.tsai@intel.com>
Signed-off-by: Kevin Tsai <kevin.tsai@intel.com>
FspsUpdUpdateLIb was not enabling FspsUpd->FspsConfig.L2QosEnumerationEn
based on PLATFORM_ADLS, which is no longer used. L2QosEnumerationEn is
present in ADL-P,S,PS, and RPL-S,P FSP UPD, just not ADL-N, so need to
prevent compiling this code for that platform only.
Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
* Create tool to generate uCode outside of full SBL build
Create a standalone tool that generates a full
uCode region binary separate from a full SBL build
This tool will be used to generate a uCode region
binary for incorporation into a FWU capsule
Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
* Make region size optional parameter in uCode utility
When region size not is given explicitly to the uCode
utility, it aligns the combined uCode binaries up
to the nearest multiple of 4KB
The uCode utility also checks slot size and region size
are not exceeded
Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
* Remove region size argument on uCode utility
Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
Currently SBL would return when preferred graphics mode is set
in the multiboot image. This patch would continue boot and print
the preferred graphics mode information.
Signed-off-by: Guo Dong <guo.dong@intel.com>
It was noticed that, if there is an error
updating a redundant component on BP1, it
gets retried on BP0
This change prevents that retry from happening as
identical boot partitions are desired
Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
Currently, only a single redundant SBL component, the configuration data
component, is allowed per update session. However, with support added for
ACM and uCode component updates, the user might desire to update multiple
redundant SBL components in the same session. This change allows this to
happen.
Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
Currently, Slim Bootloader support for multiple VBT files doesn't work on EHL.
Support for multiple VBT files, which works on other platform, does not work
correctly for EHL. However, this change can fix it locally by adding the support
from another platform into the EHL support once integrated into the public SBL
Signed-off-by: ldevathu <linggeis.daran.devathurai@intel.com>
Fix two errors that prevent building QEMU SBL with the debug FSP on Linux:
- 0001-Build-QEMU-FSP-2.0-binaries.patch adds a variable "RegMask8" to
FspmInitEntryPoint() that is written but not read; GCC treats this as
an error;
- the resulting STAGE2 binary is larger than the 0x18000 bytes allocated
for it.
Signed-off-by: Bruno Achauer <bruno.achauer@intel.com>
RPL-P and ADL-P RVPs are essentially identical except for BoardID FRU.
Both need to work with SBL with RPL-P Silicon. To avoid duplicating
config data, this change will treat both as the same board.
Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
TCO timer could be enabled regardless resiliency feature.
So just remove the resiliency conditional.
Signed-off-by: Guo Dong <guo.dong@intel.com>
Signed-off-by: Guo Dong <guo.dong@intel.com>
Before this change, whenever SG02 is corrupted
in both BP0 and BP1, SBL will continuously loop
trying to recover BP0 via BP1 and vice versa
This change makes it so that, if a failure is
detected on a recovery flow, the CPU halts
Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
Adds build-time PCD that hides corruptcomp
tool by default
Renames corruptcomponent to corruptcomp
Enhances error checking/logs
Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
Create a tool that corrupts SBL components so that
the SBL resiliency feature can more easily be tested
and demonstrated
Signed-off-by: Sean McGinn <sean.mcginn@intel.com>
While iterating over a USB descriptor in GetExpectedDescriptor(),
the "Len" variable always uses the 1st byte in the buffer,
This is only true for the 1st iteration, thereafter the variable should
advance as the descriptor advances.
Signed-off-by: Leon Theunissen <leon.theunissen@etion.co.za>
- update FSP version to MR5 FSP (09.04.30.51)
- update microcode version to 17
- update platform version to 1.5
Signed-off-by: Vincent Chen <vincent.chen@intel.com>
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>
PcdTccEnabled was declared as a FeaturePcd which evaluates to a code symbol
and can't be used in a #if. From the preprocessor perspective it is always
undefined. Changed this pcd to a FixedPcd instead.
Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>
Signed-off-by: Bejean Mosher <bejean.mosher@intel.com>