I was wrong, sh4 does have a VAC.

change vmapbuf()/vmunmapbuf() back to using pmap_enter()/pmap_remove().
This commit is contained in:
chs 2001-08-19 20:44:41 +00:00
parent c489e9bff4
commit 9e8e4c5bdc
1 changed files with 4 additions and 3 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: vm_machdep.c,v 1.18 2001/08/19 17:45:15 chs Exp $ */
/* $NetBSD: vm_machdep.c,v 1.19 2001/08/19 20:44:41 chs Exp $ */
/*-
* Copyright (c) 1995 Charles M. Hannum. All rights reserved.
@ -309,7 +309,8 @@ vmapbuf(bp, len)
while (len) {
pmap_extract(vm_map_pmap(&bp->b_proc->p_vmspace->vm_map),
faddr, &fpa);
pmap_kenter_pa(taddr, fpa, VM_PROT_READ | VM_PROT_WRITE);
pmap_enter(vm_map_pmap(phys_map), taddr, fpa,
VM_PROT_READ | VM_PROT_WRITE, PMAP_WIRED);
faddr += PAGE_SIZE;
taddr += PAGE_SIZE;
len -= PAGE_SIZE;
@ -333,7 +334,7 @@ vunmapbuf(bp, len)
addr = trunc_page((vaddr_t)bp->b_data);
off = (vaddr_t)bp->b_data - addr;
len = round_page(off + len);
pmap_kremove(addr, 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;