Subversion Repositories Kolibri OS

Rev

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

Rev 5356 Rev 5357
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 5356 $
8
$Revision: 5357 $
9
 
9
 
Line 125... Line 125...
125
align 4
125
align 4
126
;proc map_page stdcall,lin_addr:dword,phis_addr:dword,flags:dword
126
;proc map_page stdcall,lin_addr:dword,phis_addr:dword,flags:dword
127
map_page:
127
map_page:
128
        push    ebx
128
        push    ebx
129
        mov     eax, [esp+12]               ; phis_addr
129
        mov     eax, [esp+12]              ; phis_addr
130
        and     eax, not 0xFFF
-
 
131
        or      eax, [esp+16]              ; flags
130
        or      eax, [esp+16]              ; flags
-
 
131
        and     eax, [pte_valid_mask]
132
        mov     ebx, [esp+8]               ; lin_addr
132
        mov     ebx, [esp+8]               ; lin_addr
133
        shr     ebx, 12
133
        shr     ebx, 12
134
        mov     [page_tabs+ebx*4], eax
134
        mov     [page_tabs+ebx*4], eax
135
        mov     eax, [esp+8]               ; lin_addr
135
        mov     eax, [esp+8]               ; lin_addr
136
        pop     ebx
136
        pop     ebx
Line 189... Line 189...
189
        mov     ebx, eax
189
        mov     ebx, eax
190
        mov     ecx, [size]
190
        mov     ecx, [size]
191
        mov     edx, [base]
191
        mov     edx, [base]
192
        shr     eax, 12
192
        shr     eax, 12
193
        shr     ecx, 12
193
        shr     ecx, 12
194
        and     edx, -4096
-
 
195
        or      edx, [flags]
194
        or      edx, [flags]
-
 
195
        and     edx, [pte_valid_mask]
196
@@:
196
@@:
197
        mov     [page_tabs+eax*4], edx
197
        mov     [page_tabs+eax*4], edx
198
        invlpg  [ebx]
198
        invlpg  [ebx]
199
        inc     eax
199
        inc     eax
200
        add     ebx, edi
200
        add     ebx, edi
Line 227... Line 227...
227
        mov     ecx, pg_data.mutex
227
        mov     ecx, pg_data.mutex
228
        call    mutex_lock
228
        call    mutex_lock
229
        pop     ecx
229
        pop     ecx
230
        pop     eax
230
        pop     eax
Line -... Line 231...
-
 
231
 
231
 
232
        and     eax, [pte_valid_mask ]
232
        mov     edi, ebx
233
        mov     edi, ebx
233
        shr     edi, 12
234
        shr     edi, 12
234
        lea     edi, [page_tabs+edi*4]
235
        lea     edi, [page_tabs+edi*4]
235
@@:
236
@@: