[PATCH 3/3] ARM: early_printk: use printascii() rather than printch()
From: Nicolas Pitre <hidden>
Date: 2017-10-31 17:48:01
Subsystem:
arm port, the rest · Maintainers:
Russell King, Linus Torvalds
On Tue, 31 Oct 2017, Russell King - ARM Linux wrote:
On Tue, Oct 31, 2017 at 01:06:35PM -0400, Nicolas Pitre wrote:quoted
That's easy to veryfy with this patch:Unfortunately not that easy, this patch breaks printch.
Right, missed that. New patch below:
diff --git a/arch/arm/kernel/debug.S b/arch/arm/kernel/debug.S
index ea9646cc2a..0d1cef4b6e 100644
--- a/arch/arm/kernel/debug.S
+++ b/arch/arm/kernel/debug.S@@ -79,25 +79,28 @@ hexbuf: .space 16 ENTRY(printascii) addruart_current r3, r1, r2 - b 2f -1: waituart r2, r3 - senduart r1, r3 - busyuart r2, r3 - teq r1, #'\n' - moveq r1, #'\r' - beq 1b -2: teq r0, #0 +1: teq r0, #0 ldrneb r1, [r0], #1 teqne r1, #0 - bne 1b - ret lr + reteq lr + teq r1, #'\n' + bne 2f + mov r1, '\r' + waituart r2, r3 + senduart r1, r3 + busyuart r2, r3 + mov r1, '\n' +2: waituart r2, r3 + senduart r1, r3 + busyuart r2, r3 + b 1b ENDPROC(printascii) ENTRY(printch) addruart_current r3, r1, r2 mov r1, r0 mov r0, #0 - b 1b + b 2b ENDPROC(printch) #ifdef CONFIG_MMU
quoted
diff --git a/arch/arm/kernel/debug.S b/arch/arm/kernel/debug.S index ea9646cc2a..40023a4871 100644 --- a/arch/arm/kernel/debug.S +++ b/arch/arm/kernel/debug.S@@ -79,18 +79,21 @@ hexbuf: .space 16The new code is:quoted
ENTRY(printascii) addruart_current r3, r1, r2 +1: teq r0, #0 ldrneb r1, [r0], #1 teqne r1, #0 + reteq lr + teq r1, #'\n' + bne 2f + mov r1, '\r' + waituart r2, r3 + senduart r1, r3 + busyuart r2, r3 + mov r1, '\n' +2: waituart r2, r3 + senduart r1, r3 + busyuart r2, r3 + b 1b ENDPROC(printascii)and printch jumps to the 1: label with r0 = 0 and r1 = character. Your change has the effect that the "reteq" will always be taken when called by printch. -- RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line in suburbia: sync at 8.8Mbps down 630kbps up According to speedtest.net: 8.21Mbps down 510kbps up