summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2004-03-07 21:06:48 +0000
committeralc <alc@FreeBSD.org>2004-03-07 21:06:48 +0000
commitf13324f65bc2419a9196c4eca76e5e57c0d7fea5 (patch)
tree46fc651b1b10f7e2ee470193f457cfe495ed084a /sys/vm
parenta545780c51218e55facb66312587197d0f2ce9af (diff)
downloadFreeBSD-src-f13324f65bc2419a9196c4eca76e5e57c0d7fea5.zip
FreeBSD-src-f13324f65bc2419a9196c4eca76e5e57c0d7fea5.tar.gz
Retire pmap_pinit2(). Alpha was the last platform that used it. However,
ever since alpha/alpha/pmap.c revision 1.81 introduced the list allpmaps, there has been no reason for having this function on Alpha. Briefly, when pmap_growkernel() relied upon the list of all processes to find and update the various pmaps to reflect a growth in the kernel's valid address space, pmap_init2() served to avoid a race between pmap initialization and pmap_growkernel(). Specifically, pmap_pinit2() was responsible for initializing the kernel portions of the pmap and pmap_pinit2() was called after the process structure contained a pointer to the new pmap for use by pmap_growkernel(). Thus, an update to the kernel's address space might be applied to the new pmap unnecessarily, but an update would never be lost.
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/pmap.h1
-rw-r--r--sys/vm/vm_glue.c3
-rw-r--r--sys/vm/vm_map.c2
3 files changed, 0 insertions, 6 deletions
diff --git a/sys/vm/pmap.h b/sys/vm/pmap.h
index 7adfa75..cbe5648 100644
--- a/sys/vm/pmap.h
+++ b/sys/vm/pmap.h
@@ -120,7 +120,6 @@ boolean_t pmap_page_exists_quick(pmap_t pmap, vm_page_t m);
void pmap_page_protect(vm_page_t m, vm_prot_t prot);
void pmap_pinit(pmap_t);
void pmap_pinit0(pmap_t);
-void pmap_pinit2(pmap_t);
void pmap_protect(pmap_t, vm_offset_t, vm_offset_t, vm_prot_t);
void pmap_qenter(vm_offset_t, vm_page_t *, int);
void pmap_qremove(vm_offset_t, int);
diff --git a/sys/vm/vm_glue.c b/sys/vm/vm_glue.c
index 89cf4c7..1b1be53 100644
--- a/sys/vm/vm_glue.c
+++ b/sys/vm/vm_glue.c
@@ -675,9 +675,6 @@ vm_forkproc(td, p2, td2, flags)
if ((flags & RFMEM) == 0) {
p2->p_vmspace = vmspace_fork(p1->p_vmspace);
-
- pmap_pinit2(vmspace_pmap(p2->p_vmspace));
-
if (p1->p_vmspace->vm_shm)
shmfork(p1, p2);
}
diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c
index ecfade8..d4a7fe6 100644
--- a/sys/vm/vm_map.c
+++ b/sys/vm/vm_map.c
@@ -2798,7 +2798,6 @@ vmspace_exec(struct proc *p, vm_offset_t minuser, vm_offset_t maxuser)
* here, it is a good idea to keep this form for future mods.
*/
p->p_vmspace = newvmspace;
- pmap_pinit2(vmspace_pmap(newvmspace));
if (p == curthread->td_proc) /* XXXKSE ? */
pmap_activate(curthread);
vmspace_free(oldvmspace);
@@ -2819,7 +2818,6 @@ vmspace_unshare(struct proc *p)
return;
newvmspace = vmspace_fork(oldvmspace);
p->p_vmspace = newvmspace;
- pmap_pinit2(vmspace_pmap(newvmspace));
if (p == curthread->td_proc) /* XXXKSE ? */
pmap_activate(curthread);
vmspace_free(oldvmspace);
OpenPOWER on IntegriCloud