From 38be1b3221b1e85cac1af8a67c733752265425d7 Mon Sep 17 00:00:00 2001 From: PA4WDH Date: Wed, 25 Aug 2021 12:02:32 +0200 Subject: Add sys-boot/grub-2.06-r1 --- ...-efi-add-definition-of-loadfile2-protocol.patch | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 sys-boot/grub/files/grub-2.06-002-efi-add-definition-of-loadfile2-protocol.patch (limited to 'sys-boot/grub/files/grub-2.06-002-efi-add-definition-of-loadfile2-protocol.patch') 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 +Reviewed-by: Heinrich Schuchardt +Signed-off-by: Nikita Ermakov +--- + 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 -- cgit v1.2.3