-
Notifications
You must be signed in to change notification settings - Fork 0
/
reg_offsets.h
51 lines (46 loc) · 1.43 KB
/
reg_offsets.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#ifndef _REG_OFFSETS_H_
#define _REG_OFFSETS_H_
#define REG_SIZE 8
/* register offsets into stackframe, see stackframe.h */
#define P_STACKBASE 0
#define SEPCREG P_STACKBASE
#define RAREG SEPCREG + REG_SIZE
#define SPREG RAREG + REG_SIZE
#define KERNELSPREG SPREG + REG_SIZE
#define GPREG KERNELSPREG + REG_SIZE
#define TPREG GPREG + REG_SIZE
#define T0REG TPREG + REG_SIZE
#define T1REG T0REG + REG_SIZE
#define T2REG T1REG + REG_SIZE
#define S0REG T2REG + REG_SIZE
#define S1REG S0REG + REG_SIZE
#define A0REG S1REG + REG_SIZE
#define A1REG A0REG + REG_SIZE
#define A2REG A1REG + REG_SIZE
#define A3REG A2REG + REG_SIZE
#define A4REG A3REG + REG_SIZE
#define A5REG A4REG + REG_SIZE
#define A6REG A5REG + REG_SIZE
#define A7REG A6REG + REG_SIZE
#define S2REG A7REG + REG_SIZE
#define S3REG S2REG + REG_SIZE
#define S4REG S3REG + REG_SIZE
#define S5REG S4REG + REG_SIZE
#define S6REG S5REG + REG_SIZE
#define S7REG S6REG + REG_SIZE
#define S8REG S7REG + REG_SIZE
#define S9REG S8REG + REG_SIZE
#define S10REG S9REG + REG_SIZE
#define S11REG S10REG + REG_SIZE
#define T3REG S11REG + REG_SIZE
#define T4REG T3REG + REG_SIZE
#define T5REG T4REG + REG_SIZE
#define T6REG T5REG + REG_SIZE
#define SSTATUSREG T6REG + REG_SIZE
#define SBADADDRREG SSTATUSREG + REG_SIZE
#define SCAUSEREG SBADADDRREG + REG_SIZE
#define P_ORIGA0 SCAUSEREG + REG_SIZE
#define P_CPU P_ORIGA0 + REG_SIZE
#define P_TBR_PHYS P_CPU + REG_SIZE
#define P_TBR_VIR P_TBR_PHYS + REG_SIZE
#endif