Raghava Gudla cd2f00fe2c Add Multiple firmware update capsule image support
This patch will add support for updating multiple firmwares
using a single capsule image.

Following modifications are made for existing firmware update flow

1) Gather and validate capsule image
2) State Machine will be set to capsule processing state.
3) Signature of the capsule image is now stored in reserved region
   During each reboot until the end of firmware update, stored signature
   will be compared against the capsule image signature to make sure
   capsule image is not modified until the end of firmware update.
4) Process Capsule image to gather firmware images
5) Each Firmware image information will be stored in reserved region
   using FW_UPDATE_COMP_STATUS. Update pending will be marked to
   update pending state indicating that this image is not processed.
6) Firmware update will use the reserved region comp structures starting
   with the first image with update pending state, update the comp update
   pending field to processing and applies the image. After the update, pending
   field will be updated to Done and updates the status of the update in the
   component structure and moves on to next image found.
7) After all the component structure in the reserved region updating pending
   field are set to Done. Firmware update mode is exited.

Signed-off-by: Raghava Gudla <raghava.gudla@intel.com>
2019-05-23 15:52:47 -07:00
2019-03-13 15:07:00 -07:00
2018-10-30 17:57:10 -07:00
2019-02-21 17:16:02 -08:00
2019-05-14 14:56:29 -07:00
2019-04-30 15:22:05 -07:00
2018-09-28 13:09:10 -07:00
2019-04-03 15:52:20 -07:00

Slim Bootloader

Welcome to the Slim Bootloader project!

Slim Bootloader is an open-source boot firmware solution, built from the ground up to be secure, lightweight, and highly optimized while leveraging robust tools and libraries from the EDK II framework.

What is a Bootloader?

Just like a typical BIOS, Slim Bootloader is the piece of software responsible for initializing the core hardware components of the system when it is powered on, followed by the loading and launching of the desired operating system.

Slim Bootloader offers the flexibility for OEMs, device manufacturers, and hobbyists to isolate, configure, and optimize for the the specific requirements of the system thereby achieving unparalleled boot performance and minimizing firmware footprint.

Supported Platforms

Slim Bootloader currently has support for Apollo Lake based designs including

  • UP Squared maker board
  • Intel Leaf Hill customer reference design

Additionally, Slim Bootloader supports booting a virtual machine via QEMU.

Getting Started

Documentation for compiling, using, and extending Slim Bootloader can be found here.

Mailing List

You can subscribe to our mailing list for questions or share your learnings: https://lists.01.org/mailman/listinfo/sbl-devel

Archives: https://lists.01.org/pipermail/sbl-devel/

License

Slim Bootloader is released under the terms of the BSD license. Please see the LICENSE file for the full terms of the license.

S
Description
No description provided
Readme 26 MiB
Languages
C 62.7%
ASL 24.1%
Python 11.5%
Assembly 1.3%