Rev 3500 | Rev 5201 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3500 | Rev 3908 | ||
---|---|---|---|
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: 3500 $ |
8 | $Revision: 3908 $ |
9 | 9 | ||
10 | 10 | ||
Line 888... | Line 888... | ||
888 | cmp eax, ebx ; check for overflow |
888 | cmp eax, ebx ; check for overflow |
889 | ja .error |
889 | ja .error |
Line 890... | Line 890... | ||
890 | 890 | ||
891 | mov ebx, [offset] |
891 | mov ebx, [offset] |
- | 892 | and ebx, not 4095 ; is it required ? |
|
Line 892... | Line 893... | ||
892 | and ebx, not 4095 ; is it required ? |
893 | add ebx, [base] |
893 | 894 | ||
894 | .unmap: |
895 | .unmap: |
895 | mov eax, [edx] ; get page addres |
896 | mov eax, [edx] ; get page addres |
896 | test al, 1 ; page mapped ? |
897 | test al, 1 ; page mapped ? |
897 | jz @F |
898 | jz @F |
898 | test eax, PG_SHARED ; page shared ? |
899 | test eax, PG_SHARED ; page shared ? |
899 | jnz @F |
900 | jnz @F |
900 | mov [page_tabs+edx*4], dword 2 |
901 | mov [edx], dword 2 |
901 | ; mark page as reserved |
902 | ; mark page as reserved |
902 | invlpg [ebx] ; when we start using |
903 | invlpg [ebx] ; when we start using |
903 | call free_page ; empty c-o-w page instead this ? |
904 | call free_page ; empty c-o-w page instead this ? |