50 lines
875 B
C
50 lines
875 B
C
|
|
||
|
#ifndef context_h__
|
||
|
#define context_h__
|
||
|
|
||
|
#include "stdint.h"
|
||
|
|
||
|
typedef struct {
|
||
|
uint32_t ra;//x1 0
|
||
|
uint32_t sp;//x2 1
|
||
|
uint32_t gp;//x3 2
|
||
|
uint32_t tp;//x4 3
|
||
|
uint32_t t0;//x5 4
|
||
|
uint32_t t1;//x6 5
|
||
|
uint32_t t2;//x7 6
|
||
|
uint32_t t6;//x31 7
|
||
|
uint32_t s1;//x9 8
|
||
|
uint32_t a0;//x10 9
|
||
|
uint32_t a1;//x11 10
|
||
|
uint32_t a2;//x12 11
|
||
|
uint32_t a3;//x13 12
|
||
|
uint32_t a4;//x14 13
|
||
|
uint32_t a5;//x15 14
|
||
|
uint32_t a6;//x16 15
|
||
|
uint32_t a7;//x17 16
|
||
|
|
||
|
uint32_t s2;//x18 17
|
||
|
uint32_t s3;//x19 18
|
||
|
uint32_t s4;//x20 19
|
||
|
uint32_t s5;//x21 20
|
||
|
uint32_t s6;//x22 21
|
||
|
uint32_t s7;//x23 22
|
||
|
uint32_t s8;//x24 23
|
||
|
uint32_t s9;//x25 24
|
||
|
uint32_t s10;//x26 25
|
||
|
uint32_t s11;//x27 26
|
||
|
uint32_t t3;//x28 27
|
||
|
uint32_t t4;//x29 28
|
||
|
uint32_t t5;//x30 29
|
||
|
uint32_t s0;//fp(x8) 30
|
||
|
|
||
|
uint32_t mstatus;//31
|
||
|
uint32_t mepc;//32
|
||
|
} stack_context;
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#endif
|