aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorIlias Apalodimas2021-03-17 21:54:58 +0200
committerHeinrich Schuchardt2021-03-25 20:14:25 +0100
commit76e8acce12fe6e914fdab422c8af44956c1dac04 (patch)
tree9661c73b35ed5dd0912ff068b4cfa8f7c6b38a5c /include
parent7dbd7dd399a8b0fe17a4ce1da421b48c0621532b (diff)
efi_loader: Add device path related functions for initrd via Boot####
On the following patches we allow for an initrd path to be stored in Boot#### variables. Specifically we encode in the FIlePathList[] of the EFI_LOAD_OPTIONS for each Boot#### variable. The FilePathList[] array looks like this: kernel - 0xff - VenMedia(initrd GUID) - initrd1 - 0x01 initrd2 - 0xff So let's add the relevant functions to concatenate and retrieve a device path based on a Vendor GUID. Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reformat function descriptions. Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Diffstat (limited to 'include')
-rw-r--r--include/efi_loader.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/efi_loader.h b/include/efi_loader.h
index 68daa1a4a9d..5d534e69bb5 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -744,6 +744,10 @@ struct efi_load_option {
const u8 *optional_data;
};
+struct efi_device_path *efi_dp_from_lo(struct efi_load_option *lo,
+ efi_uintn_t *size, efi_guid_t guid);
+struct efi_device_path *efi_dp_concat(const struct efi_device_path *dp1,
+ const struct efi_device_path *dp2);
efi_status_t efi_deserialize_load_option(struct efi_load_option *lo, u8 *data,
efi_uintn_t *size);
unsigned long efi_serialize_load_option(struct efi_load_option *lo, u8 **data);