diff options
author | Artur Grabowski <art@cvs.openbsd.org> | 1999-09-03 18:02:30 +0000 |
---|---|---|
committer | Artur Grabowski <art@cvs.openbsd.org> | 1999-09-03 18:02:30 +0000 |
commit | 2a4977388d8ca2cef9e73cd2e0bbdaef83b4a180 (patch) | |
tree | ccbef58b3ebc3a9038f61326e627ca943e3cb79e /sys/uvm/uvm_fault.c | |
parent | 49aebb598146d4d57b680055b575b4923212427c (diff) |
Change the pmap_enter api to pass down an argument that indicates
the access type that caused this mapping. This is to simplify pmaps
with mod/ref emulation (none for the moment) and in some cases speed
up pmap_is_{referenced,modified}.
At the same time, clean up some mappings that had too high protection.
XXX - the access type is incorrect in old vm, it's only used by uvm and MD code.
The actual use of this in pmap_enter implementations is not in this commit.
Diffstat (limited to 'sys/uvm/uvm_fault.c')
-rw-r--r-- | sys/uvm/uvm_fault.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/uvm/uvm_fault.c b/sys/uvm/uvm_fault.c index f82f5cd0c5f..d05c5c30282 100644 --- a/sys/uvm/uvm_fault.c +++ b/sys/uvm/uvm_fault.c @@ -821,7 +821,7 @@ ReFault: VM_PAGE_TO_PHYS(anon->u.an_page), (anon->an_ref > 1) ? (enter_prot & ~VM_PROT_WRITE) : enter_prot, - (ufi.entry->wired_count != 0)); + (ufi.entry->wired_count != 0), 0); } simple_unlock(&anon->an_lock); } @@ -947,7 +947,7 @@ ReFault: uvmexp.fltnomap++; pmap_enter(ufi.orig_map->pmap, currva, VM_PAGE_TO_PHYS(pages[lcv]), - enter_prot & MASK(ufi.entry), wired); + enter_prot & MASK(ufi.entry), wired, 0); /* * NOTE: page can't be PG_WANTED or PG_RELEASED @@ -1202,7 +1202,7 @@ ReFault: UVMHIST_LOG(maphist, " MAPPING: anon: pm=0x%x, va=0x%x, pg=0x%x", ufi.orig_map->pmap, ufi.orig_rvaddr, pg, 0); pmap_enter(ufi.orig_map->pmap, ufi.orig_rvaddr, VM_PAGE_TO_PHYS(pg), - enter_prot, wired); + enter_prot, wired, access_type); /* * ... and update the page queues. @@ -1637,7 +1637,7 @@ Case2: " MAPPING: case2: pm=0x%x, va=0x%x, pg=0x%x, promote=%d", ufi.orig_map->pmap, ufi.orig_rvaddr, pg, promote); pmap_enter(ufi.orig_map->pmap, ufi.orig_rvaddr, VM_PAGE_TO_PHYS(pg), - enter_prot, wired); + enter_prot, wired, access_type); uvm_lock_pageq(); |