summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/dmv177/console
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-07-25 14:50:07 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-07-25 14:50:07 +0000
commita3c9f0dc580876966457f2c8a4928ad79847e35f (patch)
tree94f1d9c7de48f33e14916dfff38685bca7c060dd /c/src/lib/libbsp/powerpc/dmv177/console
parentInterrupts were incorrectly managed with a disable/disable pair rather (diff)
downloadrtems-a3c9f0dc580876966457f2c8a4928ad79847e35f.tar.bz2
Moved console.c to libbsp/shared.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/dmv177/console')
-rw-r--r--c/src/lib/libbsp/powerpc/dmv177/console/Makefile.in2
-rw-r--r--c/src/lib/libbsp/powerpc/dmv177/console/console.c290
2 files changed, 1 insertions, 291 deletions
diff --git a/c/src/lib/libbsp/powerpc/dmv177/console/Makefile.in b/c/src/lib/libbsp/powerpc/dmv177/console/Makefile.in
index 24e5de9f37..261eb79a82 100644
--- a/c/src/lib/libbsp/powerpc/dmv177/console/Makefile.in
+++ b/c/src/lib/libbsp/powerpc/dmv177/console/Makefile.in
@@ -4,7 +4,7 @@
@SET_MAKE@
srcdir = @srcdir@
-VPATH = @srcdir@
+VPATH = @srcdir@:@srcdir@/../../../shared
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
diff --git a/c/src/lib/libbsp/powerpc/dmv177/console/console.c b/c/src/lib/libbsp/powerpc/dmv177/console/console.c
deleted file mode 100644
index 1ca2282720..0000000000
--- a/c/src/lib/libbsp/powerpc/dmv177/console/console.c
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * This file contains the TTY driver for the PPCn_60x
- *
- * This driver uses the termios pseudo driver.
- *
- * COPYRIGHT (c) 1998 by Radstone Technology
- *
- *
- * THIS FILE IS PROVIDED TO YOU, THE USER, "AS IS", WITHOUT WARRANTY OF ANY
- * KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK
- * AS TO THE QUALITY AND PERFORMANCE OF ALL CODE IN THIS FILE IS WITH YOU.
- *
- * You are hereby granted permission to use, copy, modify, and distribute
- * this file, provided that this notice, plus the above copyright notice
- * and disclaimer, appears in all copies. Radstone Technology will provide
- * no support for this code.
- *
- * COPYRIGHT (c) 1989-1997.
- * On-Line Applications Research Corporation (OAR).
- * Copyright assigned to U.S. Government, 1994.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.OARcorp.com/rtems/license.html.
- *
- * $Id$
- */
-
-#include <bsp.h>
-#include <rtems/libio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <termios.h>
-
-#include <libchip/serial.h>
-
-/*
- * Load configuration table
- */
-
-extern console_data Console_Port_Data[];
-extern unsigned long Console_Port_Count;
-extern rtems_device_minor_number Console_Port_Minor;
-
-/*PAGE
- *
- * console_open
- *
- * open a port as a termios console.
- *
- */
-
-rtems_device_driver console_open(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void * arg
-)
-{
- rtems_status_code status;
- rtems_libio_open_close_args_t *args = arg;
- rtems_libio_ioctl_args_t IoctlArgs;
- struct termios Termios;
- rtems_termios_callbacks Callbacks;
- console_tbl *cptr;
-
- /*
- * Verify the port number is valid.
- */
- if ( minor > Console_Port_Count ) {
- return RTEMS_INVALID_NUMBER;
- }
-
- /*
- * Open the port as a termios console driver.
- */
-
- cptr = &Console_Port_Tbl[minor];
- Callbacks.firstOpen = cptr->pDeviceFns->deviceFirstOpen;
- Callbacks.lastClose = cptr->pDeviceFns->deviceLastClose;
- Callbacks.pollRead = cptr->pDeviceFns->deviceRead;
- Callbacks.write = cptr->pDeviceFns->deviceWrite;
- Callbacks.setAttributes = cptr->pDeviceFns->deviceSetAttributes;
- Callbacks.stopRemoteTx = cptr->pDeviceFlow->deviceStopRemoteTx;
- Callbacks.startRemoteTx = cptr->pDeviceFlow->deviceStartRemoteTx;
- Callbacks.outputUsesInterrupts = cptr->pDeviceFns->deviceOutputUsesInterrupts;
-
- /* XXX what about
- * Console_Port_Tbl[minor].ulMargin,
- * Console_Port_Tbl[minor].ulHysteresis);
- */
-
- status = rtems_termios_open ( major, minor, arg, &Callbacks );
- Console_Port_Data[minor].termios_data = args->iop->data1;
-
- if (minor!=Console_Port_Minor) {
- /*
- * If this is not the console we do not want ECHO and
- * so forth
- */
- IoctlArgs.iop=args->iop;
- IoctlArgs.command=RTEMS_IO_GET_ATTRIBUTES;
- IoctlArgs.buffer=&Termios;
- rtems_termios_ioctl(&IoctlArgs);
- Termios.c_lflag=ICANON;
- IoctlArgs.command=RTEMS_IO_SET_ATTRIBUTES;
- rtems_termios_ioctl(&IoctlArgs);
- }
-
- if ( (args->iop->flags&LIBIO_FLAGS_READ) &&
- Console_Port_Tbl[minor].pDeviceFlow &&
- Console_Port_Tbl[minor].pDeviceFlow->deviceStartRemoteTx) {
- Console_Port_Tbl[minor].pDeviceFlow->deviceStartRemoteTx(minor);
- }
-
- return status;
-}
-
-/*PAGE
- *
- * console_reserve_resources
- *
- * This routine uses the termios driver to reserve resources.
- */
-
-void console_reserve_resources(
- rtems_configuration_table *configuration
-)
-{
- rtems_termios_reserve_resources( configuration, 4 );
-}
-
-
-/*PAGE
- *
- * console_close
- *
- * This routine closes a port that has been opened as console.
- */
-
-rtems_device_driver console_close(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void * arg
-)
-{
- rtems_libio_open_close_args_t *args = arg;
-
- if ( (args->iop->flags&LIBIO_FLAGS_READ) &&
- Console_Port_Tbl[minor].pDeviceFlow &&
- Console_Port_Tbl[minor].pDeviceFlow->deviceStopRemoteTx) {
- Console_Port_Tbl[minor].pDeviceFlow->deviceStopRemoteTx(minor);
- }
-
- return rtems_termios_close (arg);
-}
-
-/*PAGE
- *
- * console_read
- *
- * This routine uses the termios driver to read a character.
- */
-
-rtems_device_driver console_read(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void * arg
-)
-{
- return rtems_termios_read (arg);
-}
-
-/*PAGE
- *
- * console_write
- *
- * this routine uses the termios driver to write a character.
- */
-
-rtems_device_driver console_write(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void * arg
-)
-{
- return rtems_termios_write (arg);
-}
-
-/*PAGE
- *
- * console_control
- *
- * this routine uses the termios driver to process io
- */
-
-rtems_device_driver console_control(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void * arg
-)
-{
- return rtems_termios_ioctl (arg);
-}
-
-/*PAGE
- *
- * console_initialize
- *
- * Routine called to initialize the console device driver.
- */
-
-rtems_device_driver console_initialize(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg
-)
-{
- rtems_status_code status;
-
- /*
- * initialize the termio interface.
- */
-
- rtems_termios_initialize();
-
- for (minor=0; minor<Console_Port_Count; minor++) {
- /*
- * First perform the configuration dependent probe, then the
- * device dependent probe
- */
-
- if ((!Console_Port_Tbl[minor].deviceProbe ||
- Console_Port_Tbl[minor].deviceProbe(minor)) &&
- Console_Port_Tbl[minor].pDeviceFns->deviceProbe(minor)) {
- /*
- * Use this device for the console
- */
- break;
- }
- }
- if ( minor==Console_Port_Count ) {
- /*
- * Failed to find a working device
- */
- rtems_fatal_error_occurred(RTEMS_IO_ERROR);
- }
-
- Console_Port_Minor=minor;
-
- /*
- * Register Device Names
- */
- status = rtems_io_register_name("/dev/console", major, Console_Port_Minor );
- if (status != RTEMS_SUCCESSFUL) {
- rtems_fatal_error_occurred(status);
- }
- Console_Port_Tbl[minor].pDeviceFns->deviceInitialize(Console_Port_Minor);
-
- for (minor++;minor<Console_Port_Count;minor++) {
- /*
- * First perform the configuration dependent probe, then the
- * device dependent probe
- */
-
- if ( (!Console_Port_Tbl[minor].deviceProbe ||
- Console_Port_Tbl[minor].deviceProbe(minor)) &&
- Console_Port_Tbl[minor].pDeviceFns->deviceProbe(minor)) {
- status = rtems_io_register_name(
- Console_Port_Tbl[minor].sDeviceName,
- major,
- minor );
- if (status != RTEMS_SUCCESSFUL) {
- rtems_fatal_error_occurred(status);
- }
-
- /*
- * Initialize the hardware device.
- */
-
- Console_Port_Tbl[minor].pDeviceFns->deviceInitialize(minor);
-
- }
- }
-
- return RTEMS_SUCCESSFUL;
-}
-
-
-