summaryrefslogtreecommitdiff
path: root/arch/arm/kernel
diff options
context:
space:
mode:
authorScott Williams <scwilliams@nvidia.com>2010-12-20 15:40:35 -0800
committerDan Willemsen <dwillemsen@nvidia.com>2011-04-26 15:48:43 -0700
commitbedeade4c470740d2e90bbaaa0ca50cf8b0a6172 (patch)
tree4586837d69fbb0a752662cd2febc2885b11eeef1 /arch/arm/kernel
parentfd4a3d3c3e8c745e448257601e06c999dd02d6e7 (diff)
ARM: Disallow DCC writes from secondary processors
An attempt to access the DCC console from secondary processors will result in those processors hanging because the JTAG debugger can only communicate with one core at a time. Allow DCC output only from CPU 0. Useful for bringup, not necessarily for upstream Original-Change-Id: I9118555438f5b72b16a2dfccd5b6f98860505d6d Reviewed-on: http://git-master/r/13876 Reviewed-by: Scott Williams <scwilliams@nvidia.com> Tested-by: Scott Williams <scwilliams@nvidia.com> Change-Id: I36bb0351e0899f4ad8732fe784623f7eea57dff5
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r--arch/arm/kernel/debug.S10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/kernel/debug.S b/arch/arm/kernel/debug.S
index 90ecfa32a226..db5c62dc9bc5 100644
--- a/arch/arm/kernel/debug.S
+++ b/arch/arm/kernel/debug.S
@@ -164,6 +164,11 @@ ENDPROC(printhex2)
.ltorg
ENTRY(printascii)
+#if defined(CONFIG_DEBUG_ICEDCC) && defined(CONFIG_SMP)
+ mrc p15, 0, r3, c0, c0, 5
+ ands r3, r3, #3
+ movne pc, lr
+#endif
addruart r3, r1
b 2f
1: waituart r2, r3
@@ -180,6 +185,11 @@ ENTRY(printascii)
ENDPROC(printascii)
ENTRY(printch)
+#if defined(CONFIG_DEBUG_ICEDCC) && defined(CONFIG_SMP)
+ mrc p15, 0, r3, c0, c0, 5
+ ands r3, r3, #3
+ movne pc, lr
+#endif
addruart r3, r1
mov r1, r0
mov r0, #0