#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
_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs

Reply via email to