Index: boot/arch/arm32/src/putchar.c
===================================================================
--- boot/arch/arm32/src/putchar.c	(revision 7c3fb9bd77e4d2f6c10517a052e567f176fa91ee)
+++ boot/arch/arm32/src/putchar.c	(revision c8afd5a8029517aba09c3f07e907308d90b306a2)
@@ -195,5 +195,5 @@
  * @param ch	Character to display
  */
-void putchar(const wchar_t ch)
+void putwchar(const wchar_t ch)
 {
 	if (ch == '\n')
@@ -203,5 +203,5 @@
 		scons_sendb((uint8_t) ch);
 	else
-		scons_sendb(U_SPECIAL);
+		scons_sendb('?');
 }
 
Index: boot/arch/ia64/include/arch/ski.h
===================================================================
--- boot/arch/ia64/include/arch/ski.h	(revision 7c3fb9bd77e4d2f6c10517a052e567f176fa91ee)
+++ boot/arch/ia64/include/arch/ski.h	(revision c8afd5a8029517aba09c3f07e907308d90b306a2)
@@ -30,8 +30,5 @@
 #define BOOT_ia64_SKI_H_
 
-#include <stddef.h>
-#include <str.h>
-
-extern void ski_putchar(const wchar_t);
+extern void ski_putchar(char);
 
 #endif
Index: boot/arch/ia64/src/putchar.c
===================================================================
--- boot/arch/ia64/src/putchar.c	(revision 7c3fb9bd77e4d2f6c10517a052e567f176fa91ee)
+++ boot/arch/ia64/src/putchar.c	(revision c8afd5a8029517aba09c3f07e907308d90b306a2)
@@ -33,5 +33,5 @@
 #include <arch/ski.h>
 
-void putchar(const wchar_t ch)
+void putwchar(const wchar_t ch)
 {
 #ifdef MACHINE_ski
@@ -39,5 +39,5 @@
 		ski_putchar(ch);
 	else
-		ski_putchar(U_SPECIAL);
+		ski_putchar('?');
 #endif
 }
Index: boot/arch/ia64/src/ski.c
===================================================================
--- boot/arch/ia64/src/ski.c	(revision 7c3fb9bd77e4d2f6c10517a052e567f176fa91ee)
+++ boot/arch/ia64/src/ski.c	(revision c8afd5a8029517aba09c3f07e907308d90b306a2)
@@ -52,5 +52,5 @@
 }
 
-void ski_putchar(const wchar_t ch)
+void ski_putchar(char ch)
 {
 	ski_console_init();
Index: boot/arch/mips32/src/putchar.c
===================================================================
--- boot/arch/mips32/src/putchar.c	(revision 7c3fb9bd77e4d2f6c10517a052e567f176fa91ee)
+++ boot/arch/mips32/src/putchar.c	(revision c8afd5a8029517aba09c3f07e907308d90b306a2)
@@ -39,5 +39,5 @@
 #if defined(MACHINE_msim)
 #define _putchar(ch)	msim_putchar((ch))
-static void msim_putchar(const wchar_t ch)
+static void msim_putchar(char ch)
 {
 	*((char *) MSIM_VIDEORAM_ADDRESS) = ch;
@@ -51,18 +51,16 @@
     (yamon_print_count_ptr_t) YAMON_SUBR_PRINT_COUNT;
 
-static void yamon_putchar(const wchar_t wch)
+static void yamon_putchar(char ch)
 {
-	const char ch = (char) wch;
-
 	(*yamon_print_count)(0, &ch, 1);
 }
 #endif
 
-void putchar(const wchar_t ch)
+void putwchar(const wchar_t ch)
 {
 	if (ascii_check(ch))
 		_putchar(ch);
 	else
-		_putchar(U_SPECIAL);
+		_putchar('?');
 }
 
Index: boot/arch/ppc32/src/ofw.c
===================================================================
--- boot/arch/ppc32/src/ofw.c	(revision 7c3fb9bd77e4d2f6c10517a052e567f176fa91ee)
+++ boot/arch/ppc32/src/ofw.c	(revision c8afd5a8029517aba09c3f07e907308d90b306a2)
@@ -39,5 +39,5 @@
 }
 
-void putchar(const wchar_t ch)
+void putwchar(wchar_t ch)
 {
 	if (ch == '\n')
@@ -47,4 +47,4 @@
 		ofw_putchar(ch);
 	else
-		ofw_putchar(U_SPECIAL);
+		ofw_putchar('?');
 }
Index: boot/arch/riscv64/src/putchar.c
===================================================================
--- boot/arch/riscv64/src/putchar.c	(revision 7c3fb9bd77e4d2f6c10517a052e567f176fa91ee)
+++ boot/arch/riscv64/src/putchar.c	(revision c8afd5a8029517aba09c3f07e907308d90b306a2)
@@ -33,9 +33,9 @@
 #include <arch/ucb.h>
 
-void putchar(const wchar_t ch)
+void putwchar(wchar_t ch)
 {
 	if (ascii_check(ch))
 		htif_cmd(HTIF_DEVICE_CONSOLE, HTIF_CONSOLE_PUTC, ch);
 	else
-		htif_cmd(HTIF_DEVICE_CONSOLE, HTIF_CONSOLE_PUTC, U_SPECIAL);
+		htif_cmd(HTIF_DEVICE_CONSOLE, HTIF_CONSOLE_PUTC, '?');
 }
Index: boot/arch/sparc64/src/ofw.c
===================================================================
--- boot/arch/sparc64/src/ofw.c	(revision 7c3fb9bd77e4d2f6c10517a052e567f176fa91ee)
+++ boot/arch/sparc64/src/ofw.c	(revision c8afd5a8029517aba09c3f07e907308d90b306a2)
@@ -43,5 +43,5 @@
 #include <str.h>
 
-void putchar(const wchar_t ch)
+void putwchar(wchar_t ch)
 {
 	if (ch == '\n')
@@ -51,5 +51,5 @@
 		ofw_putchar(ch);
 	else
-		ofw_putchar(U_SPECIAL);
+		ofw_putchar('?');
 }
 
