1cbdb30f4SJaroslaw Pelczar/* 2cbdb30f4SJaroslaw Pelczar * Copyright 2019, Haiku, Inc. All rights reserved. 3cbdb30f4SJaroslaw Pelczar * Distributed under the terms of the MIT License. 4cbdb30f4SJaroslaw Pelczar */ 5cbdb30f4SJaroslaw Pelczar 6cbdb30f4SJaroslaw Pelczar#include <asm_defs.h> 7cbdb30f4SJaroslaw Pelczar 8cbdb30f4SJaroslaw Pelczar/* int sigsetjmp(jmp_buf buffer, int saveMask) */ 9cbdb30f4SJaroslaw PelczarFUNCTION(__sigsetjmp): 10cbdb30f4SJaroslaw PelczarFUNCTION(sigsetjmp): 11444980deSmilek7 stp x19, x20, [x0], #16 12444980deSmilek7 stp x21, x22, [x0], #16 13444980deSmilek7 stp x23, x24, [x0], #16 14444980deSmilek7 stp x25, x26, [x0], #16 15444980deSmilek7 stp x27, x28, [x0], #16 16444980deSmilek7 stp x29, x30, [x0], #16 17444980deSmilek7 18444980deSmilek7 mov x2, sp 19*d5f2742dSmilek7 str x2, [x0], #8 20*d5f2742dSmilek7 21*d5f2742dSmilek7 stp d8, d9, [x0], #16 22*d5f2742dSmilek7 stp d10, d11, [x0], #16 23*d5f2742dSmilek7 stp d12, d13, [x0], #16 24*d5f2742dSmilek7 stp d14, d15, [x0], #16 25444980deSmilek7 26444980deSmilek7 b __setjmp_save_sigs 27cbdb30f4SJaroslaw PelczarFUNCTION_END(sigsetjmp) 28cbdb30f4SJaroslaw PelczarFUNCTION_END(__sigsetjmp) 29cbdb30f4SJaroslaw Pelczar 30cbdb30f4SJaroslaw Pelczar 31cbdb30f4SJaroslaw Pelczar/* int setjmp(jmp_buf buffer) */ 32cbdb30f4SJaroslaw PelczarFUNCTION(setjmp): 33cbdb30f4SJaroslaw PelczarFUNCTION(_setjmp): 34444980deSmilek7 mov x1, #0 35444980deSmilek7 b __sigsetjmp 36444980deSmilek7FUNCTION_END(_setjmp) 37cbdb30f4SJaroslaw PelczarFUNCTION_END(setjmp) 38cbdb30f4SJaroslaw Pelczar 39cbdb30f4SJaroslaw Pelczar#pragma weak _setjmp=setjmp 40