diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-19 06:28:01 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-20 13:08:32 +0200 |
commit | d7d66d7d4523b904c8ccc6aea3709dc0d5aa5bdc (patch) | |
tree | caa54b4229e86a68c84ab5961af34e087dce5302 /c/src/lib/libbsp/i386/pc386/console/vgacons.c | |
parent | bsps/powerpc: Move shared btimer support (diff) | |
download | rtems-d7d66d7d4523b904c8ccc6aea3709dc0d5aa5bdc.tar.bz2 |
bsps: Move console drivers to bsps
This patch is a part of the BSP source reorganization.
Update #3285.
Diffstat (limited to 'c/src/lib/libbsp/i386/pc386/console/vgacons.c')
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/console/vgacons.c | 191 |
1 files changed, 0 insertions, 191 deletions
diff --git a/c/src/lib/libbsp/i386/pc386/console/vgacons.c b/c/src/lib/libbsp/i386/pc386/console/vgacons.c deleted file mode 100644 index 2886496e51..0000000000 --- a/c/src/lib/libbsp/i386/pc386/console/vgacons.c +++ /dev/null @@ -1,191 +0,0 @@ -/* - * This file contains the termios TTY driver for the i386 - * vga. - * - * 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 <rtems.h> -#include <rtems/libio.h> -#include <stdlib.h> -#include <libchip/serial.h> -#include <rtems/vgacons.h> -#include <rtems/keyboard.h> -#include <libchip/sersupp.h> -#include <bsp/irq.h> -#include <bsp.h> -#include <crt.h> -#include <assert.h> -#include <rtems/keyboard.h> - -#define VGACONS_STATIC static - -/* - * vgacons_init - * - * This function initializes the VGA console to a quiecsent state. - */ -VGACONS_STATIC void vgacons_init(int minor) -{ - /* - * Note: We do not initialize the KBD interface here since - * it was initialized regardless of whether the - * vga is available or not. Therefore it is initialized - * in bsp_start. - */ -} - -/* - * vgacons_open - * - * This function opens a port for communication. - * - * Default state is 9600 baud, 8 bits, No parity, and 1 stop bit. - */ -VGACONS_STATIC int vgacons_open( - int major, - int minor, - void *arg -) -{ - return RTEMS_SUCCESSFUL; -} - -/* - * vgacons_close - * - * This function shuts down the requested port. - */ -VGACONS_STATIC int vgacons_close( - int major, - int minor, - void *arg -) -{ - return(RTEMS_SUCCESSFUL); -} - -/* - * vgacons_write_polled - * - * This routine polls out the requested character. - */ -VGACONS_STATIC void vgacons_write_polled( - int minor, - char c -) -{ - _IBMPC_outch( c ); - if( c == '\n') - _IBMPC_outch( '\r' ); /* LF = LF + CR */ -} - -/* - * vgacons_write_support_polled - * - * Console Termios output entry point when using polled output. - * - */ -VGACONS_STATIC ssize_t vgacons_write_support_polled( - int minor, - const char *buf, - size_t len -) -{ - int nwrite = 0; - - /* - * poll each byte in the string out of the port. - */ - while (nwrite < len) { - vgacons_write_polled(minor, *buf++); - nwrite++; - } - - /* - * return the number of bytes written. - */ - return nwrite; -} - -/* - * vgacons_inbyte_nonblocking_polled - * - * Console Termios polling input entry point. - */ -VGACONS_STATIC int vgacons_inbyte_nonblocking_polled( - int minor -) -{ - if( rtems_kbpoll() ) { - int c = getch(); - return c; - } - - return -1; -} - -/* - * vgacons_set_attributes - * - * This function sets the UART channel to reflect the requested termios - * port settings. - */ -VGACONS_STATIC int vgacons_set_attributes( - int minor, - const struct termios *t -) -{ - return 0; -} - -bool vgacons_probe( - int minor -) -{ - rtems_status_code status; - static bool firstTime = true; - - if ((*(unsigned char*) NB_MAX_ROW_ADDR == 0) && - (*(unsigned short*)NB_MAX_COL_ADDR == 0)) { - return false; - } - - /* - * If there is a video card, let's assume there is also a keyboard. - * The means that we need the ISR installed in case someone wants to - * use the Keyboard or PS2 Mouse. With Microwindows, the console - * can be COM1 and you can still use the mouse/VGA for graphics. - */ - if ( firstTime ) { - status = rtems_interrupt_handler_install( - BSP_KEYBOARD, - "vgacons", - RTEMS_INTERRUPT_UNIQUE, - keyboard_interrupt, - NULL - ); - assert(status == RTEMS_SUCCESSFUL); - } - firstTime = false; - - return true; -} - -const console_fns vgacons_fns = -{ - libchip_serial_default_probe, /* deviceProbe */ - vgacons_open, /* deviceFirstOpen */ - vgacons_close, /* deviceLastClose */ - vgacons_inbyte_nonblocking_polled, /* deviceRead */ - vgacons_write_support_polled, /* deviceWrite */ - vgacons_init, /* deviceInitialize */ - vgacons_write_polled, /* deviceWritePolled */ - vgacons_set_attributes, /* deviceSetAttributes */ - FALSE, /* deviceOutputUsesInterrupts */ -}; |