xref: /original-bsd/sys/vm/pmap.h (revision a088de5a)
1 /*
2  * Copyright (c) 1991 Regents of the University of California.
3  * All rights reserved.
4  *
5  * This code is derived from software contributed to Berkeley by
6  * The Mach Operating System project at Carnegie-Mellon University.
7  *
8  * %sccs.include.redist.c%
9  *
10  *	@(#)pmap.h	7.4 (Berkeley) 05/07/91
11  *
12  *
13  * Copyright (c) 1987, 1990 Carnegie-Mellon University.
14  * All rights reserved.
15  *
16  * Author: Avadis Tevanian, Jr.
17  *
18  * Permission to use, copy, modify and distribute this software and
19  * its documentation is hereby granted, provided that both the copyright
20  * notice and this permission notice appear in all copies of the
21  * software, derivative works or modified versions, and any portions
22  * thereof, and that both notices appear in supporting documentation.
23  *
24  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
25  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
26  * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
27  *
28  * Carnegie Mellon requests users of this software to return to
29  *
30  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
31  *  School of Computer Science
32  *  Carnegie Mellon University
33  *  Pittsburgh PA 15213-3890
34  *
35  * any improvements or extensions that they make and grant Carnegie the
36  * rights to redistribute these changes.
37  */
38 
39 /*
40  *	Machine address mapping definitions -- machine-independent
41  *	section.  [For machine-dependent section, see "machine/pmap.h".]
42  */
43 
44 #ifndef	_PMAP_VM_
45 #define	_PMAP_VM_
46 
47 #include <machine/pmap.h>
48 
49 #ifdef KERNEL
50 void		pmap_bootstrap();
51 void		pmap_init();
52 void		pmap_pinit __P((struct pmap *pmap));
53 void		pmap_release __P((struct pmap *pmap));
54 vm_offset_t	pmap_map();
55 pmap_t		pmap_create();
56 void		pmap_destroy();
57 void		pmap_reference();
58 void		pmap_remove();
59 void		pmap_page_protect();
60 void		pmap_protect();
61 void		pmap_enter();
62 vm_offset_t	pmap_extract();
63 void		pmap_update();
64 void		pmap_collect();
65 void		pmap_activate();
66 void		pmap_deactivate();
67 void		pmap_copy();
68 void		pmap_statistics();
69 void		pmap_clear_reference();
70 boolean_t	pmap_is_referenced();
71 #ifndef pmap_kernel
72 pmap_t		pmap_kernel();
73 #endif
74 
75 void		pmap_redzone();
76 boolean_t	pmap_access();
77 
78 extern pmap_t	kernel_pmap;
79 #endif
80 
81 #endif	_PMAP_VM_
82