From 2f254e1e0531bae5115a0789925f0a84ed8b1432 Mon Sep 17 00:00:00 2001 From: Yinghai Lu Date: Thu, 29 May 2008 12:57:22 -0700 Subject: [PATCH] --- yaml --- r: 99715 b: refs/heads/master c: 163872950dc856fd23849c27f60049feaac49ae6 h: refs/heads/master i: 99713: 2bd86a3e12f0b39bc8636e4ba323d4c74eb281d9 99711: 7b07a8d440b20ce21a608292b3abaa212f7f007a v: v3 --- [refs] | 2 +- trunk/arch/x86/mm/discontig_32.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index ceac9eb1d264..b332671e200e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f0d43100f13be0fa5bf52741d7084bb27f00e621 +refs/heads/master: 163872950dc856fd23849c27f60049feaac49ae6 diff --git a/trunk/arch/x86/mm/discontig_32.c b/trunk/arch/x86/mm/discontig_32.c index 914ccf983687..47749727907e 100644 --- a/trunk/arch/x86/mm/discontig_32.c +++ b/trunk/arch/x86/mm/discontig_32.c @@ -159,8 +159,13 @@ static void __init allocate_pgdat(int nid) if (nid && node_has_online_mem(nid)) NODE_DATA(nid) = (pg_data_t *)node_remap_start_vaddr[nid]; else { - NODE_DATA(nid) = (pg_data_t *)(pfn_to_kaddr(min_low_pfn)); - min_low_pfn += PFN_UP(sizeof(pg_data_t)); + unsigned long pgdat_phys; + pgdat_phys = find_e820_area(min_low_pfn<>PAGE_SHIFT)); + reserve_early(pgdat_phys, pgdat_phys + sizeof(pg_data_t), + "NODE_DATA"); } }