xref: /openbsd-src/sys/arch/armv7/include/vmparam.h (revision f2da64fbbbf1b03f09f390ab01267c93dfd77c4c)
1 /* 	$OpenBSD: vmparam.h,v 1.4 2015/06/24 21:35:01 miod Exp $	*/
2 /*	$NetBSD: vmparam.h,v 1.23 2003/05/22 05:47:07 thorpej Exp $	*/
3 
4 /*
5  * Copyright (c) 1988 The Regents of the University of California.
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  * 1. Redistributions of source code must retain the above copyright
12  *    notice, this list of conditions and the following disclaimer.
13  * 2. Redistributions in binary form must reproduce the above copyright
14  *    notice, this list of conditions and the following disclaimer in the
15  *    documentation and/or other materials provided with the distribution.
16  * 3. Neither the name of the University nor the names of its contributors
17  *    may be used to endorse or promote products derived from this software
18  *    without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30  * SUCH DAMAGE.
31  */
32 
33 #ifndef	_MACHINE_VMPARAM_H_
34 #define	_MACHINE_VMPARAM_H_
35 
36 #define	ARM_KERNEL_BASE		0xc0000000U
37 
38 /* Allow armv7 to have bigger DSIZ than generic arm, allow user to override */
39 #ifndef	MAXDSIZ
40 #define	MAXDSIZ		(1024*1024*1024)		/* max data size */
41 #endif
42 #ifndef BRKSIZ
43 #define	BRKSIZ		MAXDSIZ			/* heap gap size */
44 #endif
45 
46 #include <arm/vmparam.h>
47 
48 #ifdef _KERNEL
49 /*
50  * Address space constants
51  */
52 
53 /*
54  * The line between user space and kernel space
55  * Mappings >= KERNEL_BASE are constant across all processes
56  */
57 #define	KERNEL_BASE		ARM_KERNEL_BASE
58 
59 #define VM_KERNEL_SPACE_SIZE	0x10000000
60 
61 /*
62  * Override the default pager_map size, there's not enough KVA.
63  */
64 #define PAGER_MAP_SIZE		(4 * 1024 * 1024)
65 
66 /*
67  * Size of User Raw I/O map
68  */
69 
70 #define USRIOSIZE       300
71 
72 /* virtual sizes (bytes) for various kernel submaps */
73 
74 #define VM_PHYS_SIZE		(USRIOSIZE*PAGE_SIZE)
75 
76 /*
77  * max number of non-contig chunks of physical RAM you can have
78  */
79 
80 #define	VM_PHYSSEG_MAX		2
81 #define	VM_PHYSSEG_STRAT	VM_PSTRAT_RANDOM
82 
83 /*
84  * this indicates that we can't add RAM to the VM system after the
85  * vm system is init'd.
86  */
87 
88 #define	VM_PHYSSEG_NOADD
89 
90 #endif /* _KERNEL */
91 
92 #endif	/* _MACHINE_VMPARAM_H_ */
93