Index: linux-2.6.18-mm3/arch/ia64/mm/init.c =================================================================== --- linux-2.6.18-mm3.orig/arch/ia64/mm/init.c 2006-10-07 08:32:21.937980312 -0700 +++ linux-2.6.18-mm3/arch/ia64/mm/init.c 2006-10-07 10:51:32.218958680 -0700 @@ -488,7 +488,11 @@ create_mem_map_page_table (u64 start, u6 node = paddr_to_nid(__pa(start)); for (address = start_page; address < end_page; address += VMEM_MAP_PAGE_SIZE) { +#ifdef CONFIG_VIRTUAL_MEM_MAP_HUGE + pgd = pgd_offset(&init_mm, address) +#else pgd = pgd_offset_k(address); +#endif if (pgd_none(*pgd)) pgd_populate(&init_mm, pgd, alloc_bootmem_pages_node(NODE_DATA(node), PAGE_SIZE)); pud = pud_offset(pgd, address);