summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2003-10-08 05:35:12 +0000
committeralc <alc@FreeBSD.org>2003-10-08 05:35:12 +0000
commit76f6c3b05918bb363d84362ca21ec7dcb9c8ffb0 (patch)
treec3bdaaee2c7b0e765b3219b94ce2b3ee15487a7e /sys
parent09fe11f64363ff091f222552c74d94b439b2923c (diff)
downloadFreeBSD-src-76f6c3b05918bb363d84362ca21ec7dcb9c8ffb0.zip
FreeBSD-src-76f6c3b05918bb363d84362ca21ec7dcb9c8ffb0.tar.gz
Retire vm_page_copy(). Its reason for being ended when peter@ modified
pmap_copy_page() et al. to accept a vm_page_t rather than a physical address. Also, this change will facilitate locking access to the vm page's valid field.
Diffstat (limited to 'sys')
-rw-r--r--sys/vm/vm_fault.c6
-rw-r--r--sys/vm/vm_page.c20
-rw-r--r--sys/vm/vm_page.h1
3 files changed, 7 insertions, 20 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c
index 5a47307..279358c 100644
--- a/sys/vm/vm_fault.c
+++ b/sys/vm/vm_fault.c
@@ -738,7 +738,8 @@ readrest:
/*
* Oh, well, lets copy it.
*/
- vm_page_copy(fs.m, fs.first_m);
+ pmap_copy_page(fs.m, fs.first_m);
+ fs.first_m->valid = VM_PAGE_BITS_ALL;
}
if (fs.m) {
/*
@@ -1183,7 +1184,8 @@ vm_fault_copy_entry(dst_map, src_map, dst_entry, src_entry)
if (src_m == NULL)
panic("vm_fault_copy_wired: page missing");
- vm_page_copy(src_m, dst_m);
+ pmap_copy_page(src_m, dst_m);
+ dst_m->valid = VM_PAGE_BITS_ALL;
/*
* Enter it in the pmap...
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index 0b283dd..225ad20 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -373,18 +373,6 @@ vm_page_unhold(vm_page_t mem)
}
/*
- * vm_page_copy:
- *
- * Copy one page to another
- */
-void
-vm_page_copy(vm_page_t src_m, vm_page_t dest_m)
-{
- pmap_copy_page(src_m, dest_m);
- dest_m->valid = VM_PAGE_BITS_ALL;
-}
-
-/*
* vm_page_free:
*
* Free a page
@@ -1742,11 +1730,9 @@ vm_page_cowfault(vm_page_t m)
vm_page_free(mnew);
vm_page_insert(m, object, pindex);
} else { /* clear COW & copy page */
- if (so_zerocp_fullpage) {
- mnew->valid = VM_PAGE_BITS_ALL;
- } else {
- vm_page_copy(m, mnew);
- }
+ if (!so_zerocp_fullpage)
+ pmap_copy_page(m, mnew);
+ mnew->valid = VM_PAGE_BITS_ALL;
vm_page_dirty(mnew);
vm_page_flag_clear(mnew, PG_BUSY);
}
diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h
index 7a51e03..d56f086 100644
--- a/sys/vm/vm_page.h
+++ b/sys/vm/vm_page.h
@@ -342,7 +342,6 @@ void vm_page_io_start(vm_page_t m);
void vm_page_io_finish(vm_page_t m);
void vm_page_hold(vm_page_t mem);
void vm_page_unhold(vm_page_t mem);
-void vm_page_copy(vm_page_t src_m, vm_page_t dest_m);
void vm_page_free(vm_page_t m);
void vm_page_free_zero(vm_page_t m);
int vm_page_sleep_if_busy(vm_page_t m, int also_m_busy, const char *msg);
OpenPOWER on IntegriCloud