diff options
Diffstat (limited to 'sys-boot/grub/files/grub-2.06-002-efi-add-definition-of-loadfile2-protocol.patch')
-rw-r--r-- | sys-boot/grub/files/grub-2.06-002-efi-add-definition-of-loadfile2-protocol.patch | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/sys-boot/grub/files/grub-2.06-002-efi-add-definition-of-loadfile2-protocol.patch b/sys-boot/grub/files/grub-2.06-002-efi-add-definition-of-loadfile2-protocol.patch new file mode 100644 index 0000000..35777b5 --- /dev/null +++ b/sys-boot/grub/files/grub-2.06-002-efi-add-definition-of-loadfile2-protocol.patch @@ -0,0 +1,58 @@ +Incorporate the EFI_LOAD_FILE2_PROTOCOL GUID and C types from the +UEFI spec. + +Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com> +Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> +Signed-off-by: Nikita Ermakov <arei@altlinux.org> +--- + grub-core/commands/efi/lsefi.c | 1 + + include/grub/efi/api.h | 15 +++++++++++++++ + 2 files changed, 16 insertions(+) + +diff --git a/grub-core/commands/efi/lsefi.c b/grub-core/commands/efi/lsefi.c +index d1ce99af4..4085f5df2 100644 +--- a/grub-core/commands/efi/lsefi.c ++++ b/grub-core/commands/efi/lsefi.c +@@ -55,6 +55,7 @@ struct known_protocol + { GRUB_EFI_ABSOLUTE_POINTER_PROTOCOL_GUID, "absolute pointer" }, + { GRUB_EFI_DRIVER_BINDING_PROTOCOL_GUID, "EFI driver binding" }, + { GRUB_EFI_LOAD_FILE_PROTOCOL_GUID, "load file" }, ++ { GRUB_EFI_LOAD_FILE2_PROTOCOL_GUID, "load file2" }, + { GRUB_EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID, "simple FS" }, + { GRUB_EFI_TAPE_IO_PROTOCOL_GUID, "tape I/O" }, + { GRUB_EFI_UNICODE_COLLATION_PROTOCOL_GUID, "unicode collation" }, +diff --git a/include/grub/efi/api.h b/include/grub/efi/api.h +index f1a52210c..3de0a7d12 100644 +--- a/include/grub/efi/api.h ++++ b/include/grub/efi/api.h +@@ -149,6 +149,11 @@ + { 0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B } \ + } + ++#define GRUB_EFI_LOAD_FILE2_PROTOCOL_GUID \ ++ { 0x4006c0c1, 0xfcb3, 0x403e, \ ++ { 0x99, 0x6d, 0x4a, 0x6c, 0x87, 0x24, 0xe0, 0x6d } \ ++ } ++ + #define GRUB_EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID \ + { 0x0964e5b22, 0x6459, 0x11d2, \ + { 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \ +@@ -1729,6 +1734,16 @@ struct grub_efi_rng_protocol + }; + typedef struct grub_efi_rng_protocol grub_efi_rng_protocol_t; + ++struct grub_efi_load_file2 ++{ ++ grub_efi_status_t (*load_file)(struct grub_efi_load_file2 *this, ++ grub_efi_device_path_t *file_path, ++ grub_efi_boolean_t boot_policy, ++ grub_efi_uintn_t *buffer_size, ++ void *buffer); ++}; ++typedef struct grub_efi_load_file2 grub_efi_load_file2_t; ++ + #if (GRUB_TARGET_SIZEOF_VOID_P == 4) || defined (__ia64__) \ + || defined (__aarch64__) || defined (__MINGW64__) || defined (__CYGWIN__) \ + || defined(__riscv) +-- +2.29.3 |