Subversion Repositories HelenOS-historic

Rev

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

Rev 687 Rev 699
Line 40... Line 40...
40
#define PAGE_USER_SHIFT         2
40
#define PAGE_USER_SHIFT         2
41
#define PAGE_KERNEL_SHIFT       PAGE_USER_SHIFT
41
#define PAGE_KERNEL_SHIFT       PAGE_USER_SHIFT
42
#define PAGE_READ_SHIFT         3
42
#define PAGE_READ_SHIFT         3
43
#define PAGE_WRITE_SHIFT        4
43
#define PAGE_WRITE_SHIFT        4
44
#define PAGE_EXEC_SHIFT         5
44
#define PAGE_EXEC_SHIFT         5
-
 
45
#define PAGE_GLOBAL_SHIFT       6
45
 
46
 
46
#define PAGE_NOT_CACHEABLE  (0<<PAGE_CACHEABLE_SHIFT)
47
#define PAGE_NOT_CACHEABLE  (0<<PAGE_CACHEABLE_SHIFT)
47
#define PAGE_CACHEABLE      (1<<PAGE_CACHEABLE_SHIFT)
48
#define PAGE_CACHEABLE      (1<<PAGE_CACHEABLE_SHIFT)
48
 
49
 
49
#define PAGE_PRESENT        (0<<PAGE_PRESENT_SHIFT)
50
#define PAGE_PRESENT        (0<<PAGE_PRESENT_SHIFT)
Line 54... Line 55...
54
 
55
 
55
#define PAGE_READ       (1<<PAGE_READ_SHIFT)
56
#define PAGE_READ       (1<<PAGE_READ_SHIFT)
56
#define PAGE_WRITE      (1<<PAGE_WRITE_SHIFT)
57
#define PAGE_WRITE      (1<<PAGE_WRITE_SHIFT)
57
#define PAGE_EXEC       (1<<PAGE_EXEC_SHIFT)
58
#define PAGE_EXEC       (1<<PAGE_EXEC_SHIFT)
58
 
59
 
-
 
60
#define PAGE_GLOBAL     (1<<PAGE_GLOBAL_SHIFT)
-
 
61
 
-
 
62
/** Operations to manipulate page mappings. */
59
struct page_operations {
63
struct page_operations {
60
    void (* mapping_insert)(__address page, asid_t asid, __address frame, int flags, __address root);
64
    void (* mapping_insert)(__address page, asid_t asid, __address frame, int flags, __address root);
61
    pte_t *(* mapping_find)(__address page, asid_t asid, __address root);
65
    pte_t *(* mapping_find)(__address page, asid_t asid, __address root);
62
};
66
};
63
typedef struct page_operations page_operations_t;
67
typedef struct page_operations page_operations_t;