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
This commit is contained in:
Warner Losh 2018-07-17 21:45:14 +00:00
parent fc4d56e7a2
commit 5a399a1a39
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=336431

View File

@ -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
}
}