Re: [PATCH v2 1/3] m68k: Fix lost column on framebuffer debug console
From: Andreas Schwab
Date: Wed Mar 19 2025 - 06:08:41 EST
On Mär 19 2025, Finn Thain wrote:
> diff --git a/arch/m68k/kernel/head.S b/arch/m68k/kernel/head.S
> index 852255cf60de..d0d77b1adbde 100644
> --- a/arch/m68k/kernel/head.S
> +++ b/arch/m68k/kernel/head.S
> @@ -3400,6 +3400,7 @@ L(console_clear_loop):
>
> movel %d4,%d1 /* screen height in pixels */
> divul %a0@(FONT_DESC_HEIGHT),%d1 /* d1 = max num rows */
> + subil #1,%d1 /* row range is 0 to num - 1 */
s/subil/subql/
> @@ -3546,15 +3547,14 @@ func_start console_putc,%a0/%a1/%d0-%d7
> cmpib #10,%d7
> jne L(console_not_lf)
> movel %a0@(Lconsole_struct_cur_row),%d0
> - addil #1,%d0
> - movel %d0,%a0@(Lconsole_struct_cur_row)
> movel %a0@(Lconsole_struct_num_rows),%d1
> cmpl %d1,%d0
> jcs 1f
> - subil #1,%d0
> - movel %d0,%a0@(Lconsole_struct_cur_row)
> console_scroll
> + jra L(console_exit)
> 1:
> + addil #1,%d0
s/addil/addql/
> @@ -3581,12 +3581,6 @@ L(console_not_cr):
> */
> L(console_not_home):
> movel %a0@(Lconsole_struct_cur_column),%d0
> - addql #1,%a0@(Lconsole_struct_cur_column)
> - movel %a0@(Lconsole_struct_num_columns),%d1
> - cmpl %d1,%d0
> - jcs 1f
> - console_putc #'\n' /* recursion is OK! */
> -1:
> movel %a0@(Lconsole_struct_cur_row),%d1
>
> /*
> @@ -3633,6 +3627,23 @@ L(console_do_font_scanline):
> addq #1,%d1
> dbra %d7,L(console_read_char_scanline)
>
> + /*
> + * Register usage in the code below:
> + * a0 = pointer to console globals
> + * d0 = cursor column
> + * d1 = cursor column limit
> + */
> +
> + lea %pc@(L(console_globals)),%a0
> +
> + movel %a0@(Lconsole_struct_cur_column),%d0
> + addil #1,%d0
s/addil/addql/
--
Andreas Schwab, schwab@xxxxxxxxxxxxxx
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1
"And now for something completely different."