Thread context frame stored on stack. More...
Thread context frame stored on stack.
Definition in file context_frame.h.
#include <stdint.h>
Include dependency graph for context_frame.h:Go to the source code of this file.
Data Structures | |
| struct | context_switch_frame |
| Stores the registers and PC for a context switch. More... | |
Macros | |
| #define | CONTEXT_FRAME_SIZE (pad_OFFSET + 3 * REGSZ) |
| Size of context switch frame. | |
| #define | SP_OFFSET_IN_THREAD 0 |
| Offset of stack pointer in struct _thread. | |
| #define | REGSZ (__riscv_xlen / 8) |
| size of one register in bytes | |
| #define | REG_L lw |
| XLEN-sized load instruction mnemonic. | |
| #define | REG_S sw |
| XLEN-sized store instruction mnemonic. | |
Register offsets | |
| #define | s0_OFFSET (0 * REGSZ) |
| #define | s1_OFFSET (1 * REGSZ) |
| #define | s2_OFFSET (2 * REGSZ) |
| #define | s3_OFFSET (3 * REGSZ) |
| #define | s4_OFFSET (4 * REGSZ) |
| #define | s5_OFFSET (5 * REGSZ) |
| #define | s6_OFFSET (6 * REGSZ) |
| #define | s7_OFFSET (7 * REGSZ) |
| #define | s8_OFFSET (8 * REGSZ) |
| #define | s9_OFFSET (9 * REGSZ) |
| #define | s10_OFFSET (10 * REGSZ) |
| #define | s11_OFFSET (11 * REGSZ) |
| #define | ra_OFFSET (12 * REGSZ) |
| #define | t0_OFFSET (13 * REGSZ) |
| #define | t1_OFFSET (14 * REGSZ) |
| #define | t2_OFFSET (15 * REGSZ) |
| #define | t3_OFFSET (16 * REGSZ) |
| #define | t4_OFFSET (17 * REGSZ) |
| #define | t5_OFFSET (18 * REGSZ) |
| #define | t6_OFFSET (19 * REGSZ) |
| #define | a0_OFFSET (20 * REGSZ) |
| #define | a1_OFFSET (21 * REGSZ) |
| #define | a2_OFFSET (22 * REGSZ) |
| #define | a3_OFFSET (23 * REGSZ) |
| #define | a4_OFFSET (24 * REGSZ) |
| #define | a5_OFFSET (25 * REGSZ) |
| #define | a6_OFFSET (26 * REGSZ) |
| #define | a7_OFFSET (27 * REGSZ) |
| #define | pc_OFFSET (28 * REGSZ) |
| #define | pad_OFFSET (29 * REGSZ) |
| #define a0_OFFSET (20 * REGSZ) |
Definition at line 121 of file context_frame.h.
| #define a1_OFFSET (21 * REGSZ) |
Definition at line 122 of file context_frame.h.
| #define a2_OFFSET (22 * REGSZ) |
Definition at line 123 of file context_frame.h.
| #define a3_OFFSET (23 * REGSZ) |
Definition at line 124 of file context_frame.h.
| #define a4_OFFSET (24 * REGSZ) |
Definition at line 125 of file context_frame.h.
| #define a5_OFFSET (25 * REGSZ) |
Definition at line 126 of file context_frame.h.
| #define a6_OFFSET (26 * REGSZ) |
Definition at line 127 of file context_frame.h.
| #define a7_OFFSET (27 * REGSZ) |
Definition at line 128 of file context_frame.h.
| #define CONTEXT_FRAME_SIZE (pad_OFFSET + 3 * REGSZ) |
Size of context switch frame.
Definition at line 136 of file context_frame.h.
| #define pad_OFFSET (29 * REGSZ) |
Definition at line 130 of file context_frame.h.
| #define pc_OFFSET (28 * REGSZ) |
Definition at line 129 of file context_frame.h.
| #define ra_OFFSET (12 * REGSZ) |
Definition at line 113 of file context_frame.h.
| #define REG_L lw |
XLEN-sized load instruction mnemonic.
Definition at line 41 of file context_frame.h.
| #define REG_S sw |
XLEN-sized store instruction mnemonic.
Definition at line 45 of file context_frame.h.
| #define REGSZ (__riscv_xlen / 8) |
size of one register in bytes
Definition at line 26 of file context_frame.h.
| #define s0_OFFSET (0 * REGSZ) |
Definition at line 101 of file context_frame.h.
| #define s10_OFFSET (10 * REGSZ) |
Definition at line 111 of file context_frame.h.
| #define s11_OFFSET (11 * REGSZ) |
Definition at line 112 of file context_frame.h.
| #define s1_OFFSET (1 * REGSZ) |
Definition at line 102 of file context_frame.h.
| #define s2_OFFSET (2 * REGSZ) |
Definition at line 103 of file context_frame.h.
| #define s3_OFFSET (3 * REGSZ) |
Definition at line 104 of file context_frame.h.
| #define s4_OFFSET (4 * REGSZ) |
Definition at line 105 of file context_frame.h.
| #define s5_OFFSET (5 * REGSZ) |
Definition at line 106 of file context_frame.h.
| #define s6_OFFSET (6 * REGSZ) |
Definition at line 107 of file context_frame.h.
| #define s7_OFFSET (7 * REGSZ) |
Definition at line 108 of file context_frame.h.
| #define s8_OFFSET (8 * REGSZ) |
Definition at line 109 of file context_frame.h.
| #define s9_OFFSET (9 * REGSZ) |
Definition at line 110 of file context_frame.h.
| #define SP_OFFSET_IN_THREAD 0 |
Offset of stack pointer in struct _thread.
Definition at line 141 of file context_frame.h.
| #define t0_OFFSET (13 * REGSZ) |
Definition at line 114 of file context_frame.h.
| #define t1_OFFSET (14 * REGSZ) |
Definition at line 115 of file context_frame.h.
| #define t2_OFFSET (15 * REGSZ) |
Definition at line 116 of file context_frame.h.
| #define t3_OFFSET (16 * REGSZ) |
Definition at line 117 of file context_frame.h.
| #define t4_OFFSET (17 * REGSZ) |
Definition at line 118 of file context_frame.h.
| #define t5_OFFSET (18 * REGSZ) |
Definition at line 119 of file context_frame.h.
| #define t6_OFFSET (19 * REGSZ) |
Definition at line 120 of file context_frame.h.