Stores the registers and PC for a context switch. More...
Stores the registers and PC for a context switch.
This also defines context_switch_frame offsets for assembly language. The structure is sized to maintain 16 byte stack alignment per the ABI. https://github.com/riscv/riscv-elf-psabi-doc
Definition at line 36 of file context_frame.h.
#include <context_frame.h>
Data Fields | |
| uint32_t | s0 |
| s0 register | |
| uint32_t | s1 |
| s1 register | |
| uint32_t | s2 |
| s2 register | |
| uint32_t | s3 |
| s3 register | |
| uint32_t | s4 |
| s4 register | |
| uint32_t | s5 |
| s5 register | |
| uint32_t | s6 |
| s6 register | |
| uint32_t | s7 |
| s7 register | |
| uint32_t | s8 |
| s8 register | |
| uint32_t | s9 |
| s9 register | |
| uint32_t | s10 |
| s10 register | |
| uint32_t | s11 |
| s11 register | |
| uint32_t | ra |
| ra register | |
| uint32_t | t0 |
| t0 register | |
| uint32_t | t1 |
| t1 register | |
| uint32_t | t2 |
| t2 register | |
| uint32_t | t3 |
| t3 register | |
| uint32_t | t4 |
| t4 register | |
| uint32_t | t5 |
| t5 register | |
| uint32_t | t6 |
| t6 register | |
| uint32_t | a0 |
| a0 register | |
| uint32_t | a1 |
| a1 register | |
| uint32_t | a2 |
| a2 register | |
| uint32_t | a3 |
| a3 register | |
| uint32_t | a4 |
| a4 register | |
| uint32_t | a5 |
| a5 register | |
| uint32_t | a6 |
| a6 register | |
| uint32_t | a7 |
| a7 register | |
| uint32_t | pc |
| program counter | |
| uint32_t | pad [3] |
| padding to maintain 16 byte alignment | |