summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@coresystems.de>2008-08-19 17:44:49 +0000
committerStefan Reinauer <stepan@openbios.org>2008-08-19 17:44:49 +0000
commit59fb9a2bfa704422aa3ed64bd21d32bc18c64aa9 (patch)
tree3936e369cbe0cf3c5f7c272beb14894785aa65c1
parent96f57aee0ac571378ee29d1a27a24114ea10a1c3 (diff)
add functions to query cursor position to video layer
Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Jordan Crouse <jordan.crouse@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3520 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--payloads/libpayload/drivers/video/video.c20
-rw-r--r--payloads/libpayload/include/libpayload.h5
2 files changed, 25 insertions, 0 deletions
diff --git a/payloads/libpayload/drivers/video/video.c b/payloads/libpayload/drivers/video/video.c
index 8448b78e52..78f410be34 100644
--- a/payloads/libpayload/drivers/video/video.c
+++ b/payloads/libpayload/drivers/video/video.c
@@ -141,6 +141,26 @@ void video_console_putchar(unsigned int ch)
video_console_fixup_cursor();
}
+void video_console_get_cursor(unsigned int *x, unsigned int *y, unsigned int *en)
+{
+ *x=0;
+ *y=0;
+ *en=0;
+
+ if (console->get_cursor)
+ console->get_cursor(x, y, en);
+
+ *x = cursorx;
+ *y = cursory;
+}
+
+void video_console_set_cursor(unsigned int x, unsigned int y)
+{
+ cursorx = x;
+ cursory = y;
+ video_console_fixup_cursor();
+}
+
int video_console_init(void)
{
int i;
diff --git a/payloads/libpayload/include/libpayload.h b/payloads/libpayload/include/libpayload.h
index e75d5da5fd..516bcc38ff 100644
--- a/payloads/libpayload/include/libpayload.h
+++ b/payloads/libpayload/include/libpayload.h
@@ -120,6 +120,11 @@ void video_console_putchar(unsigned int ch);
void video_console_putc(u8 row, u8 col, unsigned int ch);
void video_console_clear(void);
void video_console_cursor_enable(int state);
+void video_console_get_cursor(unsigned int *x, unsigned int *y, unsigned int *en);
+void video_console_set_cursor(unsigned int cursorx, unsigned int cursory);
+
+/* drivers/option.c */
+int get_option(void *dest, char *name);
/* libc/console.c */
void console_init(void);