Looks good and thanks Chris
On 10/2/2023 2:11 am, Joel Sherrill wrote: > 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 eef2a01..0000000 > --- 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 59d254c..0000000 > --- 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 6273f1b..0000000 > --- 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 7a5f6cc..0000000 > --- 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 64623eb..0000000 > --- 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 c49e787..0000000 > --- 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 07c77a0..0000000 > --- 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 2b5a7f8..0000000 > --- 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 0b0dc95..2c969aa 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 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel