forked from KolibriOS/kolibrios
fix FPU after r7124 for other CPU configurations
git-svn-id: svn://kolibrios.org@7165 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
a49931c083
commit
43e84d7672
@ -34,15 +34,19 @@ init_fpu:
|
|||||||
xor ecx, ecx
|
xor ecx, ecx
|
||||||
cpuid
|
cpuid
|
||||||
mov [xsave_area_size], ebx
|
mov [xsave_area_size], ebx
|
||||||
|
cmp ebx, fpu_data_size
|
||||||
|
ja $
|
||||||
|
|
||||||
test eax, XCR0_AVX512
|
test eax, XCR0_AVX512
|
||||||
jz @f
|
jz @f
|
||||||
call init_avx512
|
call init_avx512
|
||||||
|
xsave [fpu_data]
|
||||||
ret
|
ret
|
||||||
@@:
|
@@:
|
||||||
test eax, XCR0_AVX
|
test eax, XCR0_AVX
|
||||||
jz @f
|
jz @f
|
||||||
call init_avx
|
call init_avx
|
||||||
|
xsave [fpu_data]
|
||||||
ret
|
ret
|
||||||
@@:
|
@@:
|
||||||
test eax, XCR0_SSE
|
test eax, XCR0_SSE
|
||||||
|
@ -924,7 +924,9 @@ proc set_app_params stdcall,slot:dword, params:dword, flags:dword
|
|||||||
mov [eax+SLOT_BASE+APPDATA.io_map+4], ecx
|
mov [eax+SLOT_BASE+APPDATA.io_map+4], ecx
|
||||||
|
|
||||||
mov esi, fpu_data
|
mov esi, fpu_data
|
||||||
mov ecx, 512/4
|
mov ecx, [xsave_area_size]
|
||||||
|
add ecx, 3
|
||||||
|
shr ecx, 2
|
||||||
rep movsd
|
rep movsd
|
||||||
|
|
||||||
cmp ebx, [TASK_COUNT]
|
cmp ebx, [TASK_COUNT]
|
||||||
|
@ -336,7 +336,8 @@ align 16
|
|||||||
cur_saved_data:
|
cur_saved_data:
|
||||||
rb 4096
|
rb 4096
|
||||||
fpu_data:
|
fpu_data:
|
||||||
rb 512
|
rb 1024
|
||||||
|
fpu_data_size = $ - fpu_data
|
||||||
draw_data:
|
draw_data:
|
||||||
rb 32*256
|
rb 32*256
|
||||||
BPSLine_calc_area rd 1440
|
BPSLine_calc_area rd 1440
|
||||||
|
@ -1116,8 +1116,9 @@ proc setup_os_slot
|
|||||||
mov dword [edx+APPDATA.terminate_protection], 1 ; make unkillable
|
mov dword [edx+APPDATA.terminate_protection], 1 ; make unkillable
|
||||||
|
|
||||||
mov esi, fpu_data
|
mov esi, fpu_data
|
||||||
mov ecx, 512/4
|
mov ecx, [xsave_area_size]
|
||||||
cld
|
add ecx, 3
|
||||||
|
shr ecx, 2
|
||||||
rep movsd
|
rep movsd
|
||||||
|
|
||||||
lea eax, [edx+APP_OBJ_OFFSET]
|
lea eax, [edx+APP_OBJ_OFFSET]
|
||||||
|
Loading…
Reference in New Issue
Block a user