summaryrefslogtreecommitdiff
path: root/payloads/libpayload/drivers/video/video.c
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/libpayload/drivers/video/video.c')
-rw-r--r--payloads/libpayload/drivers/video/video.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/payloads/libpayload/drivers/video/video.c b/payloads/libpayload/drivers/video/video.c
index 6ebc0f8ab6..83c393b4db 100644
--- a/payloads/libpayload/drivers/video/video.c
+++ b/payloads/libpayload/drivers/video/video.c
@@ -111,6 +111,11 @@ void video_console_putc(u8 row, u8 col, unsigned int ch)
void video_console_putchar(unsigned int ch)
{
+ /* replace black-on-black with light-gray-on-black.
+ do it here, instead of in libc/console.c */
+ if ((ch & 0xFF00) == 0) {
+ ch |= 0x0700;
+ }
switch(ch & 0xFF) {
case '\r':
cursorx = 0;
@@ -165,6 +170,10 @@ void video_console_set_cursor(unsigned int x, unsigned int y)
video_console_fixup_cursor();
}
+static struct console_output_driver cons = {
+ .putchar = video_console_putchar
+};
+
int video_console_init(void)
{
int i;
@@ -187,6 +196,8 @@ int video_console_init(void)
return 0;
}
+ console_add_output_driver(&cons);
+
return 0;
}