powerpc/8xx: Fixing memory init issue with CONFIG_PIN_TLB
authorLEROY Christophe <christophe.leroy@c-s.fr>
Fri, 11 Oct 2013 12:56:40 +0000 (14:56 +0200)
committerScott Wood <scottwood@freescale.com>
Tue, 29 Oct 2013 02:11:22 +0000 (21:11 -0500)
Activating CONFIG_PIN_TLB allows access to the 24 first Mbytes of
memory at bootup instead of 8.  It is needed for "big" kernels for
instance when activating CONFIG_LOCKDEP_SUPPORT.  This needs to be
taken into account in init_32 too, otherwise memory allocation soon
fails after startup.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Acked-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Signed-off-by: Scott Wood <scottwood@freescale.com>
arch/powerpc/mm/init_32.c

index d47d3dab4870988c77540de11030f747b085fc22..cff59f1bec238bd41fbcd246d6a732ccc357e1ce 100644 (file)
@@ -213,7 +213,12 @@ void setup_initial_memory_limit(phys_addr_t first_memblock_base,
         */
        BUG_ON(first_memblock_base != 0);
 
+#ifdef CONFIG_PIN_TLB
+       /* 8xx can only access 24MB at the moment */
+       memblock_set_current_limit(min_t(u64, first_memblock_size, 0x01800000));
+#else
        /* 8xx can only access 8MB at the moment */
        memblock_set_current_limit(min_t(u64, first_memblock_size, 0x00800000));
+#endif
 }
 #endif /* CONFIG_8xx */