RealView: Make more vmalloc space by changing IO_ADDRESS
authorCatalin Marinas <catalin.marinas@arm.com>
Mon, 10 Nov 2008 14:10:14 +0000 (14:10 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Mon, 10 Nov 2008 14:10:14 +0000 (14:10 +0000)
Since boards like PB11MPCore have 512MB of RAM and 128MB of flash, the
virtual space is short on vmalloc memory and mapping the flash fails.
This patch changes the IO_ADDRESS so that static mappings start at
0xfc000000 and moves the PCI virtual addresses higher up. The new
VMALLOC_END is set to 0xf8000000 (512MB higher than the old value).

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm/mach-realview/include/mach/debug-macro.S
arch/arm/mach-realview/include/mach/hardware.h
arch/arm/mach-realview/include/mach/vmalloc.h

index d0076ca..f072d88 100644 (file)
@@ -35,7 +35,7 @@
                mrc     p15, 0, \rx, c1, c0
                tst     \rx, #1                 @ MMU enabled?
                moveq   \rx,      #0x10000000
-               movne   \rx,      #0xf0000000   @ virtual base
+               movne   \rx,      #0xfb000000   @ virtual base
                orr     \rx, \rx, #DEBUG_LL_UART_OFFSET
                .endm
 
index 79a93b3..b42c14f 100644 (file)
 #include <asm/sizes.h>
 
 /* macro to get at IO space when running virtually */
-#define IO_ADDRESS(x)          (((x) & 0x0fffffff) + 0xf0000000)
+/*
+ * Statically mapped addresses:
+ *
+ * 10xx xxxx -> fbxx xxxx
+ * 1exx xxxx -> fdxx xxxx
+ * 1fxx xxxx -> fexx xxxx
+ */
+#define IO_ADDRESS(x)          (((x) & 0x03ffffff) + 0xfb000000)
 #define __io_address(n)                __io(IO_ADDRESS(n))
 
 #endif
index 48cbcc8..fe0de1b 100644 (file)
@@ -18,4 +18,4 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
-#define VMALLOC_END            (PAGE_OFFSET + 0x18000000)
+#define VMALLOC_END            0xf8000000