1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (c) 2020, Linaro Limited
4  */
5 
6 #if !defined _EFI_LOAD_INITRD_H_
7 #define _EFI_LOAD_INITRD_H_
8 
9 #include <efi.h>
10 #include <efi_api.h>
11 
12 /*
13  * Vendor GUID used by Linux to identify the handle with the
14  * EFI_LOAD_FILE2_PROTOCOL and load an initial ramdisk.
15  */
16 #define EFI_INITRD_MEDIA_GUID \
17 	EFI_GUID(0x5568e427, 0x68fc, 0x4f3d, \
18 		 0xac, 0x74, 0xca, 0x55, 0x52, 0x31, 0xcc, 0x68)
19 extern const efi_guid_t efi_lf2_initrd_guid;
20 
21 /**
22  * struct efi_lo_dp_prefix - separator device path used in load options
23  *
24  * We use vendor media device nodes in UEFI load options to separate
25  * the binary, initrd, and fdt device-paths. This structure contains
26  * the vendor media device node and an end node.
27  *
28  * @vendor:	vendor media device node
29  * @end:	end node
30  */
31 struct efi_lo_dp_prefix {
32 	struct efi_device_path_vendor vendor;
33 	struct efi_device_path end;
34 } __packed;
35 
36 #endif
37