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