UEFI Support¶
UEFI stub library functions¶
-
efi_status_t
efi_get_memory_map
(struct efi_boot_memmap *map)¶ get memory map
Parameters
struct efi_boot_memmap *map
- on return pointer to memory map
Description
Retrieve the UEFI memory map. The allocated memory leaves room for up to EFI_MMAP_NR_SLACK_SLOTS additional memory map entries.
Return
status code
-
efi_status_t
efi_allocate_pages
(unsigned long size, unsigned long *addr, unsigned long max)¶ Allocate memory pages
Parameters
unsigned long size
- minimum number of bytes to allocate
unsigned long *addr
- On return the address of the first allocated page. The first allocated page has alignment EFI_ALLOC_ALIGN which is an architecture dependent multiple of the page size.
unsigned long max
- the address that the last allocated memory page shall not exceed
Description
Allocate pages as EFI_LOADER_DATA. The allocated pages are aligned according to EFI_ALLOC_ALIGN. The last allocated page will not exceed the address given by max.
Return
status code
-
void
efi_free
(unsigned long size, unsigned long addr)¶ free memory pages
Parameters
unsigned long size
- size of the memory area to free in bytes
unsigned long addr
- start of the memory area to free (must be EFI_PAGE_SIZE aligned)
Description
size is rounded up to a multiple of EFI_ALLOC_ALIGN which is an
architecture specific multiple of EFI_PAGE_SIZE. So this function should
only be used to return pages allocated with efi_allocate_pages()
or
efi_low_alloc_above().