4 * Created on: Aug 5, 2009
9 #include "aros/arm/asm.h"
13 .global AROS_CDEFNAME(longjmp)
14 .type AROS_CDEFNAME(longjmp),%function
16 AROS_CDEFNAME
(longjmp
):
17 mov ip
, r0 /* env into ip register */
18 ldr
lr, [ip
], #4 /* restore return address */
19 movs
r0, r1 /* return value from longjmp into r0 and generate condition code */
20 moveq
r0, #1 /* if retval = 0, then retval = 1 */
21 ldmia ip
!, {r4, r5, r6, r7, r8, r9, sl, fp
, sp
} /* restore non-scratch regs */
30 fldmiax ip
!, {d8-d15
} /* Restore VFP registers - we assume they are available! */
31 ldr
r1, [ip
], #4 /* restore VFP status reg */