diff --git a/labcodes/lab7/kern/mm/pmm.c b/labcodes/lab7/kern/mm/pmm.c index cb92075..7a2e95d 100644 --- a/labcodes/lab7/kern/mm/pmm.c +++ b/labcodes/lab7/kern/mm/pmm.c @@ -406,7 +406,7 @@ get_page(pde_t *pgdir, uintptr_t la, pte_t **ptep_store) { *ptep_store = ptep; } if (ptep != NULL && *ptep & PTE_P) { - return pa2page(*ptep); + return pte2page(*ptep); } return NULL; } @@ -625,7 +625,7 @@ check_pgdir(void) { pte_t *ptep; assert((ptep = get_pte(boot_pgdir, 0x0, 0)) != NULL); - assert(pa2page(*ptep) == p1); + assert(pte2page(*ptep) == p1); assert(page_ref(p1) == 1); ptep = &((pte_t *)KADDR(PDE_ADDR(boot_pgdir[0])))[1]; @@ -643,7 +643,7 @@ check_pgdir(void) { assert(page_ref(p1) == 2); assert(page_ref(p2) == 0); assert((ptep = get_pte(boot_pgdir, PGSIZE, 0)) != NULL); - assert(pa2page(*ptep) == p1); + assert(pte2page(*ptep) == p1); assert((*ptep & PTE_U) == 0); page_remove(boot_pgdir, 0x0); @@ -654,8 +654,8 @@ check_pgdir(void) { assert(page_ref(p1) == 0); assert(page_ref(p2) == 0); - assert(page_ref(pa2page(boot_pgdir[0])) == 1); - free_page(pa2page(boot_pgdir[0])); + assert(page_ref(pde2page(boot_pgdir[0])) == 1); + free_page(pde2page(boot_pgdir[0])); boot_pgdir[0] = 0; cprintf("check_pgdir() succeeded!\n"); @@ -689,7 +689,7 @@ check_boot_pgdir(void) { assert(strlen((const char *)0x100) == 0); free_page(p); - free_page(pa2page(PDE_ADDR(boot_pgdir[0]))); + free_page(pde2page(boot_pgdir[0])); boot_pgdir[0] = 0; cprintf("check_boot_pgdir() succeeded!\n"); diff --git a/labcodes/lab7/kern/mm/swap.c b/labcodes/lab7/kern/mm/swap.c index d2b5952..704ec18 100644 --- a/labcodes/lab7/kern/mm/swap.c +++ b/labcodes/lab7/kern/mm/swap.c @@ -262,7 +262,7 @@ check_swap(void) } //free_page(pte2page(*temp_ptep)); - free_page(pa2page(pgdir[0])); + free_page(pde2page(pgdir[0])); pgdir[0] = 0; mm->pgdir = NULL; mm_destroy(mm); diff --git a/labcodes/lab7/kern/mm/vmm.c b/labcodes/lab7/kern/mm/vmm.c index 6799d1c..ce1a0bb 100644 --- a/labcodes/lab7/kern/mm/vmm.c +++ b/labcodes/lab7/kern/mm/vmm.c @@ -353,7 +353,7 @@ check_pgfault(void) { assert(sum == 0); page_remove(pgdir, ROUNDDOWN(addr, PGSIZE)); - free_page(pa2page(pgdir[0])); + free_page(pde2page(pgdir[0])); pgdir[0] = 0; mm->pgdir = NULL;