microblaze: Calculate kernel pad automatically
authorMichal Simek <michal.simek@xilinx.com>
Wed, 6 Nov 2013 15:36:08 +0000 (16:36 +0100)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 7 Nov 2013 08:22:40 +0000 (09:22 +0100)
The kernel needs to setup the first two tlbs with pad
which is used for early page allocation which is used
by mapin_ram() to allocate tables for lowmem memory
before memory initialisation is done.
Calculate pad directly from lowmem size.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
arch/microblaze/Kconfig
arch/microblaze/kernel/head.S

index d8ec74b4d1ee9ba3465f20a63188bea1bcab4458..655e1cadf6924ea54ab19b1274ede3d2a7b5e46b 100644 (file)
@@ -245,10 +245,6 @@ config MICROBLAZE_64K_PAGES
 
 endchoice
 
-config KERNEL_PAD
-       hex "Kernel PAD for unpacking" if ADVANCED_OPTIONS
-       default "0x80000" if MMU
-
 endmenu
 
 source "mm/Kconfig"
index fcc797feb9dbd5df1b654b1a5ace439c35167553..817b7eec95b6de981edb751b8d13bd7cb657abd8 100644 (file)
@@ -176,7 +176,7 @@ _invalidate:
        /* start to do TLB calculation */
        addik   r12, r0, _end
        rsub    r12, r3, r12
-       addik   r12, r12, CONFIG_KERNEL_PAD /* that's the pad */
+       addik   r12, r12, CONFIG_LOWMEM_SIZE >> PTE_SHIFT /* that's the pad */
 
        or r9, r0, r0 /* TLB0 = 0 */
        or r10, r0, r0 /* TLB1 = 0 */