aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-arm/arch-orion/debug-macro.S
diff options
context:
space:
mode:
authorLennert Buytenhek <buytenh@wantstofly.org>2008-02-07 21:55:17 +0100
committerNicolas Pitre <nico@cam.org>2008-02-08 11:52:23 -0500
commit7f74c2c7f760fdd44116e3dd90a5aeeb9d9333c7 (patch)
tree46d579610a4baa5f9bd7ae7b7a0ed3f60b6628e1 /include/asm-arm/arch-orion/debug-macro.S
parent[ARM] Orion: kill orion_early_putstr() (diff)
downloadlinux-dev-7f74c2c7f760fdd44116e3dd90a5aeeb9d9333c7.tar.xz
linux-dev-7f74c2c7f760fdd44116e3dd90a5aeeb9d9333c7.zip
[ARM] Orion: distinguish between physical and virtual addresses
Hack up the Orion port to distinguish between virtual and physical addresses of register windows. This will allow moving virtual mappings higher up in the address space, to free up more kernel virtual address space. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: Nicolas Pitre <nico@marvell.com>
Diffstat (limited to 'include/asm-arm/arch-orion/debug-macro.S')
-rw-r--r--include/asm-arm/arch-orion/debug-macro.S9
1 files changed, 7 insertions, 2 deletions
diff --git a/include/asm-arm/arch-orion/debug-macro.S b/include/asm-arm/arch-orion/debug-macro.S
index e2a80641f214..2746220f5d85 100644
--- a/include/asm-arm/arch-orion/debug-macro.S
+++ b/include/asm-arm/arch-orion/debug-macro.S
@@ -8,9 +8,14 @@
* published by the Free Software Foundation.
*/
+#include <asm/arch/orion.h>
+
.macro addruart,rx
- mov \rx, #0xf1000000
- orr \rx, \rx, #0x00012000
+ mrc p15, 0, \rx, c1, c0
+ tst \rx, #1 @ MMU enabled?
+ ldreq \rx, =ORION_REGS_PHYS_BASE
+ ldrne \rx, =ORION_REGS_VIRT_BASE
+ orr \rx, \rx, #0x00012000
.endm
#define UART_SHIFT 2