EFI_PAGE_SIZE
map_size = roundup2(map_size, EFI_PAGE_SIZE);
map_size += EFI_PAGE_SIZE;
trampoline = (void *)(uintptr_t)relocator + EFI_PAGE_SIZE;
memmove(trampoline, multiboot_tramp, EFI_PAGE_SIZE);
relocator->rel_copy = (uintptr_t)trampoline + EFI_PAGE_SIZE;
memmove((void *)relocator->rel_copy, efi_copy_finish, EFI_PAGE_SIZE);
relocator->rel_memmove = (uintptr_t)relocator->rel_copy + EFI_PAGE_SIZE;
memmove((void *)relocator->rel_memmove, memmove, EFI_PAGE_SIZE);
relocator->rel_stack = relocator->rel_memmove + EFI_PAGE_SIZE - 8;
size = EFI_PAGE_SIZE; /* Start with 4k. */
size += (EFI_PAGE_SIZE);
size = roundup2(size, EFI_PAGE_SIZE);
if ((relocator = malloc(EFI_PAGE_SIZE * 5)) == NULL) {
if (overlaps((uintptr_t)relocator, EFI_PAGE_SIZE * 5,
num = (EFI_PAGE_SIZE - offsetof(struct relocator, rel_chunklist)) /
bzero((void *)trampcode, EFI_PAGE_SIZE);
trampstack = trampcode + EFI_PAGE_SIZE - 8;
bzero(PT4, 3 * EFI_PAGE_SIZE);
sz = (EFI_PAGE_SIZE * pages) - bisz;
sz = (EFI_PAGE_SIZE * pages) - efisz;
#define EFI_PAGE_MASK (EFI_PAGE_SIZE - 1)