diff options
Diffstat (limited to 'c/src/lib/libbsp/sparc/erc32/console/console.c')
-rw-r--r-- | c/src/lib/libbsp/sparc/erc32/console/console.c | 21 |
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; + + |