diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-23 12:10:19 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-23 15:18:45 +0200 |
commit | 6e1cf37da57769f0291740982143957fb60a43cd (patch) | |
tree | d71e3e197a4e24ec273e8cde6f5d13c1a5c5a675 /bsps/sh | |
parent | bsps/sh: Move setvec.c to bsps (diff) | |
download | rtems-6e1cf37da57769f0291740982143957fb60a43cd.tar.bz2 |
bsps/sh: Move console.c to bsps
This patch is a part of the BSP source reorganization.
Update #3285.
Diffstat (limited to 'bsps/sh')
-rw-r--r-- | bsps/sh/shared/console/console.c | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/bsps/sh/shared/console/console.c b/bsps/sh/shared/console/console.c new file mode 100644 index 0000000000..5547696fed --- /dev/null +++ b/bsps/sh/shared/console/console.c @@ -0,0 +1,123 @@ +/* + * /dev/console for Hitachi SH 703X + * + * This driver installs an alternate device name (e.g. /dev/console for + * the designated console device /dev/console. + */ + +/* + * Author: Ralf Corsepius (corsepiu@faw.uni-ulm.de) + * + * COPYRIGHT (c) 1997-1998, FAW Ulm, Germany + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * COPYRIGHT (c) 1998, 2014. + * 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 <bsp.h> +#include <rtems.h> +#include <rtems/libio.h> +#include <rtems/console.h> + +#include <sys/stat.h> + +#ifndef BSP_CONSOLE_DEVNAME +#error Missing BSP_CONSOLE_DEVNAME +#endif + +/* console_initialize + * + * This routine initializes the console IO driver. + */ +rtems_device_driver console_initialize( + rtems_device_major_number major, + rtems_device_minor_number minor, + void *arg +) +{ + rtems_device_driver status; + struct stat st; + int rv; + + rv = stat( BSP_CONSOLE_DEVNAME, &st ); + if ( rv != 0 ) + rtems_fatal_error_occurred(rv); + + status = rtems_io_register_name( + "/dev/console", + rtems_filesystem_dev_major_t( st.st_rdev ), + rtems_filesystem_dev_minor_t( st.st_rdev ) + ); + if (status != RTEMS_SUCCESSFUL) + rtems_fatal_error_occurred(status); + + return RTEMS_SUCCESSFUL; +} + +/* + * Open entry point + */ +rtems_device_driver console_open( + rtems_device_major_number major, + rtems_device_minor_number minor, + void * arg +) +{ + rtems_fatal_error_occurred(-1); +} + +/* + * Close entry point + */ +rtems_device_driver console_close( + rtems_device_major_number major, + rtems_device_minor_number minor, + void * arg +) +{ + rtems_fatal_error_occurred(-1); +} + +/* + * read bytes from the serial port. We only have stdin. + */ +rtems_device_driver console_read( + rtems_device_major_number major, + rtems_device_minor_number minor, + void * arg +) +{ + rtems_fatal_error_occurred(-1); +} + +/* + * write bytes to the serial port. Stdout and stderr are the same. + */ +rtems_device_driver console_write( + rtems_device_major_number major, + rtems_device_minor_number minor, + void * arg +) +{ + rtems_fatal_error_occurred(-1); +} + +/* + * IO Control entry point + */ +rtems_device_driver console_control( + rtems_device_major_number major, + rtems_device_minor_number minor, + void * arg +) +{ + rtems_fatal_error_occurred(-1); +} |