diff -Napur -X /home/jbarnes/dontdiff linux-2.6.8-rc2-mm2.orig/arch/ia64/mm/init.c linux-2.6.8-rc2-mm2/arch/ia64/mm/init.c --- linux-2.6.8-rc2-mm2.orig/arch/ia64/mm/init.c 2004-08-04 11:45:06.000000000 -0700 +++ linux-2.6.8-rc2-mm2/arch/ia64/mm/init.c 2004-08-04 11:47:29.000000000 -0700 @@ -433,14 +433,16 @@ virtual_memmap_init (u64 start, u64 end, } void -memmap_init (struct page *start, unsigned long size, int nid, - unsigned long zone, unsigned long start_pfn) +memmap_init (unsigned long size, int nid, unsigned long zone, + unsigned long start_pfn) { if (!vmem_map) memmap_init_zone(start, size, nid, zone, start_pfn); else { + struct page *start; struct memmap_init_callback_data args; + start = pfn_to_page(start_pfn); args.start = start; args.end = start + size; args.nid = nid; diff -Napur -X /home/jbarnes/dontdiff linux-2.6.8-rc2-mm2.orig/include/asm-ia64/pgtable.h linux-2.6.8-rc2-mm2/include/asm-ia64/pgtable.h --- linux-2.6.8-rc2-mm2.orig/include/asm-ia64/pgtable.h 2004-08-04 11:45:08.000000000 -0700 +++ linux-2.6.8-rc2-mm2/include/asm-ia64/pgtable.h 2004-08-04 11:45:40.000000000 -0700 @@ -520,7 +520,7 @@ do { \ # ifdef CONFIG_VIRTUAL_MEM_MAP /* arch mem_map init routine is needed due to holes in a virtual mem_map */ # define __HAVE_ARCH_MEMMAP_INIT - extern void memmap_init (struct page *start, unsigned long size, int nid, unsigned long zone, + extern void memmap_init (unsigned long size, int nid, unsigned long zone, unsigned long start_pfn); # endif /* CONFIG_VIRTUAL_MEM_MAP */ # endif /* !__ASSEMBLY__ */