[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