The GetMemoryMap() boot service takes a pointer to an efi_uintn_t for the map key. Passing a pointer to an unsigned long fails to compile on 32-bit architectures, where efi_uintn_t is 32-bit:
efi/payload/iomem.c:161:45: error: passing argument 3 of 'BS->get_memory_map' from incompatible pointer type Use the correct type. Assisted-by: Claude:fable-5 Signed-off-by: Ahmad Fatoum <[email protected]> --- efi/payload/iomem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/efi/payload/iomem.c b/efi/payload/iomem.c index 8b92dc47a7b9..515bf05233f8 100644 --- a/efi/payload/iomem.c +++ b/efi/payload/iomem.c @@ -148,7 +148,7 @@ static int efi_barebox_populate_mmap(void) void *mmap_buf = NULL, *desc; efi_status_t efiret; size_t mmap_size; - ulong mapkey; + efi_uintn_t mapkey; size_t descsz; u32 descver; int ret = 0; -- 2.47.3
