slimbootloader/PayloadPkg
Vincent Chen bfbced4d99
fix: fwupdate failed to update backup partition for BIOS payload (#1933)
The current fwupdate design processes the capsule with redundant
updates in two passes. The first pass updates the primary partition,
and the second pass updates the backup partition. In either pass,
multiple redundant components will be updated.

This patch fixed the existing issues:
1. If BIOS payload is not the final one, the boot partition will
   not be switched in the second pass, resulting in infinite update
   loop.
2. If the system boots in BP1 and tries to update BIOS payload,
   the fwupdate will not run the second pass.

This patch addressed the following concepts:
1. The ResetRequired flag indicates whether a component needs
   a reboot to take effect after it has completed both partition
   updates; while the Reboot flag in FwPolicy indicates whether
   a component needs a reboot to switch partition for the second
   pass.
2. Firmware update status is updated after the component has
   completed both partition updates.
3. The CMDI commands involve platform protection; it should be
   run after the components have completed both partition updates.

Signed-off-by: Vincent Chen <vincent.chen@intel.com>
2023-07-10 10:18:05 -07:00
..
CsmeUpdateDriver Use LF line endings in the repository 2021-11-10 12:46:42 -08:00
FirmwareUpdate fix: fwupdate failed to update backup partition for BIOS payload (#1933) 2023-07-10 10:18:05 -07:00
HelloWorld HelloWorld: Use ConsolePrint to simplify code and fix GCC build 2022-01-13 08:09:25 -08:00
Include Align CSME update with BIOS/driver 2023-04-12 22:59:23 -07:00
Library feat: Fix the HelloWorld build failure 2023-04-11 11:05:29 -07:00
OsLoader fix: multiboot mod string in zero-terminated ASCII format #1913 2023-06-07 14:27:22 -07:00
PayloadPkg.dec Add a PCD to set RTCM RSVD SIZE 2021-11-15 19:05:05 -08:00
PayloadPkg.dsc Fix HelloWorld payload build issue 2022-01-12 07:50:06 -08:00