diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2004-02-23 06:19:33 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2004-02-23 06:19:33 +0000 |
commit | de2067d3774285101b5dfee0c1a30dd1e1f4225e (patch) | |
tree | 3c3235ce3a5961078f106a64788c34e0f654d8a3 /sys/uvm/uvm_map.c | |
parent | 368d580ada242c6c62b6d5bdb01046d5621eef12 (diff) |
sync of pmap_update() calls with NetBSD. pmap_update is defined away on
all architectures but arm, where it is needed.
Diffstat (limited to 'sys/uvm/uvm_map.c')
-rw-r--r-- | sys/uvm/uvm_map.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/uvm/uvm_map.c b/sys/uvm/uvm_map.c index b6b0397cb73..505d1eba92c 100644 --- a/sys/uvm/uvm_map.c +++ b/sys/uvm/uvm_map.c @@ -1,4 +1,4 @@ -/* $OpenBSD: uvm_map.c,v 1.64 2003/11/18 06:08:19 tedu Exp $ */ +/* $OpenBSD: uvm_map.c,v 1.65 2004/02/23 06:19:32 drahn Exp $ */ /* $NetBSD: uvm_map.c,v 1.86 2000/11/27 08:40:03 chs Exp $ */ /* @@ -1509,6 +1509,10 @@ uvm_unmap_remove(map, start, end, entry_list) first_entry = entry; entry = next; /* next entry, please */ } + /* if ((map->flags & VM_MAP_DYING) == 0) { */ + pmap_update(vm_map_pmap(map)); + /* } */ + uvm_tree_sanity(map, "unmap_remove leave"); @@ -2027,6 +2031,7 @@ uvm_map_extract(srcmap, start, len, dstmap, dstaddrp, flags) /* end of 'while' loop */ fudge = 0; } + pmap_update(srcmap->pmap); /* * unlock dstmap. we will dispose of deadentry in @@ -2250,6 +2255,7 @@ uvm_map_protect(map, start, end, new_prot, set_max) current = current->next; } + pmap_update(map->pmap); out: vm_map_unlock(map); @@ -3556,6 +3562,8 @@ uvmspace_fork(vm1) old_entry->end, old_entry->protection & ~VM_PROT_WRITE); + pmap_update(old_map->pmap); + } old_entry->etype |= UVM_ET_NEEDSCOPY; } |