diff options
Diffstat (limited to 'arch/arm/kernel/debug.S')
-rw-r--r-- | arch/arm/kernel/debug.S | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/arch/arm/kernel/debug.S b/arch/arm/kernel/debug.S index 204e2160cfcc..e5a765c5f06a 100644 --- a/arch/arm/kernel/debug.S +++ b/arch/arm/kernel/debug.S | |||
@@ -100,7 +100,7 @@ | |||
100 | 100 | ||
101 | #endif /* CONFIG_CPU_V6 */ | 101 | #endif /* CONFIG_CPU_V6 */ |
102 | 102 | ||
103 | #else | 103 | #elif !defined(CONFIG_DEBUG_SEMIHOSTING) |
104 | #include <mach/debug-macro.S> | 104 | #include <mach/debug-macro.S> |
105 | #endif /* CONFIG_DEBUG_ICEDCC */ | 105 | #endif /* CONFIG_DEBUG_ICEDCC */ |
106 | 106 | ||
@@ -155,6 +155,8 @@ hexbuf: .space 16 | |||
155 | 155 | ||
156 | .ltorg | 156 | .ltorg |
157 | 157 | ||
158 | #ifndef CONFIG_DEBUG_SEMIHOSTING | ||
159 | |||
158 | ENTRY(printascii) | 160 | ENTRY(printascii) |
159 | addruart_current r3, r1, r2 | 161 | addruart_current r3, r1, r2 |
160 | b 2f | 162 | b 2f |
@@ -177,3 +179,24 @@ ENTRY(printch) | |||
177 | mov r0, #0 | 179 | mov r0, #0 |
178 | b 1b | 180 | b 1b |
179 | ENDPROC(printch) | 181 | ENDPROC(printch) |
182 | |||
183 | #else | ||
184 | |||
185 | ENTRY(printascii) | ||
186 | mov r1, r0 | ||
187 | mov r0, #0x04 @ SYS_WRITE0 | ||
188 | ARM( svc #0x123456 ) | ||
189 | THUMB( svc #0xab ) | ||
190 | mov pc, lr | ||
191 | ENDPROC(printascii) | ||
192 | |||
193 | ENTRY(printch) | ||
194 | adr r1, hexbuf | ||
195 | strb r0, [r1] | ||
196 | mov r0, #0x03 @ SYS_WRITEC | ||
197 | ARM( svc #0x123456 ) | ||
198 | THUMB( svc #0xab ) | ||
199 | mov pc, lr | ||
200 | ENDPROC(printch) | ||
201 | |||
202 | #endif | ||