Rev 168 | Rev 183 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 168 | Rev 170 | ||
---|---|---|---|
Line 296... | Line 296... | ||
296 | je .init |
296 | je .init |
297 | mov eax, [ebx+PROC_BASE+APPDATA.fpu_state] |
297 | mov eax, [ebx+PROC_BASE+APPDATA.fpu_state] |
298 | fxrstor [eax] |
298 | fxrstor [eax] |
299 | restore_ring3_context |
299 | restore_ring3_context |
300 | iret |
300 | iret |
301 | .init: |
- | |
302 | fninit ; ¬ ¥ ã¦ë ¥¬ ᪨஢ ë¥ ¨áª«î票ï |
- | |
303 | mov dword [ebx+PROC_BASE+APPDATA.fpu_init], 1 |
- | |
304 | .exit: |
301 | |
305 | restore_ring3_context |
- | |
306 | iret |
- | |
307 | .no_SSE: |
302 | .no_SSE: |
308 | fnsave [eax] |
303 | fnsave [eax] |
309 | mov ebx, [CURRENT_TASK] |
304 | mov ebx, [CURRENT_TASK] |
310 | mov [fpu_owner], ebx |
305 | mov [fpu_owner], ebx |
311 | shl ebx, 8 |
306 | shl ebx, 8 |
312 | cmp dword [ebx+PROC_BASE+APPDATA.fpu_init], 0 |
307 | cmp dword [ebx+PROC_BASE+APPDATA.fpu_init], 0 |
313 | je .init |
308 | je .ready |
Line 314... | Line 309... | ||
314 | 309 | ||
315 | mov eax, [ebx+PROC_BASE+APPDATA.fpu_state] |
310 | mov eax, [ebx+PROC_BASE+APPDATA.fpu_state] |
316 | frstor [eax] |
311 | frstor [eax] |
317 | restore_ring3_context |
312 | restore_ring3_context |
Line -... | Line 313... | ||
- | 313 | iret |
|
- | 314 | ||
- | 315 | .init: |
|
- | 316 | fninit ; ¬ ¥ ã¦ë ¥¬ ᪨஢ ë¥ ¨áª«î票ï |
|
- | 317 | .ready: |
|
- | 318 | mov dword [ebx+PROC_BASE+APPDATA.fpu_init], 1 |
|
- | 319 | .exit: |
|
- | 320 | restore_ring3_context |
|
318 | iret |
321 | iret |
319 | 322 | ||
320 | iglobal |
323 | iglobal |