]> git.ipfire.org Git - thirdparty/kernel/linux.git/blame - arch/arm/boot/compressed/debug.S
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[thirdparty/kernel/linux.git] / arch / arm / boot / compressed / debug.S
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
3b4af9bc
SG
2#include <linux/linkage.h>
3#include <asm/assembler.h>
4
27523679
NP
5#ifndef CONFIG_DEBUG_SEMIHOSTING
6
3b4af9bc
SG
7#include CONFIG_DEBUG_LL_INCLUDE
8
9ENTRY(putc)
10 addruart r1, r2, r3
11 waituart r3, r1
12 senduart r0, r1
13 busyuart r3, r1
14 mov pc, lr
15ENDPROC(putc)
27523679
NP
16
17#else
18
19ENTRY(putc)
20 adr r1, 1f
21 ldmia r1, {r2, r3}
22 add r2, r2, r1
23 ldr r1, [r2, r3]
24 strb r0, [r1]
25 mov r0, #0x03 @ SYS_WRITEC
26 ARM( svc #0x123456 )
ee3eaee6
NP
27#ifdef CONFIG_CPU_V7M
28 THUMB( bkpt #0xab )
29#else
27523679 30 THUMB( svc #0xab )
ee3eaee6 31#endif
27523679
NP
32 mov pc, lr
33 .align 2
341: .word _GLOBAL_OFFSET_TABLE_ - .
35 .word semi_writec_buf(GOT)
36ENDPROC(putc)
37
38 .bss
39 .global semi_writec_buf
40 .type semi_writec_buf, %object
41semi_writec_buf:
42 .space 4
43 .size semi_writec_buf, 4
44
45#endif