RTEMS | score: Most ports cannot resume from an exception frame (#5754)

Sebastian Huber (@sebhub) gitlab at rtems.org
Fri Sep 4 01:26:47 UTC 2026



Issue created by Sebastian Huber: https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5754



`_CPU_Exception_resume()` restores a `CPU_Exception_frame` and continues
execution. A fatal error extension needs it to recover from an exception
which the system handles. Only `aarch64`, `arm` and `microblaze` define
the function. The other ten ports do not.

The three definitions disagree. `arm` declares the function in
`cpuimpl.h` and takes a `const CPU_Exception_frame *`. `aarch64` and
`microblaze` declare it in `cpu.h` and take a `CPU_Exception_frame *`.
The port template `cpukit/score/cpu/no_cpu/include/rtems/score/cpu.h`
puts the declaration behind `RTEMS_EXCEPTION_EXTENSIONS`, yet `arm`
builds and declares it while that option is off for `arm`.

Every port defines a `CPU_Exception_frame`, so nothing blocks an
implementation.

Declare `_CPU_Exception_resume()` in `cpuimpl.h` of every port. Take a
`CPU_Exception_frame *`, which is the form of the template. Leave the
declaration out of `RTEMS_EXCEPTION_EXTENSIONS`, which keeps the
remaining functions of the exception extensions optional. Implement the
function in every port.

Cover the function with validation tests. Derive the requirements from
the ISA and the ABI reference documents of each architecture. The
specification items live in another repository, so only the generated
sources reach this one.

The mapping of an exception to a POSIX signal is a follow-up and is not
part of this issue.

This description was created with Claude Code assistance.

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5754
You're receiving this email because of your account on gitlab.rtems.org. Unsubscribe from this thread: https://gitlab.rtems.org/-/sent_notifications/5-7obyped49rgy3kuzx23mvcpdo-1d/unsubscribe | Manage all notifications: https://gitlab.rtems.org/-/profile/notifications | Help: https://gitlab.rtems.org/help


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20260904/2a37c80d/attachment-0001.htm>


More information about the bugs mailing list