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