Index: kernel/arch/ia64/src/asm.S
===================================================================
--- kernel/arch/ia64/src/asm.S	(revision 7c3fb9bd77e4d2f6c10517a052e567f176fa91ee)
+++ kernel/arch/ia64/src/asm.S	(revision fc0b2a8b439bd4294aa93f37af1e7fe305fbee77)
@@ -191,5 +191,5 @@
 FUNCTION_END(switch_to_userspace)
 
-FUNCTION_BEGIN(early_putchar)
+FUNCTION_BEGIN(early_putwchar)
 	br.ret.sptk.many b0
-FUNCTION_END(early_putchar)
+FUNCTION_END(early_putwchar)
Index: kernel/arch/ia64/src/drivers/ski.c
===================================================================
--- kernel/arch/ia64/src/drivers/ski.c	(revision 7c3fb9bd77e4d2f6c10517a052e567f176fa91ee)
+++ kernel/arch/ia64/src/drivers/ski.c	(revision fc0b2a8b439bd4294aa93f37af1e7fe305fbee77)
@@ -58,8 +58,8 @@
 };
 
-static void ski_putchar(outdev_t *, const wchar_t);
+static void ski_putwchar(outdev_t *, const wchar_t);
 
 static outdev_operations_t skidev_ops = {
-	.write = ski_putchar,
+	.write = ski_putwchar,
 	.redraw = NULL,
 	.scroll_up = NULL,
@@ -166,5 +166,5 @@
 }
 
-static void ski_do_putchar(const wchar_t ch)
+static void ski_do_putchar(char ch)
 {
 	asm volatile (
@@ -187,5 +187,5 @@
  *
  */
-static void ski_putchar(outdev_t *dev, const wchar_t ch)
+static void ski_putwchar(outdev_t *dev, wchar_t ch)
 {
 	// TODO FIXME:
@@ -198,6 +198,7 @@
 
 			ski_do_putchar(ch);
-		} else
-			ski_do_putchar(U_SPECIAL);
+		} else {
+			ski_do_putchar('?');
+		}
 	}
 }
