Changes in kernel/arch/abs32le/include/mm/page.h [d99c1d2:7a0359b] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/abs32le/include/mm/page.h
rd99c1d2 r7a0359b 37 37 38 38 #include <arch/mm/frame.h> 39 #include <trace.h> 39 40 40 41 #define PAGE_WIDTH FRAME_WIDTH … … 139 140 } __attribute__((packed)) pte_t; 140 141 141 static inline unsigned int get_pt_flags(pte_t *pt, size_t i) 142 NO_TRACE static inline unsigned int get_pt_flags(pte_t *pt, size_t i) 143 REQUIRES_ARRAY_MUTABLE(pt, PTL0_ENTRIES_ARCH) 142 144 { 143 145 pte_t *p = &pt[i]; 144 146 145 return ((!p->page_cache_disable) << PAGE_CACHEABLE_SHIFT | 146 (!p->present) << PAGE_PRESENT_SHIFT | 147 p->uaccessible << PAGE_USER_SHIFT | 148 1 << PAGE_READ_SHIFT | 149 p->writeable << PAGE_WRITE_SHIFT | 150 1 << PAGE_EXEC_SHIFT | 151 p->global << PAGE_GLOBAL_SHIFT); 147 return ( 148 ((unsigned int) (!p->page_cache_disable) << PAGE_CACHEABLE_SHIFT) | 149 ((unsigned int) (!p->present) << PAGE_PRESENT_SHIFT) | 150 ((unsigned int) p->uaccessible << PAGE_USER_SHIFT) | 151 (1 << PAGE_READ_SHIFT) | 152 ((unsigned int) p->writeable << PAGE_WRITE_SHIFT) | 153 (1 << PAGE_EXEC_SHIFT) | 154 ((unsigned int) p->global << PAGE_GLOBAL_SHIFT) 155 ); 152 156 } 153 157 154 static inline void set_pt_flags(pte_t *pt, size_t i, int flags) 158 NO_TRACE static inline void set_pt_flags(pte_t *pt, size_t i, int flags) 159 WRITES(ARRAY_RANGE(pt, PTL0_ENTRIES_ARCH)) 160 REQUIRES_ARRAY_MUTABLE(pt, PTL0_ENTRIES_ARCH) 155 161 { 156 162 pte_t *p = &pt[i]; … … 170 176 171 177 extern void page_arch_init(void); 172 extern void page_fault( int, istate_t *);178 extern void page_fault(unsigned int, istate_t *); 173 179 174 180 #endif /* KERNEL */
Note:
See TracChangeset
for help on using the changeset viewer.