xref: /openbsd/sys/arch/armv7/include/vmparam.h (revision 91f110e0)
1 /* 	$OpenBSD: vmparam.h,v 1.1 2013/09/04 14:38:29 patrick 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		0xc0000000
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 /*
60  * Override the default pager_map size, there's not enough KVA.
61  */
62 #define PAGER_MAP_SIZE		(4 * 1024 * 1024)
63 
64 /*
65  * Size of User Raw I/O map
66  */
67 
68 #define USRIOSIZE       300
69 
70 /* virtual sizes (bytes) for various kernel submaps */
71 
72 #define VM_PHYS_SIZE		(USRIOSIZE*PAGE_SIZE)
73 
74 /*
75  * max number of non-contig chunks of physical RAM you can have
76  */
77 
78 #define	VM_PHYSSEG_MAX		1
79 #define	VM_PHYSSEG_STRAT	VM_PSTRAT_RANDOM
80 
81 /*
82  * this indicates that we can't add RAM to the VM system after the
83  * vm system is init'd.
84  */
85 
86 #define	VM_PHYSSEG_NOADD
87 
88 #endif /* _KERNEL */
89 
90 #endif	/* _MACHINE_VMPARAM_H_ */
91