summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vm/vm_page.c3
-rw-r--r--vm/vm_resident.c5
2 files changed, 5 insertions, 3 deletions
diff --git a/vm/vm_page.c b/vm/vm_page.c
index f2a11e1..b95ca15 100644
--- a/vm/vm_page.c
+++ b/vm/vm_page.c
@@ -201,7 +201,6 @@ vm_page_initialize(struct vm_page *page, unsigned short seg_index,
page->phys_addr = pa;
}
-/* XXX legacy mach interface */
void
vm_page_init_mach(struct vm_page *page)
{
@@ -210,11 +209,13 @@ vm_page_init_mach(struct vm_page *page)
sizeof *page - VM_PAGE_HEADER_SIZE);
}
+/* XXX legacy mach interface */
void
vm_page_init(vm_page_t mem,
vm_offset_t phys_addr)
{
vm_page_initialize(mem, mem->seg_index, phys_addr);
+ vm_page_init_mach(mem);
}
void
diff --git a/vm/vm_resident.c b/vm/vm_resident.c
index 620fece..c71ce0d 100644
--- a/vm/vm_resident.c
+++ b/vm/vm_resident.c
@@ -474,8 +474,9 @@ vm_page_t vm_page_grab_fictitious(void)
if (m != VM_PAGE_NULL) {
vm_page_fictitious_count--;
vm_page_queue_fictitious = (vm_page_t) m->pageq.next;
- assert(m->fictitious);
- assert(! m->tabled);
+ /* XXX is this re-initialization really needed ? */
+ vm_page_init(m, vm_page_fictitious_addr);
+ m->fictitious = TRUE;
}
simple_unlock(&vm_page_queue_free_lock);
return m;