summaryrefslogtreecommitdiff
path: root/include/efi_loader.h
diff options
context:
space:
mode:
authorAKASHI Takahiro <takahiro.akashi@linaro.org>2020-11-17 03:27:55 +0300
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2020-12-03 23:22:49 +0300
commit2bc27ca8a04aea89c82b5fc4412e889d1ac9f756 (patch)
tree9f5c3ff56156c1dbd585352ff5152937fa74a71d /include/efi_loader.h
parent96ec4b1a18a41a40c920d03bc8954cc18079838d (diff)
downloadu-boot-2bc27ca8a04aea89c82b5fc4412e889d1ac9f756.tar.xz
efi_loader: define UpdateCapsule api
In this commit, skeleton functions for capsule-related API's are added under CONFIG_EFI_UPDATE_CAPSULE configuration. Detailed implementation for a specific capsule type will be added in the succeeding patches. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Diffstat (limited to 'include/efi_loader.h')
-rw-r--r--include/efi_loader.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/efi_loader.h b/include/efi_loader.h
index 3c68b85b68..abd6856b3d 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -210,6 +210,8 @@ extern const efi_guid_t efi_guid_cert_type_pkcs7;
/* GUID of RNG protocol */
extern const efi_guid_t efi_guid_rng_protocol;
+/* GUID of capsule update result */
+extern const efi_guid_t efi_guid_capsule_report;
extern unsigned int __efi_runtime_start, __efi_runtime_stop;
extern unsigned int __efi_runtime_rel_start, __efi_runtime_rel_stop;
@@ -812,6 +814,17 @@ void efi_memcpy_runtime(void *dest, const void *src, size_t n);
/* commonly used helper function */
u16 *efi_create_indexed_name(u16 *buffer, const char *name, unsigned int index);
+/* Capsule update */
+efi_status_t EFIAPI efi_update_capsule(
+ struct efi_capsule_header **capsule_header_array,
+ efi_uintn_t capsule_count,
+ u64 scatter_gather_list);
+efi_status_t EFIAPI efi_query_capsule_caps(
+ struct efi_capsule_header **capsule_header_array,
+ efi_uintn_t capsule_count,
+ u64 *maximum_capsule_size,
+ u32 *reset_type);
+
#else /* CONFIG_IS_ENABLED(EFI_LOADER) */
/* Without CONFIG_EFI_LOADER we don't have a runtime section, stub it out */