Ignore:
File:
1 edited

Legend:

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

    rd99c1d2 r7a0359b  
    3737
    3838#include <arch/mm/frame.h>
     39#include <trace.h>
    3940
    4041#define PAGE_WIDTH  FRAME_WIDTH
     
    139140} __attribute__((packed)) pte_t;
    140141
    141 static inline unsigned int get_pt_flags(pte_t *pt, size_t i)
     142NO_TRACE static inline unsigned int get_pt_flags(pte_t *pt, size_t i)
     143    REQUIRES_ARRAY_MUTABLE(pt, PTL0_ENTRIES_ARCH)
    142144{
    143145        pte_t *p = &pt[i];
    144146       
    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        );
    152156}
    153157
    154 static inline void set_pt_flags(pte_t *pt, size_t i, int flags)
     158NO_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)
    155161{
    156162        pte_t *p = &pt[i];
     
    170176
    171177extern void page_arch_init(void);
    172 extern void page_fault(int, istate_t *);
     178extern void page_fault(unsigned int, istate_t *);
    173179
    174180#endif /* KERNEL */
Note: See TracChangeset for help on using the changeset viewer.