|
AquilaOS documentation
How it works, and its code
|
Where a thread goes on in the kernel when it runs again: the registers that a function call keeps (AAPCS64: x19 to x29, and the link register), and the stack pointer. More...
#include <arch.h>
Data Fields | |
| uint64_t | x19 |
| uint64_t | x20 |
| uint64_t | x21 |
| uint64_t | x22 |
| uint64_t | x23 |
| uint64_t | x24 |
| uint64_t | x25 |
| uint64_t | x26 |
| uint64_t | x27 |
| uint64_t | x28 |
| uint64_t | fp |
| uint64_t | lr |
| uint64_t | sp |
Where a thread goes on in the kernel when it runs again: the registers that a function call keeps (AAPCS64: x19 to x29, and the link register), and the stack pointer.
aarch64_ctx_save() saves them and returns 0; aarch64_ctx_load() later returns from that same call again, this time with 1 (as setjmp() and longjmp() do).
| uint64_t aarch64_ctx::fp |
Definition at line 15 of file arch.h.
Referenced by arch_kthread_create(), and arch_proc_fork().
| uint64_t aarch64_ctx::lr |
Definition at line 16 of file arch.h.
Referenced by arch_kthread_create(), and arch_proc_fork().
| uint64_t aarch64_ctx::sp |
Definition at line 17 of file arch.h.
Referenced by arch_kthread_create(), and arch_proc_fork().