summaryrefslogtreecommitdiffstats
path: root/arch/arm/lib64
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2021-03-10 09:47:47 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2021-03-17 11:55:30 +0100
commit01064a3c91492e09c13c2d158f1d2fa63cb90468 (patch)
tree8a126419118c27fdb3bc3772887fa202c52d02df /arch/arm/lib64
parenta6caadd10fb290556b6cc6a32d60c929dba79f3c (diff)
downloadbarebox-01064a3c91492e09c13c2d158f1d2fa63cb90468.tar.gz
barebox-01064a3c91492e09c13c2d158f1d2fa63cb90468.tar.xz
ARM: asm: setjmp: implement coroutine dependency initjmp()
Implement initjmp() for use with the incoming bthread support. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/lib64')
-rw-r--r--arch/arm/lib64/setjmp.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/lib64/setjmp.S b/arch/arm/lib64/setjmp.S
index 0910e2f5a6..80be8cb0f2 100644
--- a/arch/arm/lib64/setjmp.S
+++ b/arch/arm/lib64/setjmp.S
@@ -36,3 +36,12 @@ ENTRY(longjmp)
ret
ENDPROC(longjmp)
.popsection
+
+.pushsection .text.initjmp, "ax"
+ENTRY(initjmp)
+ str x2, [x0, #96] /* stack pointer */
+ str x1, [x0, #88] /* return address */
+ mov x0, #0
+ ret
+ENDPROC(initjmp)
+.popsection