Message ID | 20200323071201.5992-1-sughosh.ganu@linaro.org |
---|---|
Headers | show |
Series | qemu: arm64: Add support for uefi firmware management protocol routines | expand |
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 >
On Mon, 23 Mar 2020 at 17:41, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote: > 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. > Thanks for looking into this. I will add description of my system setup in the next version. I think i will wait for Takahiro to send his next version of capsule update changes. Will base my next version on top of that. Meanwhile, it would be great if you can review all the patches in the series, so that I can incorporate any review comments in my next version. -sughosh > > 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 > > > >