svn commit: r336431 - head/stand/efi/libefi
Ben Widawsky
ben at bwidawsk.net
Wed Jul 18 14:49:54 UTC 2018
On 18-07-17 21:45:14, Warner Losh wrote:
> Author: imp
> Date: Tue Jul 17 21:45:14 2018
> New Revision: 336431
> URL: https://svnweb.freebsd.org/changeset/base/336431
>
> Log:
> Remove bogus attempt to simulate scrolling. It's not needed and messes
> up serial output. Setting the cursor position after every character is
> inefficient, and causes all lines to be over-printed in the serial
> console for the boot loader. Allow the terminal to do the emulation.
>
> This isn't completely perfect when the size of the terminal attached
> to the serial port isn't the same as 80x25 to match the viedoe console
> (or whatever the video console is). While imperfect still, these
> changes make it much better.
>
> This makes the serial port useful with UEFI.
Unfortunately, I still can't use EFI and serial console together reliably, but
when I have used both, this issue was incredibly annoying. Thanks for fixing.
>
> Differential Revision: https://reviews.freebsd.org/D16309
>
> Modified:
> head/stand/efi/libefi/efi_console.c
>
> Modified: head/stand/efi/libefi/efi_console.c
> ==============================================================================
> --- head/stand/efi/libefi/efi_console.c Tue Jul 17 21:18:49 2018 (r336430)
> +++ head/stand/efi/libefi/efi_console.c Tue Jul 17 21:45:14 2018 (r336431)
> @@ -147,20 +147,20 @@ efi_cons_rawputchar(int c)
> switch (c) {
> case '\r':
> curx = 0;
> - curs_move(&curx, &cury, curx, cury);
> + efi_cons_efiputchar('\r');
> return;
> case '\n':
> + efi_cons_efiputchar('\n');
> + efi_cons_efiputchar('\r');
> cury++;
> - if (cury >= y) {
> - efi_cons_efiputchar('\n');
> + if (cury >= y)
> cury--;
> - } else
> - curs_move(&curx, &cury, curx, cury);
> + curx = 0;
> return;
> case '\b':
> if (curx > 0) {
> + efi_cons_efiputchar('\b');
> curx--;
> - curs_move(&curx, &cury, curx, cury);
> }
> return;
> default:
> @@ -175,7 +175,6 @@ efi_cons_rawputchar(int c)
> cury--;
> }
> }
> - curs_move(&curx, &cury, curx, cury);
> #endif
> }
> }
>
More information about the svn-src-all
mailing list