aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/debug.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/kernel/debug.S')
-rw-r--r--arch/arm/kernel/debug.S30
1 files changed, 25 insertions, 5 deletions
diff --git a/arch/arm/kernel/debug.S b/arch/arm/kernel/debug.S
index b121b6053cc..a38b4879441 100644
--- a/arch/arm/kernel/debug.S
+++ b/arch/arm/kernel/debug.S
@@ -24,7 +24,7 @@
24 24
25#if defined(CONFIG_CPU_V6) 25#if defined(CONFIG_CPU_V6)
26 26
27 .macro addruart, rx 27 .macro addruart, rx, tmp
28 .endm 28 .endm
29 29
30 .macro senduart, rd, rx 30 .macro senduart, rd, rx
@@ -49,9 +49,29 @@
491002: 491002:
50 .endm 50 .endm
51 51
52#elif defined(CONFIG_CPU_V7)
53
54 .macro addruart, rx, tmp
55 .endm
56
57 .macro senduart, rd, rx
58 mcr p14, 0, \rd, c0, c5, 0
59 .endm
60
61 .macro busyuart, rd, rx
62busy: mrc p14, 0, pc, c0, c1, 0
63 bcs busy
64 .endm
65
66 .macro waituart, rd, rx
67wait: mrc p14, 0, pc, c0, c1, 0
68 bcs wait
69
70 .endm
71
52#elif defined(CONFIG_CPU_XSCALE) 72#elif defined(CONFIG_CPU_XSCALE)
53 73
54 .macro addruart, rx 74 .macro addruart, rx, tmp
55 .endm 75 .endm
56 76
57 .macro senduart, rd, rx 77 .macro senduart, rd, rx
@@ -78,7 +98,7 @@
78 98
79#else 99#else
80 100
81 .macro addruart, rx 101 .macro addruart, rx, tmp
82 .endm 102 .endm
83 103
84 .macro senduart, rd, rx 104 .macro senduart, rd, rx
@@ -144,7 +164,7 @@ ENDPROC(printhex2)
144 .ltorg 164 .ltorg
145 165
146ENTRY(printascii) 166ENTRY(printascii)
147 addruart r3 167 addruart r3, r1
148 b 2f 168 b 2f
1491: waituart r2, r3 1691: waituart r2, r3
150 senduart r1, r3 170 senduart r1, r3
@@ -160,7 +180,7 @@ ENTRY(printascii)
160ENDPROC(printascii) 180ENDPROC(printascii)
161 181
162ENTRY(printch) 182ENTRY(printch)
163 addruart r3 183 addruart r3, r1
164 mov r1, r0 184 mov r1, r0
165 mov r0, #0 185 mov r0, #0
166 b 1b 186 b 1b