public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [RFC PATCH 0/4] qemu: arm64: Add support for uefi firmware management protocol routines
@ 2020-03-23  7:11 Sughosh Ganu
  2020-03-23  7:11 ` [RFC PATCH 1/4] efidebug: capsule: Add a command to update capsule on disk Sughosh Ganu
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Sughosh Ganu @ 2020-03-23  7:11 UTC (permalink / raw)
  To: u-boot

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'.

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

-- 
2.17.1

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-03-31  5:50 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-23  7:11 [RFC PATCH 0/4] qemu: arm64: Add support for uefi firmware management protocol routines Sughosh Ganu
2020-03-23  7:11 ` [RFC PATCH 1/4] efidebug: capsule: Add a command to update capsule on disk Sughosh Ganu
2020-03-23 11:50   ` Heinrich Schuchardt
2020-03-24  3:49     ` Sughosh Ganu
2020-03-31  3:25       ` Takahiro Akashi
2020-03-23  7:11 ` [RFC PATCH 2/4] semihosting: Change semihosting file operation functions into global symbols Sughosh Ganu
2020-03-23  7:12 ` [RFC PATCH 3/4] semihosting: Add support for writing to a file Sughosh Ganu
2020-03-23  7:12 ` [RFC PATCH 4/4] qemu: arm64: Add support for efi firmware management protocol routines Sughosh Ganu
2020-03-31  5:50   ` Takahiro Akashi
2020-03-23 12:11 ` [RFC PATCH 0/4] qemu: arm64: Add support for uefi " Heinrich Schuchardt
2020-03-24  3:55   ` Sughosh Ganu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox