Changeset 94d211e in mainline for kernel/arch/arm32/include/arch/mm/page_armv4.h
- Timestamp:
- 2018-03-21T19:32:48Z (6 years ago)
- Children:
- 1c7a170
- Parents:
- 973be387
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/arm32/include/arch/mm/page_armv4.h
r973be387 r94d211e 49 49 #define PTE_GET_FRAME_ARCH(pte) \ 50 50 (((uintptr_t) ((pte_t *) (pte))->l1.frame_base_addr) << FRAME_WIDTH) 51 #define PTE_READABLE_ARCH(pte) \ 52 1 51 53 #define PTE_WRITABLE_ARCH(pte) \ 52 54 (((pte_t *) (pte))->l1.access_permission_0 == PTE_AP_USER_RW_KERNEL_RW) … … 138 140 int np = (p->descriptor_type == PTE_DESCRIPTOR_NOT_PRESENT); 139 141 140 return (np << PAGE_PRESENT_SHIFT) | (1 << PAGE_USER_SHIFT) | 141 (1 << PAGE_READ_SHIFT) | (1 << PAGE_WRITE_SHIFT) | 142 (1 << PAGE_EXEC_SHIFT) | (1 << PAGE_CACHEABLE_SHIFT); 142 return (np << PAGE_NOT_PRESENT_SHIFT) | PAGE_NEXT_LEVEL_PT; 143 143 } 144 144 … … 156 156 int ap = p->access_permission_0; 157 157 158 return ((dt == PTE_DESCRIPTOR_NOT_PRESENT) << PAGE_ PRESENT_SHIFT) |158 return ((dt == PTE_DESCRIPTOR_NOT_PRESENT) << PAGE_NOT_PRESENT_SHIFT) | 159 159 ((ap == PTE_AP_USER_RO_KERNEL_RW) << PAGE_READ_SHIFT) | 160 160 ((ap == PTE_AP_USER_RW_KERNEL_RW) << PAGE_READ_SHIFT) | … … 164 164 ((ap == PTE_AP_USER_NO_KERNEL_RW) << PAGE_WRITE_SHIFT) | 165 165 (1 << PAGE_EXEC_SHIFT) | 166 (p->bufferable << PAGE_CACHEABLE);166 (p->bufferable ? PAGE_CACHEABLE : PAGE_NOT_CACHEABLE); 167 167 } 168 168 … … 220 220 221 221 if (flags & PAGE_USER) { 222 if (flags & PAGE_READ) {222 if (flags & _PAGE_READ) { 223 223 p->access_permission_0 = p->access_permission_1 = 224 224 p->access_permission_2 = p->access_permission_3 = 225 225 PTE_AP_USER_RO_KERNEL_RW; 226 226 } 227 if (flags & PAGE_WRITE) {227 if (flags & _PAGE_WRITE) { 228 228 p->access_permission_0 = p->access_permission_1 = 229 229 p->access_permission_2 = p->access_permission_3 =
Note:
See TracChangeset
for help on using the changeset viewer.