Changes in kernel/arch/arm32/include/mm/page.h [0d8269b:9d58539] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/arm32/include/mm/page.h
r0d8269b r9d58539 40 40 #include <mm/mm.h> 41 41 #include <arch/exception.h> 42 #include <arch/barrier.h>43 42 #include <trace.h> 44 43 … … 110 109 #define SET_FRAME_FLAGS_ARCH(ptl3, i, x) \ 111 110 set_pt_level1_flags((pte_t *) (ptl3), (size_t) (i), (x)) 112 113 /* Set PTE present bit accessors for each level. */114 #define SET_PTL1_PRESENT_ARCH(ptl0, i) \115 set_pt_level0_present((pte_t *) (ptl0), (size_t) (i))116 #define SET_PTL2_PRESENT_ARCH(ptl1, i)117 #define SET_PTL3_PRESENT_ARCH(ptl2, i)118 #define SET_FRAME_PRESENT_ARCH(ptl3, i) \119 set_pt_level1_present((pte_t *) (ptl3), (size_t) (i))120 111 121 112 /* Macros for querying the last-level PTE entries. */ … … 276 267 } 277 268 278 NO_TRACE static inline void set_pt_level0_present(pte_t *pt, size_t i)279 {280 pte_level0_t *p = &pt[i].l0;281 282 p->should_be_zero = 0;283 write_barrier();284 p->descriptor_type = PTE_DESCRIPTOR_COARSE_TABLE;285 }286 269 287 270 /** Sets flags of level 1 page table entry. … … 300 283 pte_level1_t *p = &pt[i].l1; 301 284 302 if (flags & PAGE_NOT_PRESENT) 285 if (flags & PAGE_NOT_PRESENT) { 303 286 p->descriptor_type = PTE_DESCRIPTOR_NOT_PRESENT; 304 else 287 p->access_permission_3 = 1; 288 } else { 305 289 p->descriptor_type = PTE_DESCRIPTOR_SMALL_PAGE; 290 p->access_permission_3 = p->access_permission_0; 291 } 306 292 307 293 p->cacheable = p->bufferable = (flags & PAGE_CACHEABLE) != 0; … … 326 312 } 327 313 328 NO_TRACE static inline void set_pt_level1_present(pte_t *pt, size_t i) 329 { 330 pte_level1_t *p = &pt[i].l1; 331 332 p->descriptor_type = PTE_DESCRIPTOR_SMALL_PAGE; 333 } 334 314 335 315 extern void page_arch_init(void); 336 316 317 337 318 #endif /* __ASM__ */ 338 319
Note:
See TracChangeset
for help on using the changeset viewer.