coreboot/payloads/libpayload/drivers/video
Julius Werner 1f880bca06 libpayload: video: Make cursor fixup independent of visibility
The video console runs a video_console_fixup_cursor() function after
every printed character to make sure the cursor is still in the output
window and avoid overflows. For some crazy reason, this function does
not run when cursor_enabled is false... however, that variable is only
about cursor *visibility*, and it's imperative that we still do proper
bounds checking for our output even if the cursor itself doesn't get
displayed (otherwise we can end up overwriting malloc cookies that cause
a panic on the next free() and other fun things like that).

In fact, there seems to be no reason at all to even keep track of the
cursor visibility state in the generic video console framework (the
specific backends already do it, too), so let's remove that code
entirely. Also set the default cursor visibilty in the corebootfb
backend to 0 since that's consistent with what the other backends do.

BUG=None
TEST=Turn on video console on Big, generate enough output to make it
scroll, make sure it does not crash.

Change-Id: I1201a5bccb4711b6ecfc4cf47a8ace16331501b4
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/196323
Reviewed-by: Gabe Black <gabeblack@chromium.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
2014-05-15 05:26:42 +00:00
..
corebootfb.c libpayload: video: Make cursor fixup independent of visibility 2014-05-15 05:26:42 +00:00
font8x16.c Document all of the external code we use in libpayload (trivial). 2008-08-11 20:34:50 +00:00
font8x16.h Various small consistency fixes (trivial): 2008-04-11 18:01:50 +00:00
geodelx.c libpayload: fix garbage on screen with Geode-LX VGA 2010-08-18 21:23:27 +00:00
vga.c Add coreboot framebuffer support to libpayload 2010-03-25 18:56:26 +00:00
video.c libpayload: video: Make cursor fixup independent of visibility 2014-05-15 05:26:42 +00:00