Changeset View
Changeset View
Standalone View
Standalone View
sys/vm/vm_map.c
| Show First 20 Lines • Show All 337 Lines • ▼ Show 20 Lines | vmspace_alloc(vm_offset_t min, vm_offset_t max, pmap_pinit_t pinit) | ||||
| vm->vm_shm = NULL; | vm->vm_shm = NULL; | ||||
| vm->vm_swrss = 0; | vm->vm_swrss = 0; | ||||
| vm->vm_tsize = 0; | vm->vm_tsize = 0; | ||||
| vm->vm_dsize = 0; | vm->vm_dsize = 0; | ||||
| vm->vm_ssize = 0; | vm->vm_ssize = 0; | ||||
| vm->vm_taddr = 0; | vm->vm_taddr = 0; | ||||
| vm->vm_daddr = 0; | vm->vm_daddr = 0; | ||||
| vm->vm_maxsaddr = 0; | vm->vm_maxsaddr = 0; | ||||
| vm->vm_stkgap = 0; | |||||
| return (vm); | return (vm); | ||||
| } | } | ||||
| #ifdef RACCT | #ifdef RACCT | ||||
| static void | static void | ||||
| vmspace_container_reset(struct proc *p) | vmspace_container_reset(struct proc *p) | ||||
| { | { | ||||
| ▲ Show 20 Lines • Show All 3,906 Lines • ▼ Show 20 Lines | vmspace_fork(struct vmspace *vm1, vm_ooffset_t *fork_charge) | ||||
| vm2 = vmspace_alloc(vm_map_min(old_map), vm_map_max(old_map), | vm2 = vmspace_alloc(vm_map_min(old_map), vm_map_max(old_map), | ||||
| pmap_pinit); | pmap_pinit); | ||||
| if (vm2 == NULL) | if (vm2 == NULL) | ||||
| return (NULL); | return (NULL); | ||||
| vm2->vm_taddr = vm1->vm_taddr; | vm2->vm_taddr = vm1->vm_taddr; | ||||
| vm2->vm_daddr = vm1->vm_daddr; | vm2->vm_daddr = vm1->vm_daddr; | ||||
| vm2->vm_maxsaddr = vm1->vm_maxsaddr; | vm2->vm_maxsaddr = vm1->vm_maxsaddr; | ||||
| vm2->vm_stkgap = vm1->vm_stkgap; | |||||
| vm_map_lock(old_map); | vm_map_lock(old_map); | ||||
| if (old_map->busy) | if (old_map->busy) | ||||
| vm_map_wait_busy(old_map); | vm_map_wait_busy(old_map); | ||||
| new_map = &vm2->vm_map; | new_map = &vm2->vm_map; | ||||
| locked = vm_map_trylock(new_map); /* trylock to silence WITNESS */ | locked = vm_map_trylock(new_map); /* trylock to silence WITNESS */ | ||||
| KASSERT(locked, ("vmspace_fork: lock failed")); | KASSERT(locked, ("vmspace_fork: lock failed")); | ||||
| error = pmap_vmspace_copy(new_map->pmap, old_map->pmap); | error = pmap_vmspace_copy(new_map->pmap, old_map->pmap); | ||||
| ▲ Show 20 Lines • Show All 1,096 Lines • Show Last 20 Lines | |||||