[RTEMS Project] #4459: Handling of unexpected traps is unreliable on SPARC
RTEMS trac
trac at rtems.org
Mon Jun 21 08:49:53 UTC 2021
#4459: Handling of unexpected traps is unreliable on SPARC
------------------------------+-----------------------------
Reporter: Sebastian Huber | Owner: Sebastian Huber
Type: defect | Status: assigned
Priority: normal | Milestone:
Component: arch/sparc | Version: 6
Severity: normal | Keywords: qualification
Blocked By: | Blocking:
------------------------------+-----------------------------
Currently, all traps without special functions are handled by
_ISR_Handler(). For traps which occur for example due to
* instruction access exception
* illegal instruction
* privileged instruction
* fp disabled
* memory address not aligned
* fp exception
* data access exception
errors the trap handling is unreliable since
1. the stack pointer of the context which caused the trap is used, and
2. writeable data structures are used (for example _ISR_Vector_table).
The trap table is initialized to "ta 0" which ends up in a system error
mode. In this mode, the RTEMS fatal error handling is by passed and the
initial fatal error handlers are not called.
The trap handling should be changed to invoke a statically initialized bad
trap handler which performs the RTEMS fatal error procedure and uses a
CPU-specific stack with minimum dependencies on the context which caused
the trap.
--
Ticket URL: <http://devel.rtems.org/ticket/4459>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list