Include dependency graph for page.h:
Go to the source code of this file.
Data Structures | |
struct | page_mapping_operations |
Defines | |
#define | PAGE_CACHEABLE_SHIFT 0 |
#define | PAGE_NOT_CACHEABLE_SHIFT PAGE_CACHEABLE_SHIFT |
#define | PAGE_PRESENT_SHIFT 1 |
#define | PAGE_NOT_PRESENT_SHIFT PAGE_PRESENT_SHIFT |
#define | PAGE_USER_SHIFT 2 |
#define | PAGE_KERNEL_SHIFT PAGE_USER_SHIFT |
#define | PAGE_READ_SHIFT 3 |
#define | PAGE_WRITE_SHIFT 4 |
#define | PAGE_EXEC_SHIFT 5 |
#define | PAGE_GLOBAL_SHIFT 6 |
#define | PAGE_NOT_CACHEABLE (0<<PAGE_CACHEABLE_SHIFT) |
#define | PAGE_CACHEABLE (1<<PAGE_CACHEABLE_SHIFT) |
#define | PAGE_PRESENT (0<<PAGE_PRESENT_SHIFT) |
#define | PAGE_NOT_PRESENT (1<<PAGE_PRESENT_SHIFT) |
#define | PAGE_USER (1<<PAGE_USER_SHIFT) |
#define | PAGE_KERNEL (0<<PAGE_USER_SHIFT) |
#define | PAGE_READ (1<<PAGE_READ_SHIFT) |
#define | PAGE_WRITE (1<<PAGE_WRITE_SHIFT) |
#define | PAGE_EXEC (1<<PAGE_EXEC_SHIFT) |
#define | PAGE_GLOBAL (1<<PAGE_GLOBAL_SHIFT) |
Typedefs | |
typedef enum pf_access | pf_access_t |
typedef page_mapping_operations | page_mapping_operations_t |
Enumerations | |
enum | pf_access { PF_ACCESS_READ, PF_ACCESS_WRITE, PF_ACCESS_EXEC } |
Functions | |
void | page_init (void) |
void | page_table_lock (as_t *as, bool lock) |
void | page_table_unlock (as_t *as, bool unlock) |
void | page_mapping_insert (as_t *as, __address page, __address frame, int flags) |
void | page_mapping_remove (as_t *as, __address page) |
pte_t * | page_mapping_find (as_t *as, __address page) |
pte_t * | page_table_create (int flags) |
void | page_table_destroy (pte_t *page_table) |
void | map_structure (__address s, size_t size) |
__address | hw_map (__address physaddr, size_t size) |
Variables | |
page_mapping_operations_t * | page_mapping_operations |
Definition in file page.h.