[PATCH] x86_64: Use correct PUD for memory hotadd
authorJan Beulich <jbeulich@novell.com>
Sat, 25 Mar 2006 15:29:03 +0000 (16:29 +0100)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sat, 25 Mar 2006 17:10:52 +0000 (09:10 -0800)
Memory >39bits has a different PUD.

Cc: "Tolentino, Matthew E" <matthew.e.tolentino@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/x86_64/mm/init.c

index 40ed13d263cd5ccccb6a210cee4b0005927822fc..675a4569133888e3d93dedb827d1edd19f1ff76c 100644 (file)
@@ -344,7 +344,7 @@ void __meminit init_memory_mapping(unsigned long start, unsigned long end)
                pud_t *pud;
 
                if (after_bootmem)
-                       pud = pud_offset_k(pgd, __PAGE_OFFSET);
+                       pud = pud_offset_k(pgd, start & PGDIR_MASK);
                else
                        pud = alloc_low_page(&map, &pud_phys);