[Bug 1691] New: sparc64 usiii MMU trap handler crash

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Thu Aug 26 17:47:03 UTC 2010


https://www.rtems.org/bugzilla/show_bug.cgi?id=1691

           Summary: sparc64 usiii MMU trap handler crash
           Product: RTEMS
           Version: HEAD
          Platform: Other
        OS/Version: RTEMS
            Status: NEW
          Severity: normal
          Priority: P3
         Component: bsps
        AssignedTo: joel.sherrill at oarcorp.com
        ReportedBy: giddyup44 at yahoo.com


Created an attachment (id=1029)
 --> (https://www.rtems.org/bugzilla/attachment.cgi?id=1029)
Patch to fix bug.

The MMU trap handler copied from the firmware attempts a branch-always (PC
relative!) to a region of code that exists in the firmware but is not part of
the trap table and therefore is not copied to the relative address of the
branch target.

One solution I can think of at the moment is to try to copy more of the
firmware. I'm not sure exactly how much needs to be copied though, and it would
be best to determine this amount off-line so that the linker knows about the
region of code being used.  An experimentally derived value of doubling the
copied space (from 32K to 64K) works on the Simics simulator.  The attached
patch introduces this doubling multiplier in the trap table size to accomplish
the copying.

Another possible solution would be to install a replacement trap handler,
perhaps with a jump to the original trap handler (which still exists) in the
firmware.  This would have to be done for every trap handler that branches
outside of the trap table.  Since the previous fix works, I did not investigate
this approach.

-- 
Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the bugs mailing list