#include <stdbool.h>
#include <stdint.h>
Go to the source code of this file.
Functions | |
uint32_t * | pagedir_create (void) |
void | pagedir_destroy (uint32_t *pd) |
bool | pagedir_set_page (uint32_t *pd, void *upage, void *kpage, bool rw) |
void * | pagedir_get_page (uint32_t *pd, const void *upage) |
void | pagedir_clear_page (uint32_t *pd, void *upage) |
bool | pagedir_is_dirty (uint32_t *pd, const void *upage) |
void | pagedir_set_dirty (uint32_t *pd, const void *upage, bool dirty) |
bool | pagedir_is_accessed (uint32_t *pd, const void *upage) |
void | pagedir_set_accessed (uint32_t *pd, const void *upage, bool accessed) |
void | pagedir_activate (uint32_t *pd) |
void pagedir_activate | ( | uint32_t * | pd | ) |
Definition at line 221 of file pagedir.c.
References base_page_dir, NULL, and vtop().
Referenced by invalidate_pagedir(), process_activate(), and process_exit().
void pagedir_clear_page | ( | uint32_t * | pd, | |
void * | upage | |||
) |
Definition at line 145 of file pagedir.c.
References ASSERT, invalidate_pagedir(), is_user_vaddr(), lookup_page(), NULL, pg_ofs(), and PTE_P.
uint32_t* pagedir_create | ( | void | ) |
Definition at line 18 of file pagedir.c.
References base_page_dir, memcpy(), NULL, palloc_get_page(), and PGSIZE.
Referenced by load().
void pagedir_destroy | ( | uint32_t * | pd | ) |
Definition at line 29 of file pagedir.c.
References ASSERT, base_page_dir, NULL, palloc_free_page(), pd_no(), pde_get_pt(), PGSIZE, PHYS_BASE, pte_get_page(), and PTE_P.
Referenced by process_exit().
void* pagedir_get_page | ( | uint32_t * | pd, | |
const void * | upage | |||
) |
Definition at line 127 of file pagedir.c.
References ASSERT, is_user_vaddr(), lookup_page(), NULL, pg_ofs(), pte_get_page(), and PTE_P.
Referenced by install_page().
bool pagedir_is_accessed | ( | uint32_t * | pd, | |
const void * | upage | |||
) |
bool pagedir_is_dirty | ( | uint32_t * | pd, | |
const void * | upage | |||
) |
void pagedir_set_accessed | ( | uint32_t * | pd, | |
const void * | upage, | |||
bool | accessed | |||
) |
Definition at line 203 of file pagedir.c.
References invalidate_pagedir(), lookup_page(), NULL, and PTE_A.
void pagedir_set_dirty | ( | uint32_t * | pd, | |
const void * | upage, | |||
bool | dirty | |||
) |
Definition at line 174 of file pagedir.c.
References invalidate_pagedir(), lookup_page(), NULL, and PTE_D.
bool pagedir_set_page | ( | uint32_t * | pd, | |
void * | upage, | |||
void * | kpage, | |||
bool | rw | |||
) |
Definition at line 100 of file pagedir.c.
References ASSERT, base_page_dir, is_user_vaddr(), lookup_page(), NULL, pg_ofs(), pte_create_user(), PTE_P, PTSHIFT, ram_pages, and vtop().
Referenced by install_page().