From f13324f65bc2419a9196c4eca76e5e57c0d7fea5 Mon Sep 17 00:00:00 2001 From: alc Date: Sun, 7 Mar 2004 21:06:48 +0000 Subject: 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. --- sys/vm/vm_map.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'sys/vm/vm_map.c') 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); -- cgit v1.1