diff options
author | alc <alc@FreeBSD.org> | 2003-10-08 05:35:12 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2003-10-08 05:35:12 +0000 |
commit | 76f6c3b05918bb363d84362ca21ec7dcb9c8ffb0 (patch) | |
tree | c3bdaaee2c7b0e765b3219b94ce2b3ee15487a7e /sys/vm | |
parent | 09fe11f64363ff091f222552c74d94b439b2923c (diff) | |
download | FreeBSD-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/vm')
-rw-r--r-- | sys/vm/vm_fault.c | 6 | ||||
-rw-r--r-- | sys/vm/vm_page.c | 20 | ||||
-rw-r--r-- | sys/vm/vm_page.h | 1 |
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); |