Add an optional pmap hook, pmap_fork(), to be called at the end of
uvmspace_fork(). pmap_fork() is used to "fork a pmap", that is copy data from one pmap to the other that is NOT related to actual mappings in the pmap, but is otherwise logically coupled to the address space.
This commit is contained in:
parent
61bf929d14
commit
f5108f64e7
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: uvm_map.c,v 1.38 1999/05/03 08:57:42 mrg Exp $ */
|
||||
/* $NetBSD: uvm_map.c,v 1.39 1999/05/12 19:11:23 thorpej Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1997 Charles D. Cranor and Washington University.
|
||||
@ -2758,6 +2758,10 @@ uvmspace_fork(vm1)
|
||||
shmfork(vm1, vm2);
|
||||
#endif
|
||||
|
||||
#ifdef PMAP_FORK
|
||||
pmap_fork(vm1->vm_map.pmap, vm2->vm_map.pmap);
|
||||
#endif
|
||||
|
||||
UVMHIST_LOG(maphist,"<- done",0,0,0,0);
|
||||
return(vm2);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: pmap.h,v 1.29 1999/03/26 21:58:39 mycroft Exp $ */
|
||||
/* $NetBSD: pmap.h,v 1.30 1999/05/12 19:11:24 thorpej Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1991, 1993
|
||||
@ -185,11 +185,15 @@ void pmap_update __P((void));
|
||||
void pmap_zero_page __P((paddr_t));
|
||||
|
||||
#if defined(PMAP_STEAL_MEMORY)
|
||||
vaddr_t pmap_steal_memory __P((vsize_t, paddr_t *,
|
||||
vaddr_t pmap_steal_memory __P((vsize_t, paddr_t *,
|
||||
paddr_t *));
|
||||
#else
|
||||
void pmap_virtual_space __P((vaddr_t *, vaddr_t *));
|
||||
#endif
|
||||
|
||||
#if defined(PMAP_FORK)
|
||||
void pmap_fork __P((pmap_t, pmap_t));
|
||||
#endif
|
||||
__END_DECLS
|
||||
#endif /* kernel*/
|
||||
#endif /* PMAP_EXCLUDE_DECLS */
|
||||
|
Loading…
Reference in New Issue
Block a user