summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2000-02-17 20:18:01 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2000-02-17 20:18:01 +0000
commit9bd20205e046b0992ebafb2b23ee9b77eb87f55b (patch)
tree78316a3ae5df7952cc949ad5acbbf843e9d91ccf /sys
parentd44ec4c2dcc90eed099d9bad82b134a8ba12946b (diff)
In dvma_mapout don't try to flush unmapped memory from cache.
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/sparc/sparc/vm_machdep.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/sys/arch/sparc/sparc/vm_machdep.c b/sys/arch/sparc/sparc/vm_machdep.c
index 06a983781f2..45d30dd45ef 100644
--- a/sys/arch/sparc/sparc/vm_machdep.c
+++ b/sys/arch/sparc/sparc/vm_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vm_machdep.c,v 1.13 2000/02/15 16:32:41 art Exp $ */
+/* $OpenBSD: vm_machdep.c,v 1.14 2000/02/17 20:18:00 art Exp $ */
/* $NetBSD: vm_machdep.c,v 1.30 1997/03/10 23:55:40 pk Exp $ */
/*
@@ -248,20 +248,21 @@ dvma_mapout(kva, va, len)
{
int s, off;
int error;
+ int klen;
off = (int)kva & PGOFSET;
kva -= off;
- len = round_page(len + off);
+ klen = round_page(len + off);
#if defined(SUN4M)
if (cputyp == CPU_SUN4M)
- iommu_remove(kva, len);
+ iommu_remove(kva, klen);
else
#endif
- pmap_remove(pmap_kernel(), kva, kva + len);
+ pmap_remove(pmap_kernel(), kva, kva + klen);
s = splhigh();
- error = extent_free(dvmamap_extent, kva, len, EX_NOWAIT);
+ error = extent_free(dvmamap_extent, kva, klen, EX_NOWAIT);
if (error)
printf("dvma_mapout: extent_free failed\n");
splx(s);