vmparam.h revision 1.32 1 1.32 thorpej /* $NetBSD: vmparam.h,v 1.32 2003/04/02 07:53:58 thorpej Exp $ */
2 1.9 cgd
3 1.20 gwr /*-
4 1.20 gwr * Copyright (c) 1998 The NetBSD Foundation, Inc.
5 1.7 glass * All rights reserved.
6 1.7 glass *
7 1.7 glass * Redistribution and use in source and binary forms, with or without
8 1.7 glass * modification, are permitted provided that the following conditions
9 1.7 glass * are met:
10 1.7 glass * 1. Redistributions of source code must retain the above copyright
11 1.7 glass * notice, this list of conditions and the following disclaimer.
12 1.7 glass * 2. Redistributions in binary form must reproduce the above copyright
13 1.7 glass * notice, this list of conditions and the following disclaimer in the
14 1.7 glass * documentation and/or other materials provided with the distribution.
15 1.7 glass * 3. All advertising materials mentioning features or use of this software
16 1.7 glass * must display the following acknowledgement:
17 1.20 gwr * This product includes software developed by the NetBSD
18 1.20 gwr * Foundation, Inc. and its contributors.
19 1.20 gwr * 4. Neither the name of The NetBSD Foundation nor the names of its
20 1.20 gwr * contributors may be used to endorse or promote products derived
21 1.20 gwr * from this software without specific prior written permission.
22 1.20 gwr *
23 1.20 gwr * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
24 1.20 gwr * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
25 1.20 gwr * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
26 1.20 gwr * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
27 1.20 gwr * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28 1.20 gwr * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29 1.20 gwr * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30 1.20 gwr * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31 1.20 gwr * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32 1.20 gwr * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33 1.20 gwr * POSSIBILITY OF SUCH DAMAGE.
34 1.20 gwr */
35 1.26 thorpej
36 1.30 chs #ifndef _SUN3_VMPARAM_H_
37 1.30 chs #define _SUN3_VMPARAM_H_ 1
38 1.30 chs
39 1.26 thorpej /*
40 1.26 thorpej * We use 8K pages on both the sun3 and sun3x. Override PAGE_*
41 1.26 thorpej * to be compile-time constants.
42 1.26 thorpej */
43 1.26 thorpej #define PAGE_SHIFT 13
44 1.26 thorpej #define PAGE_SIZE (1 << PAGE_SHIFT)
45 1.26 thorpej #define PAGE_MASK (PAGE_SIZE - 1)
46 1.20 gwr
47 1.20 gwr #ifdef _SUN3_
48 1.20 gwr #include <machine/vmparam3.h>
49 1.20 gwr #endif /* SUN3 */
50 1.20 gwr #ifdef _SUN3X_
51 1.20 gwr #include <machine/vmparam3x.h>
52 1.20 gwr #endif /* SUN3X */
53 1.23 gwr #ifdef _LKM
54 1.23 gwr #define USRSTACK KERNBASE
55 1.27 jmc /* Be conservative. If an LKM is gonna be built for sun3x, define this first */
56 1.27 jmc #ifndef MAXDSIZ
57 1.27 jmc #define MAXDSIZ (32*1024*1024) /* max data size */
58 1.27 jmc #endif
59 1.23 gwr extern char KERNBASE[];
60 1.23 gwr #endif /* _LKM */
61 1.21 gwr
62 1.22 gwr /* This is needed by some LKMs. */
63 1.22 gwr #define VM_PHYSSEG_MAX 4
64 1.30 chs
65 1.30 chs /*
66 1.30 chs * Mach-derived constants:
67 1.30 chs */
68 1.30 chs
69 1.30 chs /* user/kernel map constants */
70 1.30 chs #define VM_MIN_ADDRESS ((vaddr_t)0)
71 1.30 chs #define VM_MAX_ADDRESS ((vaddr_t)KERNBASE)
72 1.30 chs #define VM_MAXUSER_ADDRESS ((vaddr_t)KERNBASE)
73 1.30 chs #define VM_MIN_KERNEL_ADDRESS ((vaddr_t)KERNBASE)
74 1.30 chs #define VM_MAX_KERNEL_ADDRESS ((vaddr_t)KERN_END)
75 1.30 chs
76 1.30 chs /* virtual sizes (bytes) for various kernel submaps */
77 1.32 thorpej #define VM_PHYS_SIZE (USRIOSIZE*PAGE_SIZE)
78 1.30 chs
79 1.30 chs #define VM_PHYSSEG_STRAT VM_PSTRAT_BSEARCH
80 1.30 chs #define VM_PHYSSEG_NOADD /* can't add RAM after vm_mem_init */
81 1.30 chs
82 1.30 chs #define VM_NFREELIST 1
83 1.30 chs #define VM_FREELIST_DEFAULT 0
84 1.30 chs
85 1.30 chs #endif /* _SUN3_VMPARAM_H_ */
86