Subversion Repositories HelenOS

Rev

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

Rev 2465 Rev 2467
Line 80... Line 80...
80
#define GET_PTL2_ADDRESS(ptl1, i)   GET_PTL2_ADDRESS_ARCH(ptl1, i)
80
#define GET_PTL2_ADDRESS(ptl1, i)   GET_PTL2_ADDRESS_ARCH(ptl1, i)
81
#define GET_PTL3_ADDRESS(ptl2, i)   GET_PTL3_ADDRESS_ARCH(ptl2, i)
81
#define GET_PTL3_ADDRESS(ptl2, i)   GET_PTL3_ADDRESS_ARCH(ptl2, i)
82
#define GET_FRAME_ADDRESS(ptl3, i)  GET_FRAME_ADDRESS_ARCH(ptl3, i)
82
#define GET_FRAME_ADDRESS(ptl3, i)  GET_FRAME_ADDRESS_ARCH(ptl3, i)
83
 
83
 
84
/*
84
/*
85
 * These macros are provided to change shape of the 4-level
85
 * These macros are provided to change the shape of the 4-level tree of page
86
 * tree of page tables on respective level.
86
 * tables on respective level.
87
 */
87
 */
88
#define SET_PTL1_ADDRESS(ptl0, i, a)    SET_PTL1_ADDRESS_ARCH(ptl0, i, a)
88
#define SET_PTL1_ADDRESS(ptl0, i, a)    SET_PTL1_ADDRESS_ARCH(ptl0, i, a)
89
#define SET_PTL2_ADDRESS(ptl1, i, a)    SET_PTL2_ADDRESS_ARCH(ptl1, i, a)
89
#define SET_PTL2_ADDRESS(ptl1, i, a)    SET_PTL2_ADDRESS_ARCH(ptl1, i, a)
90
#define SET_PTL3_ADDRESS(ptl2, i, a)    SET_PTL3_ADDRESS_ARCH(ptl2, i, a)
90
#define SET_PTL3_ADDRESS(ptl2, i, a)    SET_PTL3_ADDRESS_ARCH(ptl2, i, a)
91
#define SET_FRAME_ADDRESS(ptl3, i, a)   SET_FRAME_ADDRESS_ARCH(ptl3, i, a)
91
#define SET_FRAME_ADDRESS(ptl3, i, a)   SET_FRAME_ADDRESS_ARCH(ptl3, i, a)
Line 104... Line 104...
104
#define SET_PTL1_FLAGS(ptl0, i, x)  SET_PTL1_FLAGS_ARCH(ptl0, i, x)
104
#define SET_PTL1_FLAGS(ptl0, i, x)  SET_PTL1_FLAGS_ARCH(ptl0, i, x)
105
#define SET_PTL2_FLAGS(ptl1, i, x)  SET_PTL2_FLAGS_ARCH(ptl1, i, x)
105
#define SET_PTL2_FLAGS(ptl1, i, x)  SET_PTL2_FLAGS_ARCH(ptl1, i, x)
106
#define SET_PTL3_FLAGS(ptl2, i, x)  SET_PTL3_FLAGS_ARCH(ptl2, i, x)
106
#define SET_PTL3_FLAGS(ptl2, i, x)  SET_PTL3_FLAGS_ARCH(ptl2, i, x)
107
#define SET_FRAME_FLAGS(ptl3, i, x) SET_FRAME_FLAGS_ARCH(ptl3, i, x)
107
#define SET_FRAME_FLAGS(ptl3, i, x) SET_FRAME_FLAGS_ARCH(ptl3, i, x)
108
 
108
 
-
 
109
/*
-
 
110
 * Macros for querying the last-level PTEs.
-
 
111
 */
109
#define PTE_VALID(p)        PTE_VALID_ARCH((p))
112
#define PTE_VALID(p)        PTE_VALID_ARCH((p))
110
#define PTE_PRESENT(p)      PTE_PRESENT_ARCH((p))
113
#define PTE_PRESENT(p)      PTE_PRESENT_ARCH((p))
111
#define PTE_GET_FRAME(p)    PTE_GET_FRAME_ARCH((p))
114
#define PTE_GET_FRAME(p)    PTE_GET_FRAME_ARCH((p))
112
#define PTE_READABLE(p)     1
115
#define PTE_READABLE(p)     1
113
#define PTE_WRITABLE(p)     PTE_WRITABLE_ARCH((p))
116
#define PTE_WRITABLE(p)     PTE_WRITABLE_ARCH((p))
Line 116... Line 119...
116
#ifndef __OBJC__
119
#ifndef __OBJC__
117
extern as_operations_t as_pt_operations;
120
extern as_operations_t as_pt_operations;
118
#endif
121
#endif
119
extern page_mapping_operations_t pt_mapping_operations;
122
extern page_mapping_operations_t pt_mapping_operations;
120
 
123
 
121
extern void page_mapping_insert_pt(as_t *as, uintptr_t page, uintptr_t frame, int flags);
124
extern void page_mapping_insert_pt(as_t *as, uintptr_t page, uintptr_t frame,
-
 
125
    int flags);
122
extern pte_t *page_mapping_find_pt(as_t *as, uintptr_t page);
126
extern pte_t *page_mapping_find_pt(as_t *as, uintptr_t page);
123
 
127
 
124
#endif
128
#endif
125
 
129
 
126
#endif
130
#endif