Something went wrong. Try again.
(I'm so sorry!) Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849/* SPDX-License-Identifier: GPL-2.0 */#include <linux/linkage.h>#include <asm/assembler.h>
#ifndef CONFIG_DEBUG_SEMIHOSTING
#include CONFIG_DEBUG_LL_INCLUDE
ENTRY(putc) addruart r1, r2, r3#ifdef CONFIG_DEBUG_UART_FLOW_CONTROL waituartcts r3, r1#endif waituarttxrdy r3, r1 senduart r0, r1 busyuart r3, r1 mov pc, lrENDPROC(putc)
#else
ENTRY(putc) adr r1, 1f ldmia r1, {r2, r3} add r2, r2, r1 ldr r1, [r2, r3] strb r0, [r1] mov r0, #0x03 @ SYS_WRITEC ARM( svc #0x123456 )#ifdef CONFIG_CPU_V7M THUMB( bkpt #0xab )#else THUMB( svc #0xab )#endif mov pc, lr .align 21: .word _GLOBAL_OFFSET_TABLE_ - . .word semi_writec_buf(GOT)ENDPROC(putc)
.bss .global semi_writec_buf .type semi_writec_buf, %objectsemi_writec_buf: .space 4 .size semi_writec_buf, 4
#endif