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:
parent
cf0f64b8a6
commit
fc9b91fa77
@ -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
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user