efi_loader: use correct type for AllocatePages, AllocatePool
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Tue, 17 Aug 2021 13:05:31 +0000 (15:05 +0200)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Tue, 17 Aug 2021 15:24:08 +0000 (17:24 +0200)
Use enum efi_memory_type and enum_allocate_type in the definitions of the
efi_allocate_pages(), efi_allocate_pool().

In the external UEFI API leave the type as int as the UEFI specification
explicitely requires that enums use a 32bit type.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
include/efi_loader.h
lib/efi_loader/efi_memory.c

index 32cb8d0..c440962 100644 (file)
@@ -676,13 +676,14 @@ struct efi_device_path *efi_get_dp_from_boot(const efi_guid_t guid);
 /* Generic EFI memory allocator, call this to get memory */
 void *efi_alloc(uint64_t len, int memory_type);
 /* More specific EFI memory allocator, called by EFI payloads */
-efi_status_t efi_allocate_pages(int type, int memory_type, efi_uintn_t pages,
-                               uint64_t *memory);
+efi_status_t efi_allocate_pages(enum efi_allocate_type type,
+                               enum efi_memory_type memory_type,
+                               efi_uintn_t pages, uint64_t *memory);
 /* EFI memory free function. */
 efi_status_t efi_free_pages(uint64_t memory, efi_uintn_t pages);
 /* EFI memory allocator for small allocations */
-efi_status_t efi_allocate_pool(int pool_type, efi_uintn_t size,
-                              void **buffer);
+efi_status_t efi_allocate_pool(enum efi_memory_type pool_type,
+                              efi_uintn_t size, void **buffer);
 /* EFI pool memory free function. */
 efi_status_t efi_free_pool(void *buffer);
 /* Returns the EFI memory map */
index be2f655..f4acbee 100644 (file)
@@ -454,7 +454,8 @@ static uint64_t efi_find_free_memory(uint64_t len, uint64_t max_addr)
  * @memory             allocated memory
  * @return             status code
  */
-efi_status_t efi_allocate_pages(int type, int memory_type,
+efi_status_t efi_allocate_pages(enum efi_allocate_type type,
+                               enum efi_memory_type memory_type,
                                efi_uintn_t pages, uint64_t *memory)
 {
        u64 len = pages << EFI_PAGE_SHIFT;
@@ -556,7 +557,7 @@ efi_status_t efi_free_pages(uint64_t memory, efi_uintn_t pages)
  * @buffer:    allocated memory
  * Return:     status code
  */
-efi_status_t efi_allocate_pool(int pool_type, efi_uintn_t size, void **buffer)
+efi_status_t efi_allocate_pool(enum efi_memory_type pool_type, efi_uintn_t size, void **buffer)
 {
        efi_status_t r;
        u64 addr;