Rev 2071 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2071 | Rev 3766 | ||
---|---|---|---|
Line 147... | Line 147... | ||
147 | "stf.spill [%5] = f125, 0x80\n" |
147 | "stf.spill [%5] = f125, 0x80\n" |
148 | "stf.spill [%6] = f126, 0x80\n" |
148 | "stf.spill [%6] = f126, 0x80\n" |
149 | "stf.spill [%7] = f127, 0x80\n;;" |
149 | "stf.spill [%7] = f127, 0x80\n;;" |
150 | 150 | ||
151 | : |
151 | : |
- | 152 | : "r" (&((fctx->fr)[0])), "r" (&((fctx->fr)[1])), |
|
152 | : "r" (&((fctx->fr)[0])), "r" (&((fctx->fr)[1])), "r" (&((fctx->fr)[2])), "r" (&((fctx->fr)[3])), |
153 | "r" (&((fctx->fr)[2])), "r" (&((fctx->fr)[3])), |
153 | "r" (&((fctx->fr)[4])), "r" (&((fctx->fr)[5])), "r" (&((fctx->fr)[6])), "r" (&((fctx->fr)[7])) |
154 | "r" (&((fctx->fr)[4])), "r" (&((fctx->fr)[5])), |
- | 155 | "r" (&((fctx->fr)[6])), "r" (&((fctx->fr)[7])) |
|
154 | ); |
156 | ); |
155 | 157 | ||
156 | } |
158 | } |
157 | 159 | ||
158 | void fpu_context_restore(fpu_context_t *fctx) |
160 | void fpu_context_restore(fpu_context_t *fctx) |
Line 265... | Line 267... | ||
265 | "ldf.fill f125 = [%5], 0x80\n" |
267 | "ldf.fill f125 = [%5], 0x80\n" |
266 | "ldf.fill f126 = [%6], 0x80\n" |
268 | "ldf.fill f126 = [%6], 0x80\n" |
267 | "ldf.fill f127 = [%7], 0x80\n;;" |
269 | "ldf.fill f127 = [%7], 0x80\n;;" |
268 | 270 | ||
269 | : |
271 | : |
- | 272 | : "r" (&((fctx->fr)[0])), "r" (&((fctx->fr)[1])), |
|
270 | : "r" (&((fctx->fr)[0])), "r" (&((fctx->fr)[1])), "r" (&((fctx->fr)[2])), "r" (&((fctx->fr)[3])), |
273 | "r" (&((fctx->fr)[2])), "r" (&((fctx->fr)[3])), |
271 | "r" (&((fctx->fr)[4])), "r" (&((fctx->fr)[5])), "r" (&((fctx->fr)[6])), "r" (&((fctx->fr)[7])) |
274 | "r" (&((fctx->fr)[4])), "r" (&((fctx->fr)[5])), |
- | 275 | "r" (&((fctx->fr)[6])), "r" (&((fctx->fr)[7])) |
|
272 | ); |
276 | ); |
273 | } |
277 | } |
274 | 278 | ||
275 | void fpu_enable(void) |
279 | void fpu_enable(void) |
276 | { |
280 | { |
277 | uint64_t a = 0 ; |
281 | uint64_t a = 0; |
278 | 282 | ||
279 | asm volatile ( |
283 | asm volatile ( |
280 | "rsm %0 ;;" |
284 | "rsm %0 ;;" |
281 | "srlz.i\n" |
285 | "srlz.i\n" |
282 | "srlz.d ;;\n" |
286 | "srlz.d ;;\n" |