Index: uspace/drv/char/ski-con/ski-con.c
===================================================================
--- uspace/drv/char/ski-con/ski-con.c	(revision 01c3bb491370247ba1459d7e381e27022f09fed4)
+++ uspace/drv/char/ski-con/ski-con.c	(revision 9940ce0abda70ea8d091bd0be88bbccc2059eceb)
@@ -43,4 +43,5 @@
 
 #define SKI_GETCHAR		21
+#define SKI_PUTCHAR		31
 
 #define POLL_INTERVAL		10000
@@ -57,4 +58,6 @@
 	.write = ski_con_write
 };
+
+static void ski_con_putchar(ski_con_t *con, char ch); /* XXX */
 
 /** Add ski console device. */
@@ -88,4 +91,6 @@
 		goto error;
 	}
+
+	ddf_fun_add_to_category(fun, "console");
 
 	bound = true;
@@ -177,7 +182,29 @@
 }
 
+
+/** Display character on ski debug console
+ *
+ * Use SSC (Simulator System Call) to
+ * display character on debug console.
+ *
+ * @param c Character to be printed.
+ *
+ */
 static void ski_con_putchar(ski_con_t *con, char ch)
 {
-	
+#ifdef UARCH_ia64
+	asm volatile (
+		"mov r15 = %0\n"
+		"mov r32 = %1\n"   /* r32 is in0 */
+		"break 0x80000\n"  /* modifies r8 */
+		:
+		: "i" (SKI_PUTCHAR), "r" (ch)
+		: "r15", "in0", "r8"
+	);
+#else
+	(void) ch;
+#endif
+	if (ch == '\n')
+		ski_con_putchar(con, '\r');
 }
 
