Subversion Repositories HelenOS-historic

Rev

Rev 765 | Rev 831 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 765 Rev 825
Line 97... Line 97...
97
        ((p->lo.c>PAGE_UNCACHED)<<PAGE_CACHEABLE_SHIFT) |
97
        ((p->lo.c>PAGE_UNCACHED)<<PAGE_CACHEABLE_SHIFT) |
98
        ((!p->lo.v)<<PAGE_PRESENT_SHIFT) |
98
        ((!p->lo.v)<<PAGE_PRESENT_SHIFT) |
99
        (1<<PAGE_USER_SHIFT) |
99
        (1<<PAGE_USER_SHIFT) |
100
        (1<<PAGE_READ_SHIFT) |
100
        (1<<PAGE_READ_SHIFT) |
101
        ((p->w)<<PAGE_WRITE_SHIFT) |
101
        ((p->w)<<PAGE_WRITE_SHIFT) |
102
        (1<<PAGE_EXEC_SHIFT)
102
        (1<<PAGE_EXEC_SHIFT) |
-
 
103
        p->lo.g<<PAGE_GLOBAL_SHIFT
103
    );
104
    );
104
       
105
       
105
}
106
}
106
 
107
 
107
static inline void set_pt_flags(pte_t *pt, index_t i, int flags)
108
static inline void set_pt_flags(pte_t *pt, index_t i, int flags)
108
{
109
{
109
    pte_t *p = &pt[i];
110
    pte_t *p = &pt[i];
110
   
111
   
111
    p->lo.c = (flags & PAGE_CACHEABLE) != 0 ? PAGE_CACHEABLE_EXC_WRITE : PAGE_UNCACHED;
112
    p->lo.c = (flags & PAGE_CACHEABLE) != 0 ? PAGE_CACHEABLE_EXC_WRITE : PAGE_UNCACHED;
112
    p->lo.v = !(flags & PAGE_NOT_PRESENT);
113
    p->lo.v = !(flags & PAGE_NOT_PRESENT);
-
 
114
    p->lo.g = (flags & PAGE_GLOBAL) != 0;
113
    p->w = (flags & PAGE_WRITE) != 0;
115
    p->w = (flags & PAGE_WRITE) != 0;
114
}
116
}
115
 
117
 
116
extern void page_arch_init(void);
118
extern void page_arch_init(void);
117
 
119