2008-12-10 23:42:34

by Jonathan Barkelew

[permalink] [raw]
Subject: EFI Virtual Address Mapping - MAX PAGES too low?

I've traced a series of kernel panics on one of my projects back to a
failed call to efi_ioremap in efi_64.c. In my project, there is a 4MB
region in the EFI memory map declared as EFI_MEMORY_RUNTIME, but
efi_ioremap fails if the total number of mapped pages is greater than
100:

if (pages_mapped + pages > MAX_EFI_IO_PAGES)
return NULL;

A 4MB runtime region seems to be allowed by the EFI spec. Why is
MAX_EFI_IO_PAGES so low?

----
Jonathan Barkelew
[email protected]