summaryrefslogtreecommitdiffstats
path: root/c/src/libmisc/serdbg
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/libmisc/serdbg')
-rw-r--r--c/src/libmisc/serdbg/.cvsignore2
-rw-r--r--c/src/libmisc/serdbg/Makefile.am44
-rw-r--r--c/src/libmisc/serdbg/README138
-rw-r--r--c/src/libmisc/serdbg/serdbg.c90
-rw-r--r--c/src/libmisc/serdbg/serdbg.h174
-rw-r--r--c/src/libmisc/serdbg/serdbgcnf.h81
-rw-r--r--c/src/libmisc/serdbg/serdbgio.c253
-rw-r--r--c/src/libmisc/serdbg/termios_printk.c233
-rw-r--r--c/src/libmisc/serdbg/termios_printk.h95
-rw-r--r--c/src/libmisc/serdbg/termios_printk_cnf.h70
10 files changed, 0 insertions, 1180 deletions
diff --git a/c/src/libmisc/serdbg/.cvsignore b/c/src/libmisc/serdbg/.cvsignore
deleted file mode 100644
index 282522db03..0000000000
--- a/c/src/libmisc/serdbg/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/c/src/libmisc/serdbg/Makefile.am b/c/src/libmisc/serdbg/Makefile.am
deleted file mode 100644
index 8c3cd13602..0000000000
--- a/c/src/libmisc/serdbg/Makefile.am
+++ /dev/null
@@ -1,44 +0,0 @@
-##
-## $Id$
-##
-
-include_rtemsdir = $(includedir)/rtems
-
-LIBNAME = libserdbg-tmp
-LIB = $(ARCH)/$(LIBNAME).a
-
-C_FILES = serdbg.c serdbgio.c termios_printk.c
-C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT))
-
-noinst_HEADERS =
-include_HEADERS = serdbgcnf.h serdbg.h termios_printk_cnf.h \
- termios_printk.h
-
-OBJS = $(C_O_FILES)
-
-include $(top_srcdir)/../../../automake/compile.am
-include $(top_srcdir)/../../../automake/lib.am
-
-$(PROJECT_INCLUDE):
- @$(mkinstalldirs) $@
-$(PROJECT_INCLUDE)/%.h: %.h
- $(INSTALL_DATA) $< $@
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-$(LIB): $(OBJS)
- $(make-library)
-
-PREINSTALL_FILES = $(PROJECT_INCLUDE) \
- $(include_HEADERS:%=$(PROJECT_INCLUDE)/%)
-
-all-local: $(ARCH) $(PREINSTALL_FILES) $(OBJS) $(LIB)
-
-.PRECIOUS: $(LIB)
-
-EXTRA_DIST = README serdbg.c serdbgio.c serdbgcnf.h serdbg.h \
- termios_printk.c termios_printk.h termios_printk_cnf.h
-
-include $(top_srcdir)/../../../automake/local.am
diff --git a/c/src/libmisc/serdbg/README b/c/src/libmisc/serdbg/README
deleted file mode 100644
index 338249c928..0000000000
--- a/c/src/libmisc/serdbg/README
+++ /dev/null
@@ -1,138 +0,0 @@
-#
-# $Id$
-#
-
-This directory contains three useful packages related to the termios I/O
-system:
-
-PACKAGE SERDBGIO
-================
-"serdbgio" provides the "serial gdb" standard I/O functions "getDebugChar"
-and "putDebugChar" for any device driver supporting polled termios mode.
-
-The initialization function "serdbg_open" opens the v.24 port intended
-for the serial debug connection, and sets the desired baud rate. The
-"getDebugChar" and "putDebugChar" functions then interact with the
-corresponding driver using the calls intended for polled termios
-operation.
-
-Specification for the debug device, baud rate and other parameters is
-done in a global structure of type "serdbg_conf_t". A configuration
-mechanism quite similar to the overall RTEMS configuration is available.
-
-PACKAGE SERDBG
-==============
-"serdbg" provides a means to optionally initialize and/or start a
-serial gdb session as soon as possible, this means as soon as all
-drivers have been initialized. The serial debug I/O functions can
-either be integrated as special routines of the BSP drivers, or using
-the package "serdbgio"
-
-PACKAGE TERMIOS_PRINTK
-======================
-"termios_printk" provides a standard output function suitable to use
-with "printk". It uses the same technique as serdbgio, hooking the
-interface between a polled device driver and the termios system.
-
-
-REQUIREMENTS
-============
-
-- These two packages can be used with any polled termios device
-driver.
-- For standard initialization, they need a modified "bsppost.c"
-to perform the initialization calls.
-
-USAGE
-=====
-
-For using these packages add the following to your "init" module or
-your "system.h" file (Note: most macro settings fall back to a
-default, if not set.):
-
-/*
- * CONFIGURE_USE_SERDBG
- * set this macro, if you want to connect gdb over a serial line
- * when set, the debug stub will be connected after driver
- * initialization in "bsppost.c"
- */
-#define CONFIGURE_USE_SERDBG
-
-
-/*
- * CONFIGURE_SERDBG_SKIP_INIT_BKPT
- * set this macro, if you do not want the gdb interface to wait for a
- * debugger connection directly after initialization
- * If you set this macro, the gdb stub will only hook various
- * exception vectors when called from "bsppost.c".
- */
-/* #define CONFIGURE_SERDBG_SKIP_INIT_BKPT */
-
-/*
- * CONFIGURE_SERDBG_USE_POLLED_TERMIOS
- * set this macro, if you want "serdbgio" to provide the I/O
- * functions for the serial gdb connection
- */
-#define CONFIGURE_SERDBG_USE_POLLED_TERMIOS
-
-/*
- * CONFIGURE_SERDBG_DEVNAME
- * use this macro to specify the serial device to use
- * for "serdbgio".
- * Only used, when CONFIGURE_SERDBG_USE_POLLED_TERMIOS is set
- */
-#define CONFIGURE_SERDBG_DEVNAME "/dev/tty03"
-
-/*
- * CONFIGURE_SERDBG_BAUDRATE
- * use this macro to specify the baud rate to use
- * for "serdbgio".
- * Only used, when CONFIGURE_SERDBG_USE_POLLED_TERMIOS is set
- */
-#define CONFIGURE_SERDBG_BAUDRATE 57600
-
-/*
- * CONFIGURE_SERDBG_CALLOUT
- * use this macro to specify a routine that will called during I/O polling
- * Only used, when CONFIGURE_SERDBG_USE_POLLED_TERMIOS is set
- * This function of type "void pollfnc(void)" can be used for e.g.
- * tickling a watchdog
- */
-/* #define CONFIGURE_SERDBG_CALLOUT tickle_my_watchdog_fnc */
-
-#include <serdbgcnf.h>
-
-/*
- * CONFIGURE_USE_TERMIOS_PRINTK
- * set this macro, if you want printk output to be sent to a serial
- * driver using the polled termios interface
- * when set, the printk output function will be connected after driver
- * initialization in "bsppost.c"
- */
-#define CONFIGURE_USE_TERMIOS_PRINTK
-
-/*
- * CONFIGURE_TERMIOS_PRINTK_DEVNAME
- * use this macro to specify the serial device to use
- * for printk output.
- * Only used, when CONFIGURE_USE_TERMIOS_PRINTK is set
- */
-#define CONFIGURE_TERMIOS_PRINTK_DEVNAME "/dev/console"
-
-/*
- * CONFIGURE_TERMIOS_PRINTK_BAUDRATE
- * use this macro to specify the baudrate to use
- * for printk output.
- * Only used, when CONFIGURE_USE_TERMIOS_PRINTK is set
- */
-#define CONFIGURE_TERMIOS_PRINTK_BAUDRATE 9600
-
-/*
- * CONFIGURE_TERMIOS_PRINTK_CALLOUT
- * use this macro to specify a routine that will called during I/O polling
- * This function of type "void pollfnc(void)" can be used for e.g.
- * tickling a watchdog
- */
-/* #define CONFIGURE_TERMIOS_PRINTK_CALLOUT tickle_my_watchdog_fnc */
-
-#include <termios_printk_cnf.h>
diff --git a/c/src/libmisc/serdbg/serdbg.c b/c/src/libmisc/serdbg/serdbg.c
deleted file mode 100644
index 2f459c73de..0000000000
--- a/c/src/libmisc/serdbg/serdbg.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/*===============================================================*\
-| Project: RTEMS remote gdb over serial line |
-+-----------------------------------------------------------------+
-| File: serdbg.c |
-+-----------------------------------------------------------------+
-| Copyright (c) 2002 IMD |
-| Ingenieurbuero fuer Microcomputertechnik Th. Doerfler |
-| <Thomas.Doerfler@imd-systems.de> |
-| all rights reserved |
-+-----------------------------------------------------------------+
-| this file contains intialization and utility functions to add |
-| a gdb remote debug stub to an RTEMS system |
-| |
-+-----------------------------------------------------------------+
-| date history ID |
-| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
-| 04.04.02 creation doe |
-\*===============================================================*/
-/*
- * $Id$
- */
-#include <rtems.h>
-#include <stdio.h>
-#include <string.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <serdbg.h>
-
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-int serdbg_init_dbg
-(
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| initialize remote gdb session over serial line |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
- void
-)
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| rtems_status_code |
-\*=========================================================================*/
-{
- static boolean is_initialized = FALSE;
-
- rtems_status_code rc = RTEMS_SUCCESSFUL;
- extern void set_debug_traps(void);
- extern void breakpoint(void);
-
- if (is_initialized) {
- return RTEMS_SUCCESSFUL;
- }
- is_initialized = TRUE;
- /*
- * try to open serial device
- */
- if (rc == RTEMS_SUCCESSFUL) {
- if ((serdbg_conf.open_io != NULL) &&
- (0 > serdbg_conf.open_io(serdbg_conf.devname,serdbg_conf.baudrate))) {
- fprintf(stderr,
- "remote_gdb_init: cannot open device %s "
- "for gdb connection:%s\n",serdbg_conf.devname,strerror(errno));
- rc = RTEMS_IO_ERROR;
- }
- }
- /*
- * initialize gdb stub
- */
- if (rc == RTEMS_SUCCESSFUL) {
- set_debug_traps();
- }
- /*
- * now activate gdb stub
- */
- if ((rc == RTEMS_SUCCESSFUL) &&
- !serdbg_conf.skip_init_bkpt) {
- breakpoint();
- }
-
- /*
- * return to original function
- * this may be already unter gdb control
- */
- return rc;
-}
-
diff --git a/c/src/libmisc/serdbg/serdbg.h b/c/src/libmisc/serdbg/serdbg.h
deleted file mode 100644
index 3cc95b5b96..0000000000
--- a/c/src/libmisc/serdbg/serdbg.h
+++ /dev/null
@@ -1,174 +0,0 @@
-/*===============================================================*\
-| Project: RTEMS remote gdb over serial line |
-+-----------------------------------------------------------------+
-| File: serdbg.h |
-+-----------------------------------------------------------------+
-| Copyright (c) 2002 IMD |
-| Ingenieurbuero fuer Microcomputertechnik Th. Doerfler |
-| <Thomas.Doerfler@imd-systems.de> |
-| all rights reserved |
-+-----------------------------------------------------------------+
-| this file declares intialization functions to add |
-| a gdb remote debug stub to an RTEMS system |
-| |
-+-----------------------------------------------------------------+
-| date history ID |
-| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
-| 04.04.02 creation doe |
-\*===============================================================*/
-/*
- * $Id$
- */
-#ifndef _SERDBG_H
-#define _SERDBG_H
-
-#include <rtems.h>
-#include <termios.h>
-
-typedef struct {
- unsigned32 baudrate; /* debug baud rate, e.g. 57600 */
- void (*callout)(void); /* callout pointer during polling */
- int (*open_io)(const char *dev_name,unsigned32 baudrate); /* I/O open fnc */
- const char *devname; /* debug device, e.g. "/dev/tty01" */
- unsigned8 skip_init_bkpt; /* if TRUE, do not stop when initializing */
-} serdbg_conf_t;
-
-/*
- * must be defined in init module...
- */
-extern serdbg_conf_t serdbg_conf;
-
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-void putDebugChar
-(
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| send character to remote debugger |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
- char c /* char to send */
- );
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| <none> |
-\*=========================================================================*/
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-int getDebugChar
-(
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| get character from remote debugger |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
- void /* <none> */
- );
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| <none> |
-\*=========================================================================*/
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-void serdbg_exceptionHandler
-(
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| hook directly to an exception vector |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
- int vecnum, /* vector index to hook at */
- void *vector /* address of handler function */
- );
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| <none> |
-\*=========================================================================*/
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-int serdbg_init
-(
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| initialize remote gdb session over serial line |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
- void
- );
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| rtems_status_code |
-\*=========================================================================*/
-
-/*
- * stuff from serdbgio.c
- */
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-int serdbg_open
-
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| try to open given serial debug port |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
-(
- const char *dev_name, /* name of device to open */
- unsigned32 baudrate /* baud rate to use */
- );
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| 0 on success, -1 and errno otherwise |
-\*=========================================================================*/
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-void putDebugChar
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| send one character to serial port |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
-(
- char c /* character to print */
- );
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| <none> |
-\*=========================================================================*/
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-int getDebugChar
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| wait for one character from serial port |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
-(
- void /* none */
- );
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| received character |
-\*=========================================================================*/
-
-#endif /* _SERDBG_H */
diff --git a/c/src/libmisc/serdbg/serdbgcnf.h b/c/src/libmisc/serdbg/serdbgcnf.h
deleted file mode 100644
index c03f56d9b0..0000000000
--- a/c/src/libmisc/serdbg/serdbgcnf.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*===============================================================*\
-| Project: RTEMS configure remote gdb over serial line |
-+-----------------------------------------------------------------+
-| File: serdbgcnf.h |
-+-----------------------------------------------------------------+
-| Copyright (c) 2002 IMD |
-| Ingenieurbuero fuer Microcomputertechnik Th. Doerfler |
-| <Thomas.Doerfler@imd-systems.de> |
-| all rights reserved |
-+-----------------------------------------------------------------+
-| this file declares intialization functions to add |
-| a gdb remote debug stub to an RTEMS system |
-| |
-+-----------------------------------------------------------------+
-| date history ID |
-| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
-| 13.05.02 creation doe |
-\*===============================================================*/
-/*
- * $Id$
- */
-#ifndef _SERDBGCNF_H
-#define _SERDBGCNF_H
-
-#include "serdbg.h"
-
-#ifdef CONFIGURE_INIT
-
-/*
- * fallback for baud rate to use
- */
-#ifndef CONFIGURE_SERDBG_BAUDRATE
-#define CONFIGURE_SERDBG_BAUDRATE 9600
-#endif
-
-/*
- * fallback for device name to use
- */
-#ifndef CONFIGURE_SERDBG_DEVNAME
-#define CONFIGURE_SERDBG_DEVNAME "/dev/tty01"
-#endif
-
-/*
- * fill in serdbg_conf structure
- */
-serdbg_conf_t serdbg_conf = {
- CONFIGURE_SERDBG_BAUDRATE,
-
-#ifdef CONFIGURE_SERDBG_CALLOUT
- CONFIGURE_SERDBG_CALLOUT,
-#else
- NULL,
-#endif
-
-#ifdef CONFIGURE_SERDBG_USE_POLLED_TERMIOS
- serdbg_open,
-#else
- NULL,
-#endif
-
- CONFIGURE_SERDBG_DEVNAME,
-
-#ifdef CONFIGURE_SERDBG_SKIP_INIT_BKPT
- TRUE,
-#else
- FALSE,
-#endif
-};
-
-int serdbg_init(void) {
-#ifdef CONFIGURE_USE_SERDBG
- extern int serdbg_init_dbg(void);
- return serdbg_init_dbg();
-#else
- return 0;
-#endif
-}
-
-#endif /* CONFIGURE_INIT */
-
-#endif /* _SERDBGCNF_H */
diff --git a/c/src/libmisc/serdbg/serdbgio.c b/c/src/libmisc/serdbg/serdbgio.c
deleted file mode 100644
index 57a10d8e20..0000000000
--- a/c/src/libmisc/serdbg/serdbgio.c
+++ /dev/null
@@ -1,253 +0,0 @@
-/*===============================================================*\
-| File: serdbgio.c |
-+-----------------------------------------------------------------+
-| Copyright (c) 2002 IMD |
-| Ingenieurbuero fuer Microcomputertechnik Th. Doerfler |
-| Hebststr. 8, 82178 Puchheim, Germany |
-| <Thomas.Doerfler@imd-systems.de> |
-| 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. |
-| all rights reserved |
-+-----------------------------------------------------------------+
-| TERMIOS serial gdb interface support |
-| the functions in this file allow the standard gdb stubs like |
-| "m68k-stub.c" to access any serial interfaces that work with |
-| RTEMS termios in polled mode |
-| |
-+-----------------------------------------------------------------+
-| date history ID |
-| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
-| 10.05.02 creation doe |
-|*****************************************************************|
-|* $Id$
- *
-|*****************************************************************|
-\*===============================================================*/
-
-#include <rtems.h>
-#include <rtems/libio_.h>
-#include <errno.h>
-#include <unistd.h> /* close */
-#include <stdio.h>
-#include <fcntl.h>
-#include <termios.h>
-
-#include <rtems/termiostypes.h>
-#include <serdbg.h>
-
-
-/*
- * internal variables
- */
-int serdbg_fd = -1;
-struct rtems_termios_tty *serdbg_tty;
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-int serdbg_open
-
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| try to open given serial debug port |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
-(
- const char *dev_name, /* name of device to open */
- unsigned32 baudrate /* baud rate to use */
-)
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| 0 on success, -1 and errno otherwise |
-\*=========================================================================*/
-{
- boolean err_occurred = FALSE;
- rtems_libio_t *iop = NULL;
- struct termios act_termios;
- tcflag_t baudcode = B0;
-
-#define FD_STORE_CNT 3
- int fd_store[FD_STORE_CNT];
- int fd_store_used = 0;
-
- /*
- * translate baudrate into baud code
- */
- switch(baudrate) {
- case 50: baudcode = B50; break;
- case 75: baudcode = B75; break;
- case 110: baudcode = B110; break;
- case 134: baudcode = B134; break;
- case 150: baudcode = B150; break;
- case 200: baudcode = B200; break;
- case 300: baudcode = B300; break;
- case 600: baudcode = B600; break;
- case 1200: baudcode = B1200; break;
- case 1800: baudcode = B1800; break;
- case 2400: baudcode = B2400; break;
- case 4800: baudcode = B4800; break;
- case 9600: baudcode = B9600; break;
- case 19200: baudcode = B19200; break;
- case 38400: baudcode = B38400; break;
- case 57600: baudcode = B57600; break;
- case 115200: baudcode = B115200; break;
- case 230400: baudcode = B230400; break;
- case 460800: baudcode = B460800; break;
- default : err_occurred = TRUE; errno = EINVAL; break;
- }
-
- /*
- * open device for serdbg operation
- * skip any fds that are between 0..2, because they are
- * reserved for stdin/out/err
- */
- if (!err_occurred &&
- (dev_name != NULL) &&
- (dev_name[0] != '\0')) {
- do {
- serdbg_fd = open(dev_name,O_RDWR);
- if (serdbg_fd < 0) {
- err_occurred = TRUE;
- }
- else {
- if (serdbg_fd < 3) {
- if (fd_store_used >= FD_STORE_CNT) {
- err_occurred = TRUE;
- }
- else {
- fd_store[fd_store_used++] = serdbg_fd;
- }
- }
- }
- } while (!err_occurred &&
- (serdbg_fd < 3));
- }
- /*
- * close any fds, that have been placed in fd_store
- * so fd 0..2 are reusable again
- */
- while (--fd_store_used >= 0) {
- close(fd_store[fd_store_used]);
- }
-
- /*
- * capture tty structure
- */
- if (!err_occurred) {
- iop = &rtems_libio_iops[serdbg_fd];
- serdbg_tty = iop->data1;
- }
- /*
- * set device baudrate
- * (and transp mode, this is not really needed)
- * ...
- */
- /*
- * ... get fd settings
- */
- if (!err_occurred &&
- (0 != tcgetattr(serdbg_fd,&act_termios))) {
- err_occurred = TRUE;
- }
- if (!err_occurred) {
- act_termios.c_iflag
- &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP
- |INLCR|IGNCR|ICRNL|IXON);
- act_termios.c_oflag
- &= ~OPOST;
-
- act_termios.c_lflag
- &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
-
- cfsetospeed(&act_termios,baudcode);
- cfsetispeed(&act_termios,baudcode);
-
- if (0 != tcsetattr(serdbg_fd,TCSANOW,&act_termios)) {
- err_occurred = TRUE;
- }
- }
- return (err_occurred
- ? -1
- : 0);
-}
-
-void putDebugChar(char c) __attribute__ ((__weak__));
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-void putDebugChar
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| send one character to serial port |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
-(
- char c /* character to print */
-)
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| <none> |
-\*=========================================================================*/
-{
- /*
- * call serdbg polling callout, if available
- */
- if (serdbg_conf.callout != NULL) {
- serdbg_conf.callout();
- }
- /*
- * check, whether debug serial port is available
- */
- if ((serdbg_tty != NULL) &&
- (serdbg_tty->device.write != NULL)) {
- /*
- * send character to debug serial port
- */
- serdbg_tty->device.write(serdbg_tty->minor,&c,1);
- }
-}
-
-int getDebugChar(void) __attribute__ ((__weak__));
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-int getDebugChar
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| wait for one character from serial port |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
-(
- void /* none */
-)
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| received character |
-\*=========================================================================*/
-{
- int c = -1;
- /*
- * check, whether debug serial port is available
- */
- if ((serdbg_tty != NULL) &&
- (serdbg_tty->device.pollRead != NULL)) {
- do {
- /*
- * call serdbg polling callout, if available
- */
- if (serdbg_conf.callout != NULL) {
- serdbg_conf.callout();
- }
- /*
- * get character from debug serial port
- */
- c = serdbg_tty->device.pollRead(serdbg_tty->minor);
- } while (c < 0);
- }
- return c;
-}
-
diff --git a/c/src/libmisc/serdbg/termios_printk.c b/c/src/libmisc/serdbg/termios_printk.c
deleted file mode 100644
index f8bd56e926..0000000000
--- a/c/src/libmisc/serdbg/termios_printk.c
+++ /dev/null
@@ -1,233 +0,0 @@
-/*===============================================================*\
-| File: termios_printk.c |
-+-----------------------------------------------------------------+
-| Copyright (c) 2002 IMD |
-| Ingenieurbuero fuer Microcomputertechnik Th. Doerfler |
-| Hebststr. 8, 82178 Puchheim, Germany |
-| <Thomas.Doerfler@imd-systems.de> |
-| 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. |
-| all rights reserved |
-+-----------------------------------------------------------------+
-| TERMIOS printk support |
-| this module performs low-level printk output using |
-| a polled termios driver |
-| |
-+-----------------------------------------------------------------+
-| date history ID |
-| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
-| 13.05.02 creation doe |
-|*****************************************************************|
-|* $Id$
- *
-|*****************************************************************|
-\*===============================================================*/
-
-#include <rtems.h>
-#include <rtems/libio_.h>
-#include <errno.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <termios.h>
-
-#include <rtems/termiostypes.h>
-#include <rtems/bspIo.h>
-#include <termios_printk.h>
-
-/*
- * internal variables
- */
-int termios_printk_fd = -1;
-struct rtems_termios_tty *termios_printk_tty;
-
-static void _termios_printk_null_char( char c ) {return;}
-
-BSP_output_char_function_type BSP_output_char = _termios_printk_null_char;
-BSP_polling_getchar_function_type BSP_poll_char;
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-void termios_printk_outputchar
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| send one character to serial port |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
-(
- char c /* character to print */
-)
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| <none> |
-\*=========================================================================*/
-{
- static const char cr = '\r';
- /*
- * check, whether printk serial port is available
- */
-
- if ((termios_printk_tty != NULL) &&
- (termios_printk_tty->device.write != NULL)) {
- /*
- * call termios_printk polling callout, if available
- */
- if (termios_printk_conf.callout != NULL) {
- termios_printk_conf.callout();
- }
- /*
- * send character to debug serial port
- */
- if (c == '\n') {
- termios_printk_tty->device.write(termios_printk_tty->minor,&cr,1);
- }
- termios_printk_tty->device.write(termios_printk_tty->minor,&c,1);
- }
-}
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-char termios_printk_inputchar
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| wait for one character from serial port |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
-(
- void /* none */
-)
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| received character |
-\*=========================================================================*/
-{
- int c = -1;
- /*
- * check, whether debug serial port is available
- */
- if ((termios_printk_tty != NULL) &&
- (termios_printk_tty->device.pollRead != NULL)) {
- do {
- /*
- * call termios_printk polling callout, if available
- */
- if (termios_printk_conf.callout != NULL) {
- termios_printk_conf.callout();
- }
- /*
- * get character from debug serial port
- */
- c = termios_printk_tty->device.pollRead(termios_printk_tty->minor);
- } while (c < 0);
- }
- return c;
-}
-
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-int termios_printk_open
-
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| try to open given serial debug port |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
-(
- const char *dev_name, /* name of device to open */
- unsigned32 baudrate /* baud rate to use */
-)
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| 0 on success, -1 and errno otherwise |
-\*=========================================================================*/
-{
- boolean err_occurred = FALSE;
- rtems_libio_t *iop = NULL;
- struct termios act_termios;
- tcflag_t baudcode = B0;
-
- if (termios_printk_fd >= 0) {
- /*
- * already initialized
- */
- return 0;
- }
- /*
- * translate baudrate into baud code
- */
- switch(baudrate) {
- case 50: baudcode = B50; break;
- case 75: baudcode = B75; break;
- case 110: baudcode = B110; break;
- case 134: baudcode = B134; break;
- case 150: baudcode = B150; break;
- case 200: baudcode = B200; break;
- case 300: baudcode = B300; break;
- case 600: baudcode = B600; break;
- case 1200: baudcode = B1200; break;
- case 1800: baudcode = B1800; break;
- case 2400: baudcode = B2400; break;
- case 4800: baudcode = B4800; break;
- case 9600: baudcode = B9600; break;
- case 19200: baudcode = B19200; break;
- case 38400: baudcode = B38400; break;
- case 57600: baudcode = B57600; break;
- case 115200: baudcode = B115200; break;
- case 230400: baudcode = B230400; break;
- case 460800: baudcode = B460800; break;
- default : err_occurred = TRUE; errno = EINVAL; break;
- }
- /*
- * open device for serdbg operation
- */
- if (!err_occurred &&
- (dev_name != NULL) &&
- (dev_name[0] != '\0')) {
- termios_printk_fd = open(dev_name,O_RDWR);
- if (termios_printk_fd < 0) {
- err_occurred = TRUE;
- }
- }
- /*
- * capture tty structure
- */
- if (!err_occurred) {
- iop = &rtems_libio_iops[termios_printk_fd];
- termios_printk_tty = iop->data1;
- }
- /*
- * set device baudrate
- * (and transp mode, this is not really needed)
- * ...
- */
- /*
- * ... get fd settings
- */
- if (!err_occurred &&
- (0 != tcgetattr(termios_printk_fd,&act_termios))) {
- err_occurred = TRUE;
- }
- if (!err_occurred) {
-
- cfsetospeed(&act_termios,baudcode);
- cfsetispeed(&act_termios,baudcode);
-
- if (0 != tcsetattr(termios_printk_fd,TCSANOW,&act_termios)) {
- err_occurred = TRUE;
- }
- }
- if (!err_occurred) {
- BSP_output_char = termios_printk_outputchar;
- BSP_poll_char = termios_printk_inputchar;
- }
- return (err_occurred
- ? -1
- : 0);
-}
diff --git a/c/src/libmisc/serdbg/termios_printk.h b/c/src/libmisc/serdbg/termios_printk.h
deleted file mode 100644
index 51446aca4b..0000000000
--- a/c/src/libmisc/serdbg/termios_printk.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*===============================================================*\
-| Project: RTEMS remote gdb over serial line |
-+-----------------------------------------------------------------+
-| File: termios_printk.h |
-+-----------------------------------------------------------------+
-| Copyright (c) 2002 IMD |
-| Ingenieurbuero fuer Microcomputertechnik Th. Doerfler |
-| <Thomas.Doerfler@imd-systems.de> |
-| all rights reserved |
-+-----------------------------------------------------------------+
-| this file declares intialization functions to add |
-| printk polled output via termios polled drivers |
-| |
-+-----------------------------------------------------------------+
-| date history ID |
-| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
-| 13.04.02 creation doe |
-\*===============================================================*/
-/*
- * $Id$
- */
-#ifndef _TERMIOS_PRINTK_H
-#define _TERMIOS_PRINTK_H
-
-#include <rtems.h>
-#include <termios.h>
-
-typedef struct {
- unsigned32 baudrate; /* debug baud rate, e.g. 57600 */
- void (*callout)(void); /* callout pointer during polling */
- const char *devname; /* debug device, e.g. "/dev/tty01" */
-} termios_printk_conf_t;
-
-/*
- * must be defined in init module...
- */
-extern termios_printk_conf_t termios_printk_conf;
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-void termios_printk_outputchar
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| send one character to serial port |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
-(
- char c /* character to print */
- );
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| <none> |
-\*=========================================================================*/
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-char termios_printk_inputchar
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| wait for one character from serial port |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
-(
- void /* none */
- );
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| received character |
-\*=========================================================================*/
-
-
-/*=========================================================================*\
-| Function: |
-\*-------------------------------------------------------------------------*/
-int termios_printk_open
-
-/*-------------------------------------------------------------------------*\
-| Purpose: |
-| try to open given serial debug port |
-+---------------------------------------------------------------------------+
-| Input Parameters: |
-\*-------------------------------------------------------------------------*/
-(
- const char *dev_name, /* name of device to open */
- unsigned32 baudrate /* baud rate to use */
- );
-/*-------------------------------------------------------------------------*\
-| Return Value: |
-| 0 on success, -1 and errno otherwise |
-\*=========================================================================*/
-#endif /* _TERMIOS_PRINTK_H */
diff --git a/c/src/libmisc/serdbg/termios_printk_cnf.h b/c/src/libmisc/serdbg/termios_printk_cnf.h
deleted file mode 100644
index 73ad1e112e..0000000000
--- a/c/src/libmisc/serdbg/termios_printk_cnf.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*===============================================================*\
-| Project: RTEMS configure remote gdb over serial line |
-+-----------------------------------------------------------------+
-| File: termios_printk_cnf.h |
-+-----------------------------------------------------------------+
-| Copyright (c) 2002 IMD |
-| Ingenieurbuero fuer Microcomputertechnik Th. Doerfler |
-| <Thomas.Doerfler@imd-systems.de> |
-| all rights reserved |
-+-----------------------------------------------------------------+
-| this file declares intialization functions to add |
-| printk support via polled termios |
-| |
-+-----------------------------------------------------------------+
-| date history ID |
-| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
-| 13.05.02 creation doe |
-\*===============================================================*/
-/*
- * $Id$
- */
-#ifndef _TERMIOS_PRINTK_CNF_H
-#define _TERMIOS_PRINTK_CNF_H
-
-#include "termios_printk.h"
-
-#ifdef CONFIGURE_INIT
-
-/*
- * fallback for baud rate to use
- */
-#ifndef CONFIGURE_TERMIOS_PRINTK_BAUDRATE
-#define CONFIGURE_TERMIOS_PRINTK_BAUDRATE 9600
-#endif
-
-/*
- * fallback for device name to use
- */
-#ifndef CONFIGURE_TERMIOS_PRINTK_DEVNAME
-#define CONFIGURE_TERMIOS_PRINTK_DEVNAME "/dev/console"
-#endif
-
-#ifdef CONFIGURE_USE_TERMIOS_PRINTK
-/*
- * fill in termios_printk_conf structure
- */
-termios_printk_conf_t termios_printk_conf = {
- CONFIGURE_TERMIOS_PRINTK_BAUDRATE,
-
-#ifdef CONFIGURE_TERMIOS_PRINTK_CALLOUT
- CONFIGURE_TERMIOS_PRINTK_CALLOUT,
-#else
- NULL,
-#endif
- CONFIGURE_TERMIOS_PRINTK_DEVNAME,
-};
-#endif
-
-int termios_printk_init(void) {
-#ifdef CONFIGURE_USE_TERMIOS_PRINTK
- return termios_printk_open(termios_printk_conf.devname,
- termios_printk_conf.baudrate);
-#else
- return 0;
-#endif
-}
-
-#endif /* CONFIGURE_INIT */
-
-#endif /* _TERMIOS_PRINTK_CNF_H */