Sebastian Huber 382be2ca57 mips: Remove the GDB stub
bsps/mips/shared/gdbstub/ holds a GDB stub of 2001 in five files.  No
build item names any of them, so no BSP compiles the stub and
mips_gdb_stub_install() has no caller.

The stub could not link in any case.  It installed its handler with
rtems_interrupt_catch(), a simple vectored directive which the tree
does not have.  It calls rtems_gdb_stub_get_current_thread() and two
more functions which gdb_if.h declares and no source defines.  It
declares mips_register_t for __mips 1 and __mips 3 alone, so the
preprocessor raises an error for the malta and the csb350 BSP.  Its
README names the MongooseV BSP, which the tree dropped.

cpu_asm.S carries the support of the stub.  mips_break() is the
breakpoint trampoline and the exception return steps over the break of
it.  Nothing else calls either one.  A commented-out block of the
R3000 return logic states that the stub does that work instead.  Five
comments name the stub.

Remove the directory and that support.

A back end of cpukit/libdebugger/ will serve the MIPS port.  The
library carries one for aarch64, arm, i386, microblaze and powerpc
today.

Update #5752.

Assisted-by: Claude:claude-opus-5 claude-code
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2026-09-21 20:02:55 -05:00
2026-09-21 20:02:55 -05:00
2026-09-21 20:02:55 -05:00
…
2026-02-01 19:24:33 -06:00
2025-07-31 18:24:04 -05:00
…

Real-Time Executive for Multiprocessing Systems

RTEMS is a real-time executive (kernel) which provides a high performance environment for embedded applications with the following features:

  • Standards based user interfaces.
  • Multitasking capabilities.
  • Homogeneous and heterogeneous multiprocessor systems.
  • Symmetric Multiprocessing (SMP):
    • Cluster scheduling: Job-level fixed prority scheduler (EDF) with support for one-to-one and one-to-all thread to processor affinities.
    • Locking protocols with transitive priority inheritance, priority ceiling, MRsP and OMIP.
  • Event-driven, priority-based, preemptive scheduling.
  • Scalable timer and timeout support.
  • Optional rate monotonic scheduling.
  • Intertask communication and synchronisation.
  • Priority inheritance.
  • Responsive interrupt management.
  • Dynamic memory allocation.
  • Dynamic code loading using run-time link editing.
  • File systems, IMFS, FAT, RFS, JFFS, NSFv4 (with LibBSD)
  • High level of user configurability.
  • Link-time configurable schedulers.
  • Linker-set based initialization (similar to global C++ constructors).
  • Drivers for I2C, SPI and LibBSD has NIC, USB, SD/MMC and Framebuffer.
  • Open source with a friendly user license.

RTEMS Project:

Project git repositories are located at:

Online documentation is available at:

RTEMS Doxygen for CPUKit:

RTEMS POSIX 1003.1 Compliance Guide:

RTEMS Discourse User forum for questions, answers and examples:

RTEMS Discord for support:

RTEMS Mailing Lists for general purpose use the users list and for developers use the devel list.

The version number for this software in releases is located in the VERSION file if present.

S
Description
RTEMS is a ​real-time executive in use by embedded systems applications around the world and beyond
Readme
150 MiB
Languages
C 93.9%
Assembly 3.4%
Ada 1.4%
Python 0.3%
HTML 0.3%
Other 0.4%