vmparam.h revision 1.34 1 1.34 pooka /* $NetBSD: vmparam.h,v 1.34 2010/04/30 13:48:55 pooka 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.20 gwr *
16 1.20 gwr * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
17 1.20 gwr * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
18 1.20 gwr * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19 1.20 gwr * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
20 1.20 gwr * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 1.20 gwr * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 1.20 gwr * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 1.20 gwr * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 1.20 gwr * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 1.20 gwr * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 1.20 gwr * POSSIBILITY OF SUCH DAMAGE.
27 1.20 gwr */
28 1.26 thorpej
29 1.30 chs #ifndef _SUN3_VMPARAM_H_
30 1.30 chs #define _SUN3_VMPARAM_H_ 1
31 1.30 chs
32 1.26 thorpej /*
33 1.26 thorpej * We use 8K pages on both the sun3 and sun3x. Override PAGE_*
34 1.26 thorpej * to be compile-time constants.
35 1.26 thorpej */
36 1.26 thorpej #define PAGE_SHIFT 13
37 1.26 thorpej #define PAGE_SIZE (1 << PAGE_SHIFT)
38 1.26 thorpej #define PAGE_MASK (PAGE_SIZE - 1)
39 1.20 gwr
40 1.34 pooka #define USRSTACK KERNBASE
41 1.34 pooka
42 1.20 gwr #ifdef _SUN3_
43 1.20 gwr #include <machine/vmparam3.h>
44 1.20 gwr #endif /* SUN3 */
45 1.20 gwr #ifdef _SUN3X_
46 1.20 gwr #include <machine/vmparam3x.h>
47 1.20 gwr #endif /* SUN3X */
48 1.34 pooka
49 1.34 pooka /* default for modules etc. */
50 1.34 pooka #if !defined(_SUN3_) && !defined(_SUN3X_)
51 1.34 pooka #include <machine/vmparam3.h>
52 1.34 pooka #endif
53 1.34 pooka
54 1.34 pooka /* XXX: this makes modules *compile* */
55 1.34 pooka #ifdef _MODULE
56 1.34 pooka extern char KERNBASE[];
57 1.27 jmc #endif
58 1.21 gwr
59 1.22 gwr /* This is needed by some LKMs. */
60 1.22 gwr #define VM_PHYSSEG_MAX 4
61 1.30 chs
62 1.30 chs /*
63 1.30 chs * Mach-derived constants:
64 1.30 chs */
65 1.30 chs
66 1.30 chs /* user/kernel map constants */
67 1.30 chs #define VM_MIN_ADDRESS ((vaddr_t)0)
68 1.30 chs #define VM_MAX_ADDRESS ((vaddr_t)KERNBASE)
69 1.30 chs #define VM_MAXUSER_ADDRESS ((vaddr_t)KERNBASE)
70 1.30 chs #define VM_MIN_KERNEL_ADDRESS ((vaddr_t)KERNBASE)
71 1.30 chs #define VM_MAX_KERNEL_ADDRESS ((vaddr_t)KERN_END)
72 1.30 chs
73 1.30 chs /* virtual sizes (bytes) for various kernel submaps */
74 1.32 thorpej #define VM_PHYS_SIZE (USRIOSIZE*PAGE_SIZE)
75 1.30 chs
76 1.30 chs #define VM_PHYSSEG_STRAT VM_PSTRAT_BSEARCH
77 1.30 chs #define VM_PHYSSEG_NOADD /* can't add RAM after vm_mem_init */
78 1.30 chs
79 1.30 chs #define VM_NFREELIST 1
80 1.30 chs #define VM_FREELIST_DEFAULT 0
81 1.30 chs
82 1.30 chs #endif /* _SUN3_VMPARAM_H_ */
83