Annotation of sys/arch/sh/include/vmparam.h, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: vmparam.h,v 1.3 2007/05/20 20:16:08 miod Exp $ */
2: /* $NetBSD: vmparam.h,v 1.17 2006/03/04 01:55:03 uwe Exp $ */
3:
4: /*-
5: * Copyright (c) 2002 The NetBSD Foundation, Inc.
6: * All rights reserved.
7: *
8: * This code is derived from software contributed to The NetBSD Foundation
9: * by UCHIYAMA Yasushi.
10: *
11: * Redistribution and use in source and binary forms, with or without
12: * modification, are permitted provided that the following conditions
13: * are met:
14: * 1. Redistributions of source code must retain the above copyright
15: * notice, this list of conditions and the following disclaimer.
16: * 2. Redistributions in binary form must reproduce the above copyright
17: * notice, this list of conditions and the following disclaimer in the
18: * documentation and/or other materials provided with the distribution.
19: * 3. All advertising materials mentioning features or use of this software
20: * must display the following acknowledgement:
21: * This product includes software developed by the NetBSD
22: * Foundation, Inc. and its contributors.
23: * 4. Neither the name of The NetBSD Foundation nor the names of its
24: * contributors may be used to endorse or promote products derived
25: * from this software without specific prior written permission.
26: *
27: * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
28: * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
29: * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
30: * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
31: * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
32: * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
33: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
34: * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
35: * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
36: * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37: * POSSIBILITY OF SUCH DAMAGE.
38: */
39:
40: #ifndef _SH_VMPARAM_H_
41: #define _SH_VMPARAM_H_
42: #include <sys/queue.h>
43:
44: /* Virtual address map. */
45: #define VM_MIN_ADDRESS ((vaddr_t)0)
46: #define VM_MAXUSER_ADDRESS ((vaddr_t)0x7ffff000)
47: #define VM_MAX_ADDRESS ((vaddr_t)0x7ffff000)
48: #define VM_MIN_KERNEL_ADDRESS ((vaddr_t)0xc0000000)
49: #define VM_MAX_KERNEL_ADDRESS ((vaddr_t)0xe0000000)
50:
51: /* top of stack */
52: #define USRSTACK VM_MAXUSER_ADDRESS
53:
54: /* Virtual memory resoruce limit. */
55: #define MAXTSIZ (64 * 1024 * 1024) /* max text size */
56: #ifndef MAXDSIZ
57: #define MAXDSIZ (512 * 1024 * 1024) /* max data size */
58: #endif
59: #ifndef MAXSSIZ
60: #define MAXSSIZ (32 * 1024 * 1024) /* max stack size */
61: #endif
62:
63: /* initial data size limit */
64: #ifndef DFLDSIZ
65: #define DFLDSIZ (128 * 1024 * 1024)
66: #endif
67: /* initial stack size limit */
68: #ifndef DFLSSIZ
69: #define DFLSSIZ (2 * 1024 * 1024)
70: #endif
71:
72: #define STACKGAP_RANDOM (256 * 1024)
73:
74: /*
75: * Size of shared memory map
76: */
77: #ifndef SHMMAXPGS
78: #define SHMMAXPGS 1024
79: #endif
80:
81: /* Size of user raw I/O map */
82: #ifndef USRIOSIZE
83: #define USRIOSIZE (MAXBSIZE / PAGE_SIZE * 8)
84: #endif
85:
86: #define VM_PHYS_SIZE (USRIOSIZE * PAGE_SIZE)
87:
88: /* pmap-specific data store in the vm_page structure. */
89: #define __HAVE_VM_PAGE_MD
90: #define PVH_REFERENCED 1
91: #define PVH_MODIFIED 2
92:
93: #ifndef _LOCORE
94: struct pv_entry;
95: struct vm_page_md {
96: SLIST_HEAD(, pv_entry) pvh_head;
97: int pvh_flags;
98: };
99:
100: #define VM_MDPAGE_INIT(pg) \
101: do { \
102: struct vm_page_md *pvh = &(pg)->mdpage; \
103: SLIST_INIT(&pvh->pvh_head); \
104: pvh->pvh_flags = 0; \
105: } while (/*CONSTCOND*/0)
106: #endif /* _LOCORE */
107: #endif /* !_SH_VMPARAM_H_ */
CVSweb