Commit 0da64584 authored by Finn Thain's avatar Finn Thain Committed by Geert Uytterhoeven
Browse files

m68k: Avoid pointless recursion in debug console rendering



The recursive call to console_putc to effect a carriage return is
needlessly slow and complicated. Instead, just clear the column counter
directly. Setup %a0 earlier to avoid a repeated comparison.

Signed-off-by: default avatarFinn Thain <fthain@linux-m68k.org>
Tested-by: default avatarStan Johnson <userm57@yahoo.com>
Reviewed-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
Link: https://lore.kernel.org/a6104f41918bed4fd17f92c45df94ac7a5d30e40.1743115195.git.fthain@linux-m68k.org


Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
parent 210a1ce8
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -3533,19 +3533,16 @@ func_start console_putc,%a0/%a1/%d0-%d7
	tstl	%pc@(L(console_font))
	jeq	L(console_exit)

	lea	%pc@(L(console_globals)),%a0

	/* Output character in d7 on console.
	 */
	movel	ARG1,%d7
	cmpib	#'\n',%d7
	jbne	1f
	jne	L(console_not_lf)

	/* A little safe recursion is good for the soul */
	console_putc	#'\r'
1:
	lea	%pc@(L(console_globals)),%a0
	clrl	%a0@(Lconsole_struct_cur_column)	/* implicit \r */

	cmpib	#10,%d7
	jne	L(console_not_lf)
	movel	%a0@(Lconsole_struct_cur_row),%d0
	movel	%a0@(Lconsole_struct_num_rows),%d1
	cmpl	%d1,%d0