Date: Thu, 21 Feb 2019 02:50:46 +0000 (UTC) From: Kyle Evans <kevans@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r344411 - stable/11/stand/efi/libefi Message-ID: <201902210250.x1L2okVU089314@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kevans Date: Thu Feb 21 02:50:45 2019 New Revision: 344411 URL: https://svnweb.freebsd.org/changeset/base/344411 Log: MFC r336431: stand: Fix UEFI console scrolling 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. Modified: stable/11/stand/efi/libefi/efi_console.c Directory Properties: stable/11/ (props changed) Modified: stable/11/stand/efi/libefi/efi_console.c ============================================================================== --- stable/11/stand/efi/libefi/efi_console.c Thu Feb 21 02:48:38 2019 (r344410) +++ stable/11/stand/efi/libefi/efi_console.c Thu Feb 21 02:50:45 2019 (r344411) @@ -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 } }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201902210250.x1L2okVU089314>