[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 36/37] efi: Add grub_efi_allocate_pool() and grub_efi_free_poo
From: |
Leo Sandoval |
Subject: |
[PATCH v1 36/37] efi: Add grub_efi_allocate_pool() and grub_efi_free_pool() wrappers. |
Date: |
Mon, 7 Oct 2024 12:21:09 -0600 |
From: Peter Jones <pjones@redhat.com>
Signed-off-by: Peter Jones <pjones@redhat.com>
---
include/grub/efi/efi.h | 36 ++++++++++++++++++++++++++++++++----
1 file changed, 32 insertions(+), 4 deletions(-)
diff --git a/include/grub/efi/efi.h b/include/grub/efi/efi.h
index a5cd99e5a..8d98203a7 100644
--- a/include/grub/efi/efi.h
+++ b/include/grub/efi/efi.h
@@ -36,6 +36,10 @@ struct linux_arch_kernel_header {
struct grub_pe_image_header pe_image_header;
};
+/* Variables. */
+extern grub_efi_system_table_t *EXPORT_VAR(grub_efi_system_table);
+extern grub_efi_handle_t EXPORT_VAR(grub_efi_image_handle);
+
/* Functions. */
void *EXPORT_FUNC(grub_efi_locate_protocol) (grub_guid_t *protocol,
void *registration);
@@ -71,6 +75,33 @@ EXPORT_FUNC(grub_efi_get_memory_map) (grub_efi_uintn_t
*memory_map_size,
grub_efi_uintn_t *descriptor_size,
grub_efi_uint32_t *descriptor_version);
void grub_efi_memory_fini (void);
+
+static inline grub_efi_status_t
+__attribute__((__unused__))
+grub_efi_allocate_pool (grub_efi_memory_type_t pool_type,
+ grub_efi_uintn_t buffer_size,
+ void **buffer)
+{
+ grub_efi_boot_services_t *b;
+ grub_efi_status_t status;
+
+ b = grub_efi_system_table->boot_services;
+ status = b->allocate_pool(pool_type, buffer_size, buffer);
+ return status;
+}
+
+static inline grub_efi_status_t
+__attribute__((__unused__))
+grub_efi_free_pool (void *buffer)
+{
+ grub_efi_boot_services_t *b;
+ grub_efi_status_t status;
+
+ b = grub_efi_system_table->boot_services;
+ status = b->free_pool(buffer);
+ return status;
+}
+
grub_efi_loaded_image_t *EXPORT_FUNC(grub_efi_get_loaded_image)
(grub_efi_handle_t image_handle);
void EXPORT_FUNC(grub_efi_print_device_path) (grub_efi_device_path_t *dp);
char *EXPORT_FUNC(grub_efi_get_filename) (grub_efi_device_path_t *dp);
@@ -140,10 +171,7 @@ void grub_efi_init (void);
void grub_efi_fini (void);
void grub_efi_set_prefix (void);
-/* Variables. */
-extern grub_efi_system_table_t *EXPORT_VAR(grub_efi_system_table);
-extern grub_efi_handle_t EXPORT_VAR(grub_efi_image_handle);
-
+/* More variables. */
extern int EXPORT_VAR(grub_efi_is_finished);
struct grub_net_card;
--
2.46.2
- [PATCH v1 28/37] btrfs: fix a bad null check, (continued)
[PATCH v1 36/37] efi: Add grub_efi_allocate_pool() and grub_efi_free_pool() wrappers.,
Leo Sandoval <=
[PATCH v1 20/37] net/tcp: add window scaling support, Leo Sandoval, 2024/10/07
[PATCH v1 32/37] btdfs: grub2-btrfs-05-grub2-mkconfig, Leo Sandoval, 2024/10/07
[PATCH v1 34/37] btrfs: Fallback to old subvol name scheme to support old snapshot config, Leo Sandoval, 2024/10/07
[PATCH v1 29/37] btrfs: export btrfs_subvol and btrfs_subvolid, Leo Sandoval, 2024/10/07
[PATCH v1 35/37] btrfs: Grub not working correctly with btrfs snapshots (bsc#1026511), Leo Sandoval, 2024/10/07