#include <scheduler.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 | sp |
uint64_t | pc |
Structure that contains values of all registers that might be different between the tasks, that are being switched.
x0 - x18
becuase they can be overwritten by the called function, so the caller must not assume that the values of those registers will survive after a function call. r12
because it is a caller-save register, so its value need not be preserved. uint64_t cpu_context::fp |
Fram Pointer: 64-bit register X29 (Callee-saved)
uint64_t cpu_context::pc |
Program Counter
uint64_t cpu_context::sp |
Stack Pointer
uint64_t cpu_context::x19 |
General Purpose 64-bit register X19 (Callee-saved)
uint64_t cpu_context::x20 |
General Purpose 64-bit register X20 (Callee-saved)
uint64_t cpu_context::x21 |
General Purpose 64-bit register X21 (Callee-saved)
uint64_t cpu_context::x22 |
General Purpose 64-bit register X22 (Callee-saved)
uint64_t cpu_context::x23 |
General Purpose 64-bit register X23 (Callee-saved)
uint64_t cpu_context::x24 |
General Purpose 64-bit register X24 (Callee-saved)
uint64_t cpu_context::x25 |
General Purpose 64-bit register X25 (Callee-saved)
uint64_t cpu_context::x26 |
General Purpose 64-bit register X26 (Callee-saved)
uint64_t cpu_context::x27 |
General Purpose 64-bit register X27 (Callee-saved)
uint64_t cpu_context::x28 |
General Purpose 64-bit register X28 (Callee-saved)