Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/arch/arm/ep93xx/ep93xx_space.c,v rcsdiff: /ftp/cvs/cvsroot/src/sys/arch/arm/ep93xx/ep93xx_space.c,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.1 retrieving revision 1.1.2.1 diff -u -p -r1.1 -r1.1.2.1 --- src/sys/arch/arm/ep93xx/ep93xx_space.c 2004/12/22 19:08:16 1.1 +++ src/sys/arch/arm/ep93xx/ep93xx_space.c 2005/04/29 11:28:03 1.1.2.1 @@ -1,4 +1,4 @@ -/* $NetBSD: ep93xx_space.c,v 1.1 2004/12/22 19:08:16 joff Exp $ */ +/* $NetBSD: ep93xx_space.c,v 1.1.2.1 2005/04/29 11:28:03 kent Exp $ */ /* * Copyright (c) 2004 Jesse Off @@ -33,7 +33,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ep93xx_space.c,v 1.1 2004/12/22 19:08:16 joff Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ep93xx_space.c,v 1.1.2.1 2005/04/29 11:28:03 kent Exp $"); /* * bus_space I/O functions for ep93xx @@ -156,7 +156,8 @@ ep93xx_bs_map(void *t, bus_addr_t bpa, b startpa = trunc_page(bpa); /* Get some VM. */ - if ((va = uvm_km_valloc(kernel_map, endpa - startpa)) == 0) + va = uvm_km_alloc(kernel_map, endpa - startpa, 0, UVM_KMF_VAONLY); + if (va == 0) return ENOMEM; /* Store the bus space handle */ @@ -187,7 +188,9 @@ ep93xx_bs_unmap(void *t, bus_space_handl endva = round_page(bsh + size); va = trunc_page(bsh); - uvm_km_free(kernel_map, va, endva - va); + pmap_remove(pmap_kernel(), va, endva); + pmap_update(pmap_kernel()); + uvm_km_free(kernel_map, va, endva - va, UVM_KMF_VAONLY); } int