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