From 4412b908755c7b9899cf8cce4e0985aa6816121a Mon Sep 17 00:00:00 2001 From: "Luke T. Shumaker" Date: Tue, 17 Sep 2024 12:37:41 -0600 Subject: wip --- coroutine.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/coroutine.c b/coroutine.c index 13a747a..3062ad9 100644 --- a/coroutine.c +++ b/coroutine.c @@ -67,3 +67,16 @@ void coroutine_task(void) { exit(1); _coroutine_table[_cur_cid].fn(_coroutine_table[_cur_cid].stack); } + +// arm32 +mov r0, coroutine_table[_cur_cid].arg +mov _saved_stack sp +mov sp, coroutine_table[_cur_cid].stack +bl coroutine_table[_cur_cid].fn +mov _saved_stack sp +// x86-64 +movl coroutine_table[_cur_cid].arg %edi +movq %rsp _saved_stack +movq coroutine_table[_cur_cid].stack %rsp +call coroutine_table[_cur_cid].fn +movq _saved_stack %rsp -- cgit v1.2.3-2-g168b