2 * Copyright 2005, Ingo Weinhold <bonefish@cs.tu-berlin.de>. All rights
3 * reserved. Distributed under the terms of the Haiku License.
8 #include "setjmp_internal.h"
10 /* int __siglongjmp(jmp_buf buffer, int value) */
14 // a0: buffer, d0: saveMask
18 // restore non-volatile general purpose registers
19 movem.l (%a0),%d2-%d7/%a2-%a7
21 // restore special registers (link, condition)
22 move.w (JMP_REGS_CCR,%a0),%d0
24 move.l (JMP_REGS_PC,%a0),(%a7)
27 FUNCTION_END(siglongjmp)
29 FUNCTION_END(_longjmp)
31 #pragma weak longjmp=siglongjmp