vmparam.h revision 1.37 1 1.37 chs /* $NetBSD: vmparam.h,v 1.37 2013/01/07 16:58:09 chs 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.37 chs #define __USE_TOPDOWN_VM
33 1.37 chs
34 1.26 thorpej /*
35 1.26 thorpej * We use 8K pages on both the sun3 and sun3x. Override PAGE_*
36 1.26 thorpej * to be compile-time constants.
37 1.26 thorpej */
38 1.26 thorpej #define PAGE_SHIFT 13
39 1.26 thorpej #define PAGE_SIZE (1 << PAGE_SHIFT)
40 1.26 thorpej #define PAGE_MASK (PAGE_SIZE - 1)
41 1.20 gwr
42 1.35 tsutsui #define USRSTACK kernbase /* for modules */
43 1.35 tsutsui #define USRSTACK3 KERNBASE3 /* for asm not in modules */
44 1.35 tsutsui #define USRSTACK3X KERNBASE3X
45 1.34 pooka
46 1.20 gwr #ifdef _SUN3_
47 1.20 gwr #include <machine/vmparam3.h>
48 1.20 gwr #endif /* SUN3 */
49 1.20 gwr #ifdef _SUN3X_
50 1.20 gwr #include <machine/vmparam3x.h>
51 1.20 gwr #endif /* SUN3X */
52 1.34 pooka
53 1.34 pooka /* default for modules etc. */
54 1.34 pooka #if !defined(_SUN3_) && !defined(_SUN3X_)
55 1.34 pooka #include <machine/vmparam3.h>
56 1.34 pooka #endif
57 1.34 pooka
58 1.35 tsutsui /*
59 1.35 tsutsui * PTEs for mapping user space into the kernel for phyio operations.
60 1.35 tsutsui * The actual limitation for physio requests will be the DVMA space,
61 1.35 tsutsui * and that is fixed by hardware design at 1MB. We could make the
62 1.35 tsutsui * physio map larger than that, but it would not buy us much.
63 1.35 tsutsui */
64 1.35 tsutsui #ifndef USRIOSIZE
65 1.35 tsutsui #define USRIOSIZE 128 /* 1 MB */
66 1.27 jmc #endif
67 1.21 gwr
68 1.22 gwr /* This is needed by some LKMs. */
69 1.22 gwr #define VM_PHYSSEG_MAX 4
70 1.30 chs
71 1.30 chs /*
72 1.30 chs * Mach-derived constants:
73 1.30 chs */
74 1.30 chs
75 1.30 chs /* user/kernel map constants */
76 1.30 chs #define VM_MIN_ADDRESS ((vaddr_t)0)
77 1.35 tsutsui #define VM_MAX_ADDRESS kernbase
78 1.35 tsutsui #define VM_MAXUSER_ADDRESS kernbase
79 1.35 tsutsui #define VM_MIN_KERNEL_ADDRESS kernbase
80 1.35 tsutsui #define VM_MAX_KERNEL_ADDRESS kern_end
81 1.30 chs
82 1.30 chs /* virtual sizes (bytes) for various kernel submaps */
83 1.32 thorpej #define VM_PHYS_SIZE (USRIOSIZE*PAGE_SIZE)
84 1.30 chs
85 1.30 chs #define VM_PHYSSEG_STRAT VM_PSTRAT_BSEARCH
86 1.30 chs
87 1.30 chs #define VM_NFREELIST 1
88 1.30 chs #define VM_FREELIST_DEFAULT 0
89 1.30 chs
90 1.30 chs #endif /* _SUN3_VMPARAM_H_ */
91