From 77e7bd97dce29bc36d9e0ad0bcb855a175e4cedd Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 9 Feb 2023 09:05:58 -0600 Subject: 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(-) delete mode 100644 cpukit/include/rtems/serdbg.h delete mode 100644 cpukit/include/rtems/serdbgcnf.h delete mode 100644 cpukit/include/rtems/termios_printk.h delete mode 100644 cpukit/include/rtems/termios_printk_cnf.h delete mode 100644 cpukit/libmisc/serdbg/README delete mode 100644 cpukit/libmisc/serdbg/serdbg.c delete mode 100644 cpukit/libmisc/serdbg/serdbgio.c delete mode 100644 cpukit/libmisc/serdbg/termios_printk.c 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 -#include - -#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: | -| | -\*=========================================================================*/ - -/*=========================================================================*\ -| Function: | -\*-------------------------------------------------------------------------*/ -int getDebugChar -( -/*-------------------------------------------------------------------------*\ -| Purpose: | -| get character from remote debugger | -+---------------------------------------------------------------------------+ -| Input Parameters: | -\*-------------------------------------------------------------------------*/ - void /* */ - ); -/*-------------------------------------------------------------------------*\ -| Return Value: | -| | -\*=========================================================================*/ - -/*=========================================================================*\ -| 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: | -| | -\*=========================================================================*/ - -/*=========================================================================*\ -| 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 - -#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 -#include - -#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: | -| | -\*=========================================================================*/ - -/*=========================================================================*\ -| 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 - -#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 - -/* - * 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 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 -#include -#include -#include -#include -#include - - -/*=========================================================================*\ -| 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 -#include -#include -#include /* close */ -#include -#include -#include - -#include -#include - - -/* - * 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: | -| | -\*=========================================================================*/ -{ - /* - * 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 -#include -#include -#include -#include -#include - -#include -#include -#include - -/* - * 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: | -| | -\*=========================================================================*/ -{ - /* - * 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 -- cgit v1.2.3