diff options
author | AKASHI Takahiro | 2020-11-17 09:27:56 +0900 |
---|---|---|
committer | Heinrich Schuchardt | 2020-12-03 21:22:49 +0100 |
commit | c74cd8bd08d1bbff366a1bfb0cc82a2413fdf106 (patch) | |
tree | be13cf43f98465b77908e1247e3a4eb236987bed /include/efi_loader.h | |
parent | 2bc27ca8a04aea89c82b5fc4412e889d1ac9f756 (diff) |
efi_loader: capsule: add capsule_on_disk support
Capsule data can be loaded into the system either via UpdateCapsule
runtime service or files on a file system (of boot device).
The latter case is called "capsules on disk", and actual updates will
take place at the next boot time.
In this commit, we will support capsule on disk mechanism.
Please note that U-Boot itself has no notion of "boot device" and
all the capsule files to be executed will be detected only if they
are located in a specific directory, \EFI\UpdateCapsule, on a device
that is identified as a boot device by "BootXXXX" variables.
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Diffstat (limited to 'include/efi_loader.h')
-rw-r--r-- | include/efi_loader.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/efi_loader.h b/include/efi_loader.h index abd6856b3d5..de1d24b3334 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -825,6 +825,11 @@ efi_status_t EFIAPI efi_query_capsule_caps( u64 *maximum_capsule_size, u32 *reset_type); +#define EFI_CAPSULE_DIR L"\\EFI\\UpdateCapsule\\" + +/* Hook at initialization */ +efi_status_t efi_launch_capsules(void); + #else /* CONFIG_IS_ENABLED(EFI_LOADER) */ /* Without CONFIG_EFI_LOADER we don't have a runtime section, stub it out */ @@ -841,6 +846,10 @@ static inline void efi_set_bootdev(const char *dev, const char *devnr, const char *path) { } static inline void efi_net_set_dhcp_ack(void *pkt, int len) { } static inline void efi_print_image_infos(void *pc) { } +static inline efi_status_t efi_launch_capsules(void) +{ + return EFI_SUCCESS; +} #endif /* CONFIG_IS_ENABLED(EFI_LOADER) */ |