=== drivers/video/video.c
==================================================================
--- drivers/video/video.c	(revision 1708)
+++ drivers/video/video.c	(local)
@@ -51,8 +51,8 @@
 
 static struct video_console *console;
 
-static unsigned int cursorx;
-static unsigned int cursory;
+static int cursorx;
+static int cursory;
 static unsigned int cursor_enabled = 1;
 
 static void video_console_fixup_cursor(void)
@@ -122,6 +122,10 @@
 
 	case '\b':
 		cursorx--;
+		if (cursorx < 0) {
+			cursory--;
+			cursorx = VIDEO_COLS;
+		}
 		break;
 
 	case '\t':
@@ -172,7 +176,7 @@
 			console = console_list[i];
 
 			if (console->get_cursor)
-				console->get_cursor(&cursorx, &cursory, &cursor_enabled);
+				console->get_cursor((unsigned int*)&cursorx, (unsigned int*)&cursory, &cursor_enabled);
 
 			if (cursorx) {
 				cursorx = 0;
