]> err.no Git - linux-2.6/blobdiff - arch/powerpc/mm/ppc_mmu_32.c
[RAPIDIO] Add OF-tree support to RapidIO controller driver
[linux-2.6] / arch / powerpc / mm / ppc_mmu_32.c
index 5c45d474cfcc91d2b09211974fad4508e3de3af0..cef9f156874befc8716003c046edb4c9c53c7334 100644 (file)
 #include <linux/mm.h>
 #include <linux/init.h>
 #include <linux/highmem.h>
+#include <linux/lmb.h>
 
 #include <asm/prom.h>
 #include <asm/mmu.h>
 #include <asm/machdep.h>
-#include <asm/lmb.h>
 
 #include "mmu_decl.h"
 
@@ -82,7 +82,6 @@ unsigned long __init mmu_mapin_ram(void)
 #else
        unsigned long tot, bl, done;
        unsigned long max_size = (256<<20);
-       unsigned long align;
 
        if (__map_without_bats) {
                printk(KERN_DEBUG "RAM mapped without BATs\n");
@@ -93,19 +92,13 @@ unsigned long __init mmu_mapin_ram(void)
 
        /* Make sure we don't map a block larger than the
           smallest alignment of the physical address. */
-       /* alignment of PPC_MEMSTART */
-       align = ~(PPC_MEMSTART-1) & PPC_MEMSTART;
-       /* set BAT block size to MIN(max_size, align) */
-       if (align && align < max_size)
-               max_size = align;
-
        tot = total_lowmem;
        for (bl = 128<<10; bl < max_size; bl <<= 1) {
                if (bl * 2 > tot)
                        break;
        }
 
-       setbat(2, KERNELBASE, PPC_MEMSTART, bl, _PAGE_RAM);
+       setbat(2, KERNELBASE, 0, bl, _PAGE_RAM);
        done = (unsigned long)bat_addrs[2].limit - KERNELBASE + 1;
        if ((done < tot) && !bat_addrs[3].limit) {
                /* use BAT3 to cover a bit more */
@@ -113,7 +106,7 @@ unsigned long __init mmu_mapin_ram(void)
                for (bl = 128<<10; bl < max_size; bl <<= 1)
                        if (bl * 2 > tot)
                                break;
-               setbat(3, KERNELBASE+done, PPC_MEMSTART+done, bl, _PAGE_RAM);
+               setbat(3, KERNELBASE+done, done, bl, _PAGE_RAM);
                done = (unsigned long)bat_addrs[3].limit - KERNELBASE + 1;
        }
 
@@ -240,7 +233,7 @@ void __init MMU_init_hw(void)
         */
        if ( ppc_md.progress ) ppc_md.progress("hash:find piece", 0x322);
        Hash = __va(lmb_alloc_base(Hash_size, Hash_size,
-                                  __initial_memory_limit));
+                                  __initial_memory_limit_addr));
        cacheable_memzero(Hash, Hash_size);
        _SDR1 = __pa(Hash) | SDR1_LOW_BITS;