[rtems commit] libmisc/serdbg: Remove obsolete serial debug

Joel Sherrill joel at rtems.org
Fri Feb 10 13:38:22 UTC 2023


Module:    rtems
Branch:    master
Commit:    77e7bd97dce29bc36d9e0ad0bcb855a175e4cedd
Changeset: http://git.rtems.org/rtems/commit/?id=77e7bd97dce29bc36d9e0ad0bcb855a175e4cedd

Author:    Joel Sherrill <joel at rtems.org>
Date:      Thu Feb  9 09:05:58 2023 -0600

libmisc/serdbg: Remove obsolete serial debug

Closes #2828.

---

 cpukit/include/rtems/serdbg.h             | 168 -------------------
 cpukit/include/rtems/serdbgcnf.h          | 101 ------------
 cpukit/include/rtems/termios_printk.h     | 116 -------------
 cpukit/include/rtems/termios_printk_cnf.h |  91 ----------
 cpukit/libmisc/serdbg/README              | 134 ---------------
 cpukit/libmisc/serdbg/serdbg.c            | 105 ------------
 cpukit/libmisc/serdbg/serdbgio.c          | 264 ------------------------------
 cpukit/libmisc/serdbg/termios_printk.c    | 245 ---------------------------
 spec/build/cpukit/librtemscpu.yml         |   4 -
 9 files changed, 1228 deletions(-)

diff --git a/cpukit/include/rtems/serdbg.h b/cpukit/include/rtems/serdbg.h
deleted file mode 100644
index eef2a0182a..0000000000
--- a/cpukit/include/rtems/serdbg.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/* SPDX-License-Identifier: BSD-2-Clause */
-
-/*
- * RTEMS remote gdb over serial line
- *
- * This file declares intialization functions to add
- * a gdb remote debug stub to an RTEMS system.
- */
-
-/*
- * Copyright (c) 2002 IMD Ingenieurbuero fuer Microcomputertechnik
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _SERDBG_H
-#define _SERDBG_H
-
-#include <rtems.h>
-#include <termios.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-  uint32_t   baudrate;      /* debug baud rate, e.g. 57600            */
-  void (*callout)(void);    /* callout pointer during polling         */
-  int  (*open_io)(const char *dev_name, uint32_t baudrate); /* I/O open fnc */
-  const char *devname;      /* debug device, e.g. "/dev/tty01"        */
-  bool      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 */
- uint32_t   baudrate   /* baud rate to use       */
- );
-/*-------------------------------------------------------------------------*\
-| Return Value:                                                             |
-|    0 on success, -1 and errno otherwise                                   |
-\*=========================================================================*/
-
-
-extern int serdbg_init_dbg(void);
-
-/*
- * Assumed to be provided by the BSP
- */
-extern void set_debug_traps(void);
-extern void breakpoint(void);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SERDBG_H */
diff --git a/cpukit/include/rtems/serdbgcnf.h b/cpukit/include/rtems/serdbgcnf.h
deleted file mode 100644
index 59d254c4bc..0000000000
--- a/cpukit/include/rtems/serdbgcnf.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/* SPDX-License-Identifier: BSD-2-Clause */
-
-/**
- * @file
- *
- * @brief Adds a GDB remote Debug Stub to an RTEMS System
- */
-
-/*
- * Copyright (c) 2002 IMD Ingenieurbuero fuer Microcomputertechnik
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _SERDBGCNF_H
-#define _SERDBGCNF_H
-
-#include <rtems/serdbg.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#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
-  return serdbg_init_dbg();
-#else
-  return 0;
-#endif
-}
-
-#endif /* CONFIGURE_INIT */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SERDBGCNF_H */
diff --git a/cpukit/include/rtems/termios_printk.h b/cpukit/include/rtems/termios_printk.h
deleted file mode 100644
index 6273f1bb9d..0000000000
--- a/cpukit/include/rtems/termios_printk.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/* SPDX-License-Identifier: BSD-2-Clause */
-
-/*
- * This file declares intialization functions to add
- * printk polled output via termios polled drivers.
- */
-
-/*
- * Copyright (c) 2002 IMD Ingenieurbuero fuer Microcomputertechnik
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _TERMIOS_PRINTK_H
-#define _TERMIOS_PRINTK_H
-
-#include <rtems.h>
-#include <termios.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
-  uint32_t   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:                                                                 |
-\*-------------------------------------------------------------------------*/
-int 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 */
- uint32_t   baudrate   /* baud rate to use       */
- );
-/*-------------------------------------------------------------------------*\
-| Return Value:                                                             |
-|    0 on success, -1 and errno otherwise                                   |
-\*=========================================================================*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _TERMIOS_PRINTK_H */
diff --git a/cpukit/include/rtems/termios_printk_cnf.h b/cpukit/include/rtems/termios_printk_cnf.h
deleted file mode 100644
index 7a5f6cc8a5..0000000000
--- a/cpukit/include/rtems/termios_printk_cnf.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/* SPDX-License-Identifier: BSD-2-Clause */
-
-/**
- * @file
- *
- * @brief Adds printk Support via Polled termios
- */
-
-/*
- * Copyright (c) 2002 IMD Ingenieurbuero fuer Microcomputertechnik
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _TERMIOS_PRINTK_CNF_H
-#define _TERMIOS_PRINTK_CNF_H
-
-#include <rtems/termios_printk.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#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 */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _TERMIOS_PRINTK_CNF_H */
diff --git a/cpukit/libmisc/serdbg/README b/cpukit/libmisc/serdbg/README
deleted file mode 100644
index 64623ebd89..0000000000
--- a/cpukit/libmisc/serdbg/README
+++ /dev/null
@@ -1,134 +0,0 @@
-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/cpukit/libmisc/serdbg/serdbg.c b/cpukit/libmisc/serdbg/serdbg.c
deleted file mode 100644
index c49e78762a..0000000000
--- a/cpukit/libmisc/serdbg/serdbg.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/* SPDX-License-Identifier: BSD-2-Clause */
-
-/*
- * RTEMS remote gdb over serial line
- *
- * This file contains intialization and utility functions to add
- * a gdb remote debug stub to an RTEMS system.
- */
-
-/*
- * Copyright (c) 2002 IMD Ingenieurbuero fuer Microcomputertechnik
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <rtems.h>
-#include <stdio.h>
-#include <string.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <rtems/serdbg.h>
-
-
-/*=========================================================================*\
-| Function:                                                                 |
-\*-------------------------------------------------------------------------*/
-int serdbg_init_dbg
-(
-/*-------------------------------------------------------------------------*\
-| Purpose:                                                                  |
-|   initialize remote gdb session over serial line                          |
-+---------------------------------------------------------------------------+
-| Input Parameters:                                                         |
-\*-------------------------------------------------------------------------*/
- void
-)
-/*-------------------------------------------------------------------------*\
-| Return Value:                                                             |
-|    rtems_status_code                                                      |
-\*=========================================================================*/
-{
-  static bool is_initialized = false;
-
-  rtems_status_code rc = RTEMS_SUCCESSFUL;
-
-  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/cpukit/libmisc/serdbg/serdbgio.c b/cpukit/libmisc/serdbg/serdbgio.c
deleted file mode 100644
index 07c77a0b03..0000000000
--- a/cpukit/libmisc/serdbg/serdbgio.c
+++ /dev/null
@@ -1,264 +0,0 @@
-/* SPDX-License-Identifier: BSD-2-Clause */
-
-/*
- * 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
- */
-
-/*
- * Copyright (c) 2002 IMD Ingenieurbuero fuer Microcomputertechnik
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#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 <rtems/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 */
- uint32_t   baudrate   /* baud rate to use       */
-)
-/*-------------------------------------------------------------------------*\
-| Return Value:                                                             |
-|    0 on success, -1 and errno otherwise                                   |
-\*=========================================================================*/
-{
-  bool 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_iop(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/cpukit/libmisc/serdbg/termios_printk.c b/cpukit/libmisc/serdbg/termios_printk.c
deleted file mode 100644
index 2b5a7f8e69..0000000000
--- a/cpukit/libmisc/serdbg/termios_printk.c
+++ /dev/null
@@ -1,245 +0,0 @@
-/* SPDX-License-Identifier: BSD-2-Clause */
-
-/*
- * TERMIOS printk support
- * this module performs low-level printk output using
- * a polled termios driver
- */
-
-/*
- * Copyright (c) 2002 IMD Ingenieurbuero fuer Microcomputertechnik
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#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 <rtems/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 RTEMS_UNUSED)
-{
-  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>                                                                 |
-\*=========================================================================*/
-{
-  /*
-   * 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
-     */
-    termios_printk_tty->device.write(termios_printk_tty->minor,&c,1);
-  }
-}
-
-/*=========================================================================*\
-| Function:                                                                 |
-\*-------------------------------------------------------------------------*/
-int 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 */
- uint32_t   baudrate   /* baud rate to use       */
-)
-/*-------------------------------------------------------------------------*\
-| Return Value:                                                             |
-|    0 on success, -1 and errno otherwise                                   |
-\*=========================================================================*/
-{
-  bool 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_iop(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/spec/build/cpukit/librtemscpu.yml b/spec/build/cpukit/librtemscpu.yml
index 0b0dc95912..2c969aa5f6 100644
--- a/spec/build/cpukit/librtemscpu.yml
+++ b/spec/build/cpukit/librtemscpu.yml
@@ -165,8 +165,6 @@ install:
   - cpukit/include/rtems/rtems-rfs.h
   - cpukit/include/rtems/rtemsdialer.h
   - cpukit/include/rtems/scheduler.h
-  - cpukit/include/rtems/serdbg.h
-  - cpukit/include/rtems/serdbgcnf.h
   - cpukit/include/rtems/serial_mouse.h
   - cpukit/include/rtems/seterr.h
   - cpukit/include/rtems/shell.h
@@ -178,8 +176,6 @@ install:
   - cpukit/include/rtems/stdio-redirect.h
   - cpukit/include/rtems/stringto.h
   - cpukit/include/rtems/sysinit.h
-  - cpukit/include/rtems/termios_printk.h
-  - cpukit/include/rtems/termios_printk_cnf.h
   - cpukit/include/rtems/termiostypes.h
   - cpukit/include/rtems/thread.h
   - cpukit/include/rtems/timecounter.h



More information about the vc mailing list