Re: [PATCH] don't pass mem_map into init functions

From: Jesse Barnes
Date: Wed Aug 04 2004 - 13:51:43 EST


On Tuesday, August 3, 2004 6:01 pm, Dave Hansen wrote:
> Jesse, could you follow up to this mail with a copy of your patch?
>
> Attached patch is against 2.6.8-rc2-mm2.

Fix up ia64 specific memory map init function in light of Dave's memmap_init
cleanups.

Signed-off-by: Jesse Barnes <jbarnes@xxxxxxx>

Jesse
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__ */