svn commit: r336431 - head/stand/efi/libefi
Warner Losh
imp at FreeBSD.org
Tue Jul 17 21:45:15 UTC 2018
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.
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