Subversion Repositories HelenOS

Rev

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

Rev 3403 Rev 4343
Line 40... Line 40...
40
#include <memstr.h>
40
#include <memstr.h>
41
 
41
 
42
/** Operations to manipulate page mappings. */
42
/** Operations to manipulate page mappings. */
43
typedef struct {
43
typedef struct {
44
    void (* mapping_insert)(as_t *as, uintptr_t page, uintptr_t frame,
44
    void (* mapping_insert)(as_t *as, uintptr_t page, uintptr_t frame,
45
        int flags);
45
        int flags);
46
    void (* mapping_remove)(as_t *as, uintptr_t page);
46
    void (* mapping_remove)(as_t *as, uintptr_t page);
47
    pte_t *(* mapping_find)(as_t *as, uintptr_t page);
47
    pte_t *(* mapping_find)(as_t *as, uintptr_t page);
48
} page_mapping_operations_t;
48
} page_mapping_operations_t;
49
 
49
 
50
extern page_mapping_operations_t *page_mapping_operations;
50
extern page_mapping_operations_t *page_mapping_operations;
Line 57... Line 57...
57
extern void page_mapping_remove(as_t *as, uintptr_t page);
57
extern void page_mapping_remove(as_t *as, uintptr_t page);
58
extern pte_t *page_mapping_find(as_t *as, uintptr_t page);
58
extern pte_t *page_mapping_find(as_t *as, uintptr_t page);
59
extern pte_t *page_table_create(int flags);
59
extern pte_t *page_table_create(int flags);
60
extern void page_table_destroy(pte_t *page_table);
60
extern void page_table_destroy(pte_t *page_table);
61
extern void map_structure(uintptr_t s, size_t size);
61
extern void map_structure(uintptr_t s, size_t size);
-
 
62
 
62
extern uintptr_t hw_map(uintptr_t physaddr, size_t size);
63
extern uintptr_t hw_map(uintptr_t physaddr, size_t size);
-
 
64
extern void hw_area(uintptr_t *physaddr, pfn_t *frames);
63
 
65
 
64
#endif
66
#endif
65
 
67
 
66
/** @}
68
/** @}
67
 */
69
 */