Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/arm32/include/mm/page.h

    r0d8269b r9d58539  
    4040#include <mm/mm.h>
    4141#include <arch/exception.h>
    42 #include <arch/barrier.h>
    4342#include <trace.h>
    4443
     
    110109#define SET_FRAME_FLAGS_ARCH(ptl3, i, x) \
    111110        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))
    120111
    121112/* Macros for querying the last-level PTE entries. */
     
    276267}
    277268
    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 }
    286269
    287270/** Sets flags of level 1 page table entry.
     
    300283        pte_level1_t *p = &pt[i].l1;
    301284       
    302         if (flags & PAGE_NOT_PRESENT)
     285        if (flags & PAGE_NOT_PRESENT) {
    303286                p->descriptor_type = PTE_DESCRIPTOR_NOT_PRESENT;
    304         else
     287                p->access_permission_3 = 1;
     288        } else {
    305289                p->descriptor_type = PTE_DESCRIPTOR_SMALL_PAGE;
     290                p->access_permission_3 = p->access_permission_0;
     291        }
    306292       
    307293        p->cacheable = p->bufferable = (flags & PAGE_CACHEABLE) != 0;
     
    326312}
    327313
    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
    335315extern void page_arch_init(void);
    336316
     317
    337318#endif /* __ASM__ */
    338319
Note: See TracChangeset for help on using the changeset viewer.