From: "Andi Kleen" <ak@suse.de>

This removes all but one direct reference to mem_map for x86-64.  This is
needed on systems where we break the mem_map up and directly indexing into
mem_map to get the page structure doesn't work anymore.

Signed-off-by: Matt Tolentino <matthew.e.tolentino@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/x86_64/mm/init.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff -puN arch/x86_64/mm/init.c~x86_64-remove-direct-mem_map-references arch/x86_64/mm/init.c
--- 25/arch/x86_64/mm/init.c~x86_64-remove-direct-mem_map-references	2005-01-09 23:01:33.278324032 -0800
+++ 25-akpm/arch/x86_64/mm/init.c	2005-01-09 23:01:33.282323424 -0800
@@ -68,8 +68,8 @@ void show_mem(void)
 
 	for_each_pgdat(pgdat) {
                for (i = 0; i < pgdat->node_spanned_pages; ++i) {
-                       page = pgdat->node_mem_map + i;
-		total++;
+			page = pfn_to_page(pgdat->node_start_pfn + i);
+			total++;
                        if (PageReserved(page))
 			reserved++;
                        else if (PageSwapCache(page))
@@ -437,7 +437,7 @@ void __init mem_init(void)
 		/*
 		 * Only count reserved RAM pages
 		 */
-		if (page_is_ram(tmp) && PageReserved(mem_map+tmp))
+		if (page_is_ram(tmp) && PageReserved(pfn_to_page(tmp)))
 			reservedpages++;
 #endif
 
_