Attention is currently required from: Krystian Hebel, Patrick Rudolph.
Hello Krystian Hebel, Patrick Rudolph, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/83422?usp=email
to look at the new patch set (#3).
The following approvals got outdated and were removed: Verified+1 by build bot (Jenkins)
Change subject: drivers/efi/uefi_capsules.c: coalesce and store UEFI capsules ......................................................................
drivers/efi/uefi_capsules.c: coalesce and store UEFI capsules
How it approximately works:
(During a normal system run): 1. OS puts a capsule into RAM and calls UpdateCapsule() function of EFI runtime 2. If applying the update requires a reboot, EFI implementation creates a new CapsuleUpdateData* EFI variable pointing at the beginning of capsules description (not data, but description of the data) and does a warm reboot leaving capsule data and its description in RAM to be picked by firmware on the next boot process
(After DEV_INIT:) 3. Capsules are discovered by checking for CapsuleUpdateData* variables 4. Capsule description in memory and capsule data is validated for sanity 5. Capsule data is coalesced into a continuous piece of memory
(On BS_WRITE_TABLES via dasharo_add_capsules_to_bootmem() hook:) 6. Buffer with coalesced capsules is marked as reserved
(On BS_WRITE_TABLES via lb_uefi_capsules() hook:) 7. coreboot table entry is added for each of the discovered capsules
(In UEFI payload:) 8. CapsuleUpdateData* get removed 9. coreboot table is checked for any update capsules which are then applied
Change-Id: I162d678ae5c504906084b59c1a8d8c26dadb9433 Signed-off-by: Sergii Dmytruk sergii.dmytruk@3mdeb.com --- M src/commonlib/include/commonlib/coreboot_tables.h M src/drivers/efi/Kconfig M src/drivers/efi/Makefile.mk A src/drivers/efi/capsules.c A src/drivers/efi/capsules.h M src/include/boot/coreboot_tables.h M src/lib/bootmem.c M src/lib/coreboot_table.c M src/security/memory/memory_clear.c 9 files changed, 815 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/22/83422/3