HomeFreeBSD

Rework the exception entry/return functions to make them valid frames to be

Description

Rework the exception entry/return functions to make them valid frames to be
unwound through. For this we need the frame pointer (x29) to point to the
location on the stack where we stored the previous frame pointer, and link
register. To simplify this the stack pointer is only adjusted by addition
and subtraction, and not through the use of post increment on loads and
stores.

The updated frame layout is:

+------------+

lr -- x30

+------------+

fp -- x29<-- x29 points at this

+------------+

Trap frame
...
<-- sp points at this

+------------+

The only difference is the first two items, and setting of x29.

Sponsored by: ABT Systems Ltd

Details

Provenance
andrewAuthored on
Parents
rS291580: Rework the atomic code to reduce the repetition. This merges some of the
Branches
Unknown
Tags
Unknown