[PATCH] ppc64: Fix oops for !CONFIG_NUMA
authorMichael Ellerman <michael@ellerman.id.au>
Tue, 6 Sep 2005 11:00:02 +0000 (21:00 +1000)
committerPaul Mackerras <paulus@samba.org>
Fri, 9 Sep 2005 12:11:34 +0000 (22:11 +1000)
The SPARSEMEM EXTREME code (802f192e4a600f7ef84ca25c8b818c8830acef5a) that
went in yesterday broke PPC64 for !CONFIG_NUMA.

The problem is that (free|reserve)_bootmem don't take a page number as their
first argument, they take an address. Ruh roh.

Booted on P5 LPAR, iSeries and G5.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/ppc64/mm/init.c

index a14ab87df49114dbc9d02566b5014d4e91d0b939..c2157c9c3acbfc585f1cf3a729a28be861564259 100644 (file)
@@ -554,12 +554,12 @@ void __init do_init_bootmem(void)
         * present.
         */
        for (i=0; i < lmb.memory.cnt; i++)
-               free_bootmem(lmb_start_pfn(&lmb.memory, i),
+               free_bootmem(lmb.memory.region[i].base,
                             lmb_size_bytes(&lmb.memory, i));
 
        /* reserve the sections we're already using */
        for (i=0; i < lmb.reserved.cnt; i++)
-               reserve_bootmem(lmb_start_pfn(&lmb.reserved, i),
+               reserve_bootmem(lmb.reserved.region[i].base,
                                lmb_size_bytes(&lmb.reserved, i));
 
        for (i=0; i < lmb.memory.cnt; i++)