xref: /netbsd-src/sys/uvm/uvm_user.c (revision bada23909e740596d0a3785a73bd3583a9807fb8)
1 /*	$NetBSD: uvm_user.c,v 1.6 1998/10/11 23:18:21 chuck Exp $	*/
2 
3 /*
4  * XXXCDC: "ROUGH DRAFT" QUALITY UVM PRE-RELEASE FILE!
5  *	   >>>USE AT YOUR OWN RISK, WORK IS NOT FINISHED<<<
6  */
7 /*
8  *
9  * Copyright (c) 1997 Charles D. Cranor and Washington University.
10  * All rights reserved.
11  *
12  * Redistribution and use in source and binary forms, with or without
13  * modification, are permitted provided that the following conditions
14  * are met:
15  * 1. Redistributions of source code must retain the above copyright
16  *    notice, this list of conditions and the following disclaimer.
17  * 2. Redistributions in binary form must reproduce the above copyright
18  *    notice, this list of conditions and the following disclaimer in the
19  *    documentation and/or other materials provided with the distribution.
20  * 3. All advertising materials mentioning features or use of this software
21  *    must display the following acknowledgement:
22  *      This product includes software developed by Charles D. Cranor and
23  *      Washington University.
24  * 4. The name of the author may not be used to endorse or promote products
25  *    derived from this software without specific prior written permission.
26  *
27  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
28  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
29  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
30  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
31  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
32  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
33  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
34  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
36  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37  *
38  * from: Id: uvm_user.c,v 1.1.2.1 1997/08/14 19:10:41 chuck Exp
39  */
40 
41 /*
42  * uvm_user.c: high level uvm_allocate/uvm_deallocate interface into vm.
43  */
44 
45 
46 #include <sys/param.h>
47 #include <sys/systm.h>
48 #include <sys/proc.h>
49 
50 #include <vm/vm.h>
51 #include <uvm/uvm.h>
52 
53 /*
54  * uvm_deallocate: deallocate memory (unmap)
55  */
56 
57 int
58 uvm_deallocate(map, start, size)
59 	vm_map_t map;
60 	vaddr_t start;
61 	vsize_t size;
62 {
63 
64 	if (map == NULL)
65 		panic("uvm_deallocate with null map");
66 
67 	if (size == (vaddr_t) 0)
68 		return (KERN_SUCCESS);
69 
70 	return(uvm_unmap(map, trunc_page(start), round_page(start+size)));
71 
72 }
73