diff --git a/meta-arm-bsp/recipes-bsp/u-boot/u-boot-corstone1000.inc b/meta-arm-bsp/recipes-bsp/u-boot/u-boot-corstone1000.inc index e978e06a..6c56c2fe 100644 --- a/meta-arm-bsp/recipes-bsp/u-boot/u-boot-corstone1000.inc +++ b/meta-arm-bsp/recipes-bsp/u-boot/u-boot-corstone1000.inc @@ -46,6 +46,7 @@ SRC_URI:append = " \ file://0036-corstone1000-add-signature-device-tree-overlay.patch \ file://0037-corstone1000-enable-authenticated-capsule-config.patch \ file://0038-corstone1000-introduce-EFI-authenticated-capsule-upd.patch \ + file://0039-enables-ondisk-capsule-update-feature.patch \ " do_configure:append(){ diff --git a/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0039-enables-ondisk-capsule-update-feature.patch b/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0039-enables-ondisk-capsule-update-feature.patch new file mode 100644 index 00000000..cd002aca --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0039-enables-ondisk-capsule-update-feature.patch @@ -0,0 +1,33 @@ +From e5057a10641a7c84186bcbbcd12ee904300ebc53 Mon Sep 17 00:00:00 2001 +From: Emekcan Aras +Date: Fri, 13 Oct 2023 15:19:32 +0100 +Subject: [PATCH] Enables on-disk capsule update feature + +Enables on-disk capsule update feature for corstone1000. + +Signed-off-by: Emekcan Aras +Upstream-Status: Inappropriate [Redesign of Capsule update interface is required] +--- + lib/efi_loader/efi_capsule.c | 5 ++++ + 1 file changed, 5 insertions(+) + +diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c +index e1c78d8c1c..63e4c06e58 100644 +--- a/lib/efi_loader/efi_capsule.c ++++ b/lib/efi_loader/efi_capsule.c +@@ -1499,7 +1499,12 @@ efi_status_t efi_launch_capsules(void) + index = 0; + ret = efi_capsule_read_file(files[i], &capsule); + if (ret == EFI_SUCCESS) { ++ #if IS_ENABLED(CONFIG_TARGET_CORSTONE1000) ++ /* capsule update only supports 1 image and no scatter gather list for corstone1000 */ ++ efi_update_capsule(&capsule, 1, 0); ++ #elif + ret = efi_capsule_update_firmware(capsule); ++ #endif + if (ret != EFI_SUCCESS) { + log_err("Applying capsule %ls failed.\n", + files[i]); +-- +2.25.1 +