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 |