svn commit: r344411 - stable/11/stand/efi/libefi
Kyle Evans
kevans at FreeBSD.org
Thu Feb 21 02:50:47 UTC 2019
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
}
}
More information about the svn-src-stable-11
mailing list