From 77d23ca51951a707c91b9d7baeeb982670130783 Mon Sep 17 00:00:00 2001 From: ArchStacker Date: Mon, 4 May 2015 19:44:51 +0800 Subject: [PATCH] Fix the unsuitable use of pa2page in lab4_result --- labcodes_answer/lab4_result/kern/mm/pmm.c | 12 ++++++------ labcodes_answer/lab4_result/kern/mm/vmm.c | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/labcodes_answer/lab4_result/kern/mm/pmm.c b/labcodes_answer/lab4_result/kern/mm/pmm.c index b597c5d..ac4efd6 100644 --- a/labcodes_answer/lab4_result/kern/mm/pmm.c +++ b/labcodes_answer/lab4_result/kern/mm/pmm.c @@ -418,7 +418,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; } @@ -551,7 +551,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]; @@ -569,7 +569,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); @@ -580,8 +580,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"); @@ -615,7 +615,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_answer/lab4_result/kern/mm/vmm.c b/labcodes_answer/lab4_result/kern/mm/vmm.c index af221e3..5881a83 100644 --- a/labcodes_answer/lab4_result/kern/mm/vmm.c +++ b/labcodes_answer/lab4_result/kern/mm/vmm.c @@ -267,7 +267,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;