Rev 10002 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 10002 | Rev 10051 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;; ;; |
2 | ;; ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2024. 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 | - | ||
8 | $Revision: 10002 $ |
- | |
Line 9... | Line 7... | ||
9 | 7 | ||
10 | 8 | ||
Line 11... | Line 9... | ||
11 | align 4 |
9 | align 4 |
Line 595... | Line 593... | ||
595 | ;incorrect address in program |
593 | ;incorrect address in program |
Line 596... | Line 594... | ||
596 | 594 | ||
597 | mov eax, [page_tabs + ebx*4] |
595 | mov eax, [page_tabs + ebx*4] |
598 | test eax, 2 |
596 | test eax, 2 |
599 | jz .fail ;address is not reserved for usage. Error |
597 | jz .fail ;address is not reserved for usage. Error |
600 | 598 | ||
601 | .alloc: |
599 | .alloc: |
602 | call alloc_page |
600 | call alloc_page |
603 | test eax, eax |
601 | test eax, eax |
Line 654... | Line 652... | ||
654 | test eax, PG_READ |
652 | test eax, PG_READ |
655 | jz .fail ;page does not present |
653 | jz .fail ;page does not present |
Line 656... | Line 654... | ||
656 | 654 | ||
657 | test eax, 12 ;U/S (+below) |
655 | test eax, 12 ;U/S (+below) |
658 | jnz .fail ;application requested kernel memory |
656 | jnz .fail ;application requested kernel memory |
659 | 657 | ||
660 | ;test eax, 8 |
658 | ;test eax, 8 |
661 | ;jnz .fail ;the reserved bit is set in page tables. Added in P4/Xeon |
659 | ;jnz .fail ;the reserved bit is set in page tables. Added in P4/Xeon |
Line 662... | Line 660... | ||
662 | 660 | ||
Line 663... | Line 661... | ||
663 | 661 | ||
664 | ;an attempt to write to a protected kernel page |
662 | ;an attempt to write to a protected kernel page |