Subversion Repositories HelenOS

Rev

Rev 3386 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3386 Rev 4153
Line 74... Line 74...
74
#define EOFFSET_T3     0x28
74
#define EOFFSET_T3     0x28
75
#define EOFFSET_T4     0x2c
75
#define EOFFSET_T4     0x2c
76
#define EOFFSET_T5     0x30
76
#define EOFFSET_T5     0x30
77
#define EOFFSET_T6     0x34
77
#define EOFFSET_T6     0x34
78
#define EOFFSET_T7     0x38
78
#define EOFFSET_T7     0x38
79
#define EOFFSET_S0     0x3c
-
 
80
#define EOFFSET_S1     0x40
-
 
81
#define EOFFSET_S2     0x44
-
 
82
#define EOFFSET_S3     0x48
-
 
83
#define EOFFSET_S4     0x4c
-
 
84
#define EOFFSET_S5     0x50
-
 
85
#define EOFFSET_S6     0x54
-
 
86
#define EOFFSET_S7     0x58
-
 
87
#define EOFFSET_T8     0x5c
79
#define EOFFSET_T8     0x3c
88
#define EOFFSET_T9     0x60
80
#define EOFFSET_T9     0x40
89
#define EOFFSET_GP     0x64
81
#define EOFFSET_GP     0x44
90
#define EOFFSET_SP     0x68
82
#define EOFFSET_SP     0x48
91
#define EOFFSET_S8     0x6c
-
 
92
#define EOFFSET_RA     0x70
83
#define EOFFSET_RA     0x4c
93
#define EOFFSET_LO     0x74
84
#define EOFFSET_LO     0x50
94
#define EOFFSET_HI     0x78
85
#define EOFFSET_HI     0x54
95
#define EOFFSET_STATUS 0x7c
86
#define EOFFSET_STATUS 0x58
96
#define EOFFSET_EPC    0x80
87
#define EOFFSET_EPC    0x5c
97
#define EOFFSET_K1     0x84
88
#define EOFFSET_K1     0x60
98
#define REGISTER_SPACE 136
89
#define REGISTER_SPACE 100
99
 
90
 
100
#ifdef __ASM__
91
#ifdef __ASM__
101
 
92
 
102
#include <arch/asm/regname.h>
93
#include <arch/asm/regname.h>
103
 
94
 
Line 112... Line 103...
112
    sw $s6,OFFSET_S6(\ctx)
103
    sw $s6,OFFSET_S6(\ctx)
113
    sw $s7,OFFSET_S7(\ctx)
104
    sw $s7,OFFSET_S7(\ctx)
114
    sw $s8,OFFSET_S8(\ctx)
105
    sw $s8,OFFSET_S8(\ctx)
115
    sw $gp,OFFSET_GP(\ctx)
106
    sw $gp,OFFSET_GP(\ctx)
116
 
107
 
117
#ifndef KERNEL      
108
#ifndef KERNEL
118
    sw $k1,OFFSET_TLS(\ctx)
109
    sw $k1,OFFSET_TLS(\ctx)
119
 
110
 
120
# ifdef CONFIG_MIPS_FPU 
111
#ifdef CONFIG_FPU
121
    mfc1 $t0,$20
112
    mfc1 $t0,$20
122
    sw $t0, OFFSET_F20(\ctx)
113
    sw $t0, OFFSET_F20(\ctx)
123
 
114
 
124
    mfc1 $t0,$21
115
    mfc1 $t0,$21
125
    sw $t0, OFFSET_F21(\ctx)
116
    sw $t0, OFFSET_F21(\ctx)
Line 148... Line 139...
148
    mfc1 $t0,$29
139
    mfc1 $t0,$29
149
    sw $t0, OFFSET_F29(\ctx)
140
    sw $t0, OFFSET_F29(\ctx)
150
   
141
   
151
    mfc1 $t0,$30
142
    mfc1 $t0,$30
152
    sw $t0, OFFSET_F30(\ctx)
143
    sw $t0, OFFSET_F30(\ctx)
153
# endif /* CONFIG_MIPS_FPU */   
144
#endif /* CONFIG_FPU */
154
#endif /* KERNEL */
145
#endif /* KERNEL */
155
 
146
 
156
    sw $ra,OFFSET_PC(\ctx)
147
    sw $ra,OFFSET_PC(\ctx)
157
    sw $sp,OFFSET_SP(\ctx)
148
    sw $sp,OFFSET_SP(\ctx)
158
.endm
149
.endm
Line 170... Line 161...
170
    lw $s8,OFFSET_S8(\ctx)
161
    lw $s8,OFFSET_S8(\ctx)
171
    lw $gp,OFFSET_GP(\ctx)
162
    lw $gp,OFFSET_GP(\ctx)
172
#ifndef KERNEL
163
#ifndef KERNEL
173
    lw $k1,OFFSET_TLS(\ctx)
164
    lw $k1,OFFSET_TLS(\ctx)
174
 
165
 
175
# ifdef CONFIG_MIPS_FPU 
166
#ifdef CONFIG_FPU
176
    lw $t0, OFFSET_F20(\ctx)
167
    lw $t0, OFFSET_F20(\ctx)
177
    mtc1 $t0,$20
168
    mtc1 $t0,$20
178
 
169
 
179
    lw $t0, OFFSET_F21(\ctx)
170
    lw $t0, OFFSET_F21(\ctx)
180
    mtc1 $t0,$21
171
    mtc1 $t0,$21
Line 203... Line 194...
203
    lw $t0, OFFSET_F29(\ctx)
194
    lw $t0, OFFSET_F29(\ctx)
204
    mtc1 $t0,$29
195
    mtc1 $t0,$29
205
 
196
 
206
    lw $t0, OFFSET_F30(\ctx)
197
    lw $t0, OFFSET_F30(\ctx)
207
    mtc1 $t0,$30
198
    mtc1 $t0,$30
208
# endif /* CONFIG_MIPS_FPU */
199
#endif /* CONFIG_FPU */
209
   
-
 
210
#endif /* KERNEL */
200
#endif /* KERNEL */
-
 
201
 
211
    lw $ra,OFFSET_PC(\ctx)
202
    lw $ra,OFFSET_PC(\ctx)
212
    lw $sp,OFFSET_SP(\ctx)
203
    lw $sp,OFFSET_SP(\ctx)
213
.endm
204
.endm
214
 
205
 
215
#endif
206
#endif