{
uint32_t *pde;
- for (pde = pd; pde < pd + PGSIZE / sizeof *pde; pde++)
+ if (pd == NULL)
+ return;
+
+ for (pde = pd; pde < pd + pd_no (PHYS_BASE); pde++)
if (*pde & PG_P)
{
uint32_t *pt = pde_get_pt (*pde);
uint32_t *pde;
ASSERT (pd != NULL);
- ASSERT (pg_ofs (upage) == 0);
ASSERT (upage < PHYS_BASE);
/* Check for a page table for UPAGE.
}
void *
-pagedir_get_page (uint32_t *pd, void *upage)
+pagedir_get_page (uint32_t *pd, const void *upage)
{
- uint32_t *pte = lookup_page (pd, upage, false);
+ uint32_t *pte = lookup_page (pd, (void *) upage, false);
return pte != NULL && *pte != 0 ? pte_get_page (*pte) : NULL;
}