AquilaOS documentation
How it works, and its code
Loading...
Searching...
No Matches
aarch64_ctx Struct Reference

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

Detailed Description

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).

Definition at line 13 of file arch.h.

Field Documentation

◆ fp

uint64_t aarch64_ctx::fp

Definition at line 15 of file arch.h.

Referenced by arch_kthread_create(), and arch_proc_fork().

◆ lr

uint64_t aarch64_ctx::lr

Definition at line 16 of file arch.h.

Referenced by arch_kthread_create(), and arch_proc_fork().

◆ sp

uint64_t aarch64_ctx::sp

Definition at line 17 of file arch.h.

Referenced by arch_kthread_create(), and arch_proc_fork().

◆ x19

uint64_t aarch64_ctx::x19

Definition at line 14 of file arch.h.

◆ x20

uint64_t aarch64_ctx::x20

Definition at line 14 of file arch.h.

◆ x21

uint64_t aarch64_ctx::x21

Definition at line 14 of file arch.h.

◆ x22

uint64_t aarch64_ctx::x22

Definition at line 14 of file arch.h.

◆ x23

uint64_t aarch64_ctx::x23

Definition at line 14 of file arch.h.

◆ x24

uint64_t aarch64_ctx::x24

Definition at line 14 of file arch.h.

◆ x25

uint64_t aarch64_ctx::x25

Definition at line 14 of file arch.h.

◆ x26

uint64_t aarch64_ctx::x26

Definition at line 14 of file arch.h.

◆ x27

uint64_t aarch64_ctx::x27

Definition at line 14 of file arch.h.

◆ x28

uint64_t aarch64_ctx::x28

Definition at line 14 of file arch.h.


The documentation for this struct was generated from the following file:
  • kernel/arch/aarch64/include/core/arch.h