From a531683ae99448696a29127a056e126493fe1e37 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 18 Apr 2014 10:52:21 -0500 Subject: shsim: Add printk() support and move all code to console subdirectory --- c/src/lib/libbsp/sh/shsim/console/console-io.c | 72 ++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 c/src/lib/libbsp/sh/shsim/console/console-io.c (limited to 'c/src/lib/libbsp/sh/shsim/console/console-io.c') diff --git a/c/src/lib/libbsp/sh/shsim/console/console-io.c b/c/src/lib/libbsp/sh/shsim/console/console-io.c new file mode 100644 index 0000000000..b327192d5d --- /dev/null +++ b/c/src/lib/libbsp/sh/shsim/console/console-io.c @@ -0,0 +1,72 @@ +/* + * This file contains the hardware specific portions of the TTY driver + * for the simulators stdin/out. + * + * Logic based on newlib-1.8.2/newlib/libc/sys/sh/syscalls.c + * + * COPYRIGHT (c) 1989-2011. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#include +#include +#include +#include + +#include + +int errno; + +extern int __trap34(int, int, void*, int ); + +/* + * console_initialize_hardware + * + * This routine initializes the console hardware. + * + */ + +void console_initialize_hardware(void) +{ + return; +} + +/* + * console_outbyte_polled + * + * This routine transmits a character using polling. + */ + +void console_outbyte_polled( + int port, + char ch +) +{ + __trap34 (SYS_write, 1, &ch, 1); + return; +} + +/* + * console_inbyte_nonblocking + * + * This routine polls for a character. + */ + +int console_inbyte_nonblocking( + int port +) +{ + unsigned char c; + + return __trap34 (SYS_read, 0, &c, 1); +} + +/* XXX wrong place for this */ +int _sys_exit (int n) +{ + return __trap34 (SYS_exit, n, 0, 0); +} -- cgit v1.2.3