summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/erc32/console/console.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/sparc/erc32/console/console.c')
-rw-r--r--c/src/lib/libbsp/sparc/erc32/console/console.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/sparc/erc32/console/console.c b/c/src/lib/libbsp/sparc/erc32/console/console.c
index 78c147a6dd..8672d4ad88 100644
--- a/c/src/lib/libbsp/sparc/erc32/console/console.c
+++ b/c/src/lib/libbsp/sparc/erc32/console/console.c
@@ -17,6 +17,7 @@
#include <rtems/libio.h>
#include <stdlib.h>
#include <assert.h>
+#include <rtems/bspIo.h>
/*
* Should we use a polled or interrupt drived console?
@@ -417,3 +418,23 @@ rtems_device_driver console_control(
return rtems_termios_ioctl (arg);
}
+/* putchar/getchar for printk */
+
+static void bsp_out_char (char c)
+{
+ console_outbyte_polled(0, c);
+}
+
+BSP_output_char_function_type BSP_output_char = bsp_out_char;
+
+static char bsp_in_char(void)
+{
+ int tmp;
+
+ while ((tmp = console_inbyte_nonblocking(0)) < 0);
+ return (char) tmp;
+}
+
+BSP_polling_getchar_function_type BSP_poll_char = bsp_in_char;
+
+