2 * (C) 2017 Theobroma Systems Design und Consulting GmbH
4 * SPDX-License-Identifier: GPL-2.0+
9 #include <linux/linkage.h>
11 .pushsection .text.setjmp, "ax"
13 /* Preserve all callee-saved registers and the SP */
15 stp x21, x22, [x0,#16]
16 stp x23, x24, [x0,#32]
17 stp x25, x26, [x0,#48]
18 stp x27, x28, [x0,#64]
19 stp x29, x30, [x0,#80]
27 .pushsection .text.longjmp, "ax"
30 ldp x21, x22, [x0,#16]
31 ldp x23, x24, [x0,#32]
32 ldp x25, x26, [x0,#48]
33 ldp x27, x28, [x0,#64]
34 ldp x29, x30, [x0,#80]
37 /* Move the return value in place, but return 1 if passed 0. */