Subversion Repositories Kolibri OS

Rev

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

Rev 388 Rev 394
Line 390... Line 390...
390
           test eax, eax
390
           test eax, eax
391
           jz .fail
391
           jz .fail
392
           mov [dir_addr], eax
392
           mov [dir_addr], eax
393
           stdcall map_page,[tmp_task_pdir],eax,dword PG_SW
393
           stdcall map_page,[tmp_task_pdir],eax,dword PG_SW
Line 394... Line -...
394
 
-
 
395
           mov esi, sys_pgdir
394
 
-
 
395
           mov edi, [tmp_task_pdir]
-
 
396
           mov ecx, (LFB_BASE shr 20)/4  ;(page_tabs shr 20)/4
-
 
397
           xor eax, eax
-
 
398
           rep stosd
-
 
399
 
396
           mov edi, [tmp_task_pdir]
400
           mov esi, sys_pgdir+(LFB_BASE shr 20) ;(OS_BASE shr 20)
397
           mov ecx, (page_tabs shr 20)/4
401
           mov ecx, (OS_BASE shr 20)/4
398
           cld
402
           cld
Line -... Line 403...
-
 
403
           rep movsd
399
           rep movsd
404
 
400
 
405
           mov edi, [tmp_task_pdir]
401
           mov eax, [dir_addr]
406
           mov eax, [dir_addr]
402
           or eax, PG_SW
-
 
403
           stosd                 ; [(page_tabs shr 20)]= eax
-
 
404
 
-
 
405
           mov ecx, 0x800/4
-
 
Line 406... Line 407...
406
           xor eax, eax
407
           or eax, PG_SW
407
           rep stosd
408
           mov [edi+(page_tabs shr 20)], eax
Line 408... Line 409...
408
 
409
 
Line 469... Line 470...
469
 
470
 
470
           stdcall map_page,edx,eax,dword PG_UW
471
           stdcall map_page,edx,eax,dword PG_UW
471
           add edx, 0x1000
472
           add edx, 0x1000
472
           dec [app_pages]
473
           dec [app_pages]
473
           jnz .alloc
-
 
474
 
474
           jnz .alloc
Line 475... Line 475...
475
end if
475
end if
476
 
476
 
Line 555... Line 555...
555
 
555
 
556
           mov eax, [pg_dir]
556
           mov eax, [pg_dir]
557
           and eax, not 0xFFF
557
           and eax, not 0xFFF
558
           stdcall map_page,[tmp_task_pdir],eax,dword PG_SW
558
           stdcall map_page,[tmp_task_pdir],eax,dword PG_SW
559
           mov esi, [tmp_task_pdir]
-
 
560
           add esi, 0x800
559
           mov esi, [tmp_task_pdir]
561
           mov edi, 0x800/4
560
           mov edi, (LFB_BASE shr 20)/4
562
.destroy:
561
.destroy:
563
           mov eax, [esi]
562
           mov eax, [esi]
564
           test eax, 1
563
           test eax, 1
565
           jz .next
564
           jz .next