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 | @@: |