[RFC PATCH 0/4] qemu: arm64: Add support for uefi firmware management protocol routines
Heinrich Schuchardt
xypron.glpk at gmx.de
Mon Mar 23 13:11:19 CET 2020
On 3/23/20 8:11 AM, Sughosh Ganu wrote:
> This series is based on the capsule update rfc series sent by Takahiro
> Akashi[1].
>
> These routines have been tested on the qemu arm64 platform for
> updating the u-boot firmware through the capsule-on-disk functionality
> of the uefi spec. A sub-command has been added under the 'efidebug
> capsule' category of commands for initiating the firmware update.
>
> The capsule file is placed on the efi system partition(esp), under the
> EFI/UpdateCapsule directory. The BootNext and BootXXXX variables are
> set accordingly by using the 'efidebug boot add' command.
>
> The capsule update can then be initiated by the following command
> 'efidebug capsule disk-update'.
Thanks you for your work on capsule updates.
I am missing here an overview description of the system setup.
I saw a filename bl33.bin. So assume I that you want to use ATF?
In how far is ATF needed for testing the capsule update?
Please, mention the use of semihosting in the overview.
Best regards
Heinrich
>
> The feature can be enabled through the following config options
> CONFIG_EFI_CAPSULE_UPDATE=y
> CONFIG_EFI_CAPSULE_ON_DISK=y
> CONFIG_EFI_CAPSULE_UPDATE_FIRMWARE=y
> CONFIG_EFI_FIRMWARE_MANAGEMENT_PROTOCOL=y
> CONFIG_CMD_EFIDEBUG=y
>
> The GenerateCapsule.py script in edk2 has been used to generate the
> capsule file.
>
> Todo
> * Capsule authentication support.
> * Implement firmware version support.
> * Invoke capsule update functionality during platform boot. This might
> be taken up by Takahiro.
>
> [1] - https://lists.denx.de/pipermail/u-boot/2020-March/403038.html
>
> Sughosh Ganu (4):
> efidebug: capsule: Add a command to update capsule on disk
> semihosting: Change semihosting file operation functions into global
> symbols
> semihosting: Add support for writing to a file
> qemu: arm64: Add support for efi firmware management protocol routines
>
> arch/arm/lib/semihosting.c | 48 ++++++-
> board/emulation/qemu-arm/Kconfig | 12 ++
> board/emulation/qemu-arm/Makefile | 1 +
> board/emulation/qemu-arm/qemu_efi_fmp.c | 173 ++++++++++++++++++++++++
> cmd/efidebug.c | 14 ++
> include/semihosting.h | 14 ++
> 6 files changed, 257 insertions(+), 5 deletions(-)
> create mode 100644 board/emulation/qemu-arm/qemu_efi_fmp.c
> create mode 100644 include/semihosting.h
>
More information about the U-Boot
mailing list