in vunmapbuf(), call pmap_*remove() explicitly since uvm_km_free_wakeup()
will soon no longer do it for us.
This commit is contained in:
parent
17d06a7ad7
commit
316cd176c8
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: vm_machdep.c,v 1.17 2001/06/02 18:09:10 chs Exp $ */
|
||||
/* $NetBSD: vm_machdep.c,v 1.18 2001/08/19 17:43:44 chs Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2000, 2001 Ben Harris
|
||||
@ -66,7 +66,7 @@
|
||||
|
||||
#include <sys/param.h>
|
||||
|
||||
__RCSID("$NetBSD: vm_machdep.c,v 1.17 2001/06/02 18:09:10 chs Exp $");
|
||||
__RCSID("$NetBSD: vm_machdep.c,v 1.18 2001/08/19 17:43:44 chs Exp $");
|
||||
|
||||
#include <sys/buf.h>
|
||||
#include <sys/mount.h> /* XXX syscallargs.h uses fhandle_t and fsid_t */
|
||||
@ -219,6 +219,8 @@ vunmapbuf(struct buf *bp, vsize_t len)
|
||||
addr = trunc_page((vaddr_t)bp->b_data);
|
||||
off = (vaddr_t)bp->b_data - addr;
|
||||
len = round_page(off + len);
|
||||
pmap_remove(vm_map_pmap(phys_map), addr, addr + len);
|
||||
pmap_update();
|
||||
uvm_km_free_wakeup(phys_map, addr, len);
|
||||
bp->b_data = bp->b_saveaddr;
|
||||
bp->b_saveaddr = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user