summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2012-10-05 23:43:37 -0700
committerStefan Reinauer <stefan.reinauer@coreboot.org>2012-11-09 19:02:26 +0100
commit8e7d7fd4bf3bf0a0387af7616d739ec4aba9b1f0 (patch)
tree81d7b90249e3ae81263bfa53aab894b6d2effe19
parentdd9e4e58cdd0a684e301f1b16b2f92e20e0b3418 (diff)
libpayload: Add a function to retrieve the rows and cols of the video console.
This is useful if you need to put some text in a particular place on the screen, for instance in the middle. Change-Id: I3dae6b62ca1917c5020ffa3e8115ea7e8e5c0643 Signed-off-by: Gabe Black <gabeblack@google.com> Reviewed-on: http://review.coreboot.org/1734 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
-rw-r--r--payloads/libpayload/drivers/video/video.c10
-rw-r--r--payloads/libpayload/include/libpayload.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/payloads/libpayload/drivers/video/video.c b/payloads/libpayload/drivers/video/video.c
index d7fc8de923..61bb02abc0 100644
--- a/payloads/libpayload/drivers/video/video.c
+++ b/payloads/libpayload/drivers/video/video.c
@@ -62,6 +62,16 @@ static int cursorx;
static int cursory;
static unsigned int cursor_enabled = 1;
+void video_get_rows_cols(unsigned int *rows, unsigned int *cols)
+{
+ if (console) {
+ *cols = console->columns;
+ *rows = console->rows;
+ } else {
+ *cols = *rows = 0;
+ }
+}
+
static void video_console_fixup_cursor(void)
{
if (!cursor_enabled)
diff --git a/payloads/libpayload/include/libpayload.h b/payloads/libpayload/include/libpayload.h
index c7e17d8547..eaa0d0deeb 100644
--- a/payloads/libpayload/include/libpayload.h
+++ b/payloads/libpayload/include/libpayload.h
@@ -194,6 +194,7 @@ void speaker_tone(u16 freq, unsigned int duration);
*/
int video_init(void);
int video_console_init(void);
+void video_get_rows_cols(unsigned int *rows, unsigned int *cols);
void video_console_putchar(unsigned int ch);
void video_console_putc(u8 row, u8 col, unsigned int ch);
void video_console_clear(void);