Subversion Repositories Kolibri OS

Rev

Rev 212 | Rev 221 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 212 Rev 214
Line 1... Line 1...
1
tmp_page_tab      equ 0x00C00000
1
tmp_page_tab      equ 0x00C00000
Line 2... Line 2...
2
 
2
 
3
align 4
3
align 4
-
 
4
proc mem_test
4
proc mem_test
5
 
5
           mov eax, cr0
6
           mov eax, cr0
6
           and eax, not (CR0_CD+CR0_NW)
7
           and eax, not (CR0_CD+CR0_NW)
7
           or eax, CR0_CD       ;disable caching
8
           or eax, CR0_CD         ;disable caching
8
           mov cr0, eax
9
           mov cr0, eax
Line 19... Line 20...
19
 
20
 
Line 20... Line 21...
20
           and eax, not (CR0_CD+CR0_NW)  ;enable caching
21
           and eax, not (CR0_CD+CR0_NW)  ;enable caching
21
           mov cr0, eax
22
           mov cr0, eax
22
           mov eax, edi
23
           mov eax, edi
-
 
24
           mov [LFBSize], 0x00800000
23
           ret
25
           ret
24
endp
26
endp
Line 25... Line 27...
25
 
27
 
26
align 4
28
align 4
Line 47... Line 49...
47
           add eax, 0x00400000
49
           add eax, 0x00400000
48
           mov dword [sys_pgdir+4], eax
50
           mov dword [sys_pgdir+4], eax
49
           add eax, 0x00400000
51
           add eax, 0x00400000
50
           mov dword [sys_pgdir+8], eax
52
           mov dword [sys_pgdir+8], eax
51
;           add eax, 0x00400000
53
 
52
;           mov dword [sys_pgdir+12], eax
-
 
53
 
-
 
Line 54... Line 54...
54
           mov dword [sys_pgdir+0x600], sys_pgdir+PG_SW
54
           mov dword [sys_pgdir+0x600], sys_pgdir+PG_SW
Line 55... Line 55...
55
 
55
 
56
           mov ecx, [pg_data.kernel_tables]
56
           mov ecx, [pg_data.kernel_tables]
Line 304... Line 304...
304
           endl
304
           endl
305
 
305
 
Line 306... Line 306...
306
           mov edi, [LFBSize]
306
           mov edi, [LFBSize]
307
           mov esi, [LFBAddress]
307
           mov esi, [LFBAddress]
-
 
308
           mov dword [exp_lfb+4], esi
-
 
309
 
308
           shr edi, 12
310
           shr edi, 12
309
           mov [pg_count], edi
311
           mov [pg_count], edi
310
           shr edi, 10
312
           shr edi, 10
Line 311... Line 313...
311
 
313
 
Line 1026... Line 1028...
1026
          ret
1028
          ret
1027
endp
1029
endp
1028
 
1030
 
Line 1029... Line 1031...
1029
align 4
1031
align 4
1030
proc fpu_save
-
 
1031
           clts
-
 
1032
           mov ebx, [fpu_owner]
-
 
1033
           shl ebx, 8
-
 
1034
           mov eax, [ebx+PROC_BASE+0x10]
-
 
1035
           mov ebx, [CURRENT_TASK]
-
 
1036
           mov [fpu_owner], ebx
-
 
1037
 
-
 
1038
           bt [cpu_caps], CAPS_FXSR
-
 
1039
           jnc .no_SSE
-
 
1040
 
-
 
1041
           fxsave [eax]
-
 
1042
           fninit            ;re-init fpu
-
 
1043
           ret
-
 
1044
.no_SSE:
-
 
1045
           fnsave [eax]
-
 
1046
           ret
-
 
1047
endp
-
 
1048
 
-
 
1049
align 4
-
 
1050
proc fpu_restore
-
 
1051
           mov ebx, [CURRENT_TASK]
-
 
1052
           shl ebx, 8
-
 
1053
           mov eax, [ebx+PROC_BASE+0x10]
-
 
1054
           bt [cpu_caps], CAPS_FXSR
-
 
1055
           jnc .no_SSE
-
 
1056
 
-
 
1057
           fxrstor [eax]
-
 
1058
           ret
-
 
1059
.no_SSE:
-
 
1060
           fnclex               ;fix possible problems
-
 
1061
           frstor [eax]
-
 
1062
           ret
-
 
1063
endp
-
 
1064
 
-
 
1065
align 4
-
 
1066
proc test_cpu
1032
proc test_cpu
1067
           locals
1033
           locals
1068
              cpu_type   dd ?
1034
              cpu_type   dd ?
1069
              cpu_id     dd ?
1035
              cpu_id     dd ?
1070
              cpu_Intel  dd ?
1036
              cpu_Intel  dd ?
Line 1284... Line 1250...
1284
  tmp_task_pdir     rd 1
1250
  tmp_task_pdir     rd 1
1285
  tmp_task_ptab     rd 1
1251
  tmp_task_ptab     rd 1
1286
  tmp_task_data     rd 1
1252
  tmp_task_data     rd 1
Line 1287... Line -...
1287
 
-
 
1288
;  current_pdir      rd 1
-
 
1289
 
1253
 
1290
  fpu_data          rd 1
1254
  fpu_data          rd 1
-
 
1255
  fdd_buff          rd 1
Line 1291... Line 1256...
1291
  fdd_buff          rd 1
1256
  LFBSize           rd 1
1292
 
1257
 
Line 1293... Line 1258...
1293
  stall_mcs         rd 1
1258
  stall_mcs         rd 1
Line 1301... Line 1266...
1301
 
1266
 
Line 1302... Line 1267...
1302
uglobal
1267
uglobal
1303
align 16
1268
align 16
1304
   dll_tab         rb 32*32
1269
   dll_tab         rb 32*32
1305
   srv_tab         rb 32*32
1270
   srv_tab         rb 36*32
1306
   dll_map         rd 1
1271
   dll_map         rd 1
1307
   srv_map         rd 1
1272
   srv_map         rd 1
Line 1308... Line 1273...
1308
 
1273
 
1309
   mem_used_list   rd 1
1274
   mem_used_list   rd 1