/kernel/trunk/core/memory.inc |
---|
275,16 → 275,36 |
endp |
; param |
; eax= page base |
; eax= page base + page flags |
; ebx= liear address |
; ecx= count |
align 4 |
commit_pages: ;not implemented |
commit_pages: |
test ecx, ecx |
jz .fail |
mov edi, ebx |
mov ebx, pg_data.pg_mutex |
call wait_mutex ;ebx |
mov edx, 0x1000 |
mov ebx, edi |
shr ebx, 12 |
@@: |
mov [pages_tab+ebx*4], eax |
invlpg [edi] |
add edi, edx |
add eax, edx |
inc ebx |
dec ecx |
jnz @B |
mov [pg_data.pg_mutex],ecx |
.fail: |
ret |
; param |
; eax= base |
; ecx= count |
1416,16 → 1436,16 |
sys_page_map rd 1 |
endg |
if 0 |
push eax |
push edx |
mov edx, 0x400 ;bocsh |
mov al,0xff ;bocsh |
out dx, al ;bocsh |
pop edx |
pop eax |
end if |
; push eax |
; push edx |
; mov edx, 0x400 ;bocsh |
; mov al,0xff ;bocsh |
; out dx, al ;bocsh |
; pop edx |
; pop eax |
align 4 |
k_strrchr: |
push eax |