summaryrefslogtreecommitdiff
path: root/include/efi_loader.h
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2020-12-03 16:21:51 -0500
committerTom Rini <[email protected]>2020-12-03 16:21:51 -0500
commit5157ea526142ace7b0b19939b0d31ace4276cda7 (patch)
treec4d017c6ba1e3467f2e1ff96b29e93488b62668b /include/efi_loader.h
parenta2c832471115d382d6dd60697be5bc74d2636eea (diff)
parent3616b4f4b97411db8721ae38c0fb29e145f1aed6 (diff)
Merge tag 'efi-next' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi into next
Pull request for UEFI sub-system for next This pull request adds: * eventlog support for TCG2_PROTOCOL * UEFI capusule updates It replace printf by log in efi_uclass.c
Diffstat (limited to 'include/efi_loader.h')
-rw-r--r--include/efi_loader.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/efi_loader.h b/include/efi_loader.h
index 3c68b85b68e..76cd2b36f2b 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -210,6 +210,10 @@ 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;
+/* GUID of firmware management protocol */
+extern const efi_guid_t efi_guid_firmware_management_protocol;
extern unsigned int __efi_runtime_start, __efi_runtime_stop;
extern unsigned int __efi_runtime_rel_start, __efi_runtime_rel_stop;
@@ -812,6 +816,25 @@ 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);
+extern const struct efi_firmware_management_protocol efi_fmp_fit;
+extern const struct efi_firmware_management_protocol efi_fmp_raw;
+
+/* 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);
+
+#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 */
@@ -828,6 +851,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) */