xref: /openbsd-src/sys/arch/armv7/include/vmparam.h (revision 13675c0c44c53d98f73f0a8e6658e7a356dae74f)
1*13675c0cSkettenis /* 	$OpenBSD: vmparam.h,v 1.8 2023/11/12 16:37:28 kettenis Exp $	*/
28eda2d14Spatrick /*	$NetBSD: vmparam.h,v 1.23 2003/05/22 05:47:07 thorpej Exp $	*/
38eda2d14Spatrick 
48eda2d14Spatrick /*
58eda2d14Spatrick  * Copyright (c) 1988 The Regents of the University of California.
68eda2d14Spatrick  * All rights reserved.
78eda2d14Spatrick  *
88eda2d14Spatrick  * Redistribution and use in source and binary forms, with or without
98eda2d14Spatrick  * modification, are permitted provided that the following conditions
108eda2d14Spatrick  * are met:
118eda2d14Spatrick  * 1. Redistributions of source code must retain the above copyright
128eda2d14Spatrick  *    notice, this list of conditions and the following disclaimer.
138eda2d14Spatrick  * 2. Redistributions in binary form must reproduce the above copyright
148eda2d14Spatrick  *    notice, this list of conditions and the following disclaimer in the
158eda2d14Spatrick  *    documentation and/or other materials provided with the distribution.
168eda2d14Spatrick  * 3. Neither the name of the University nor the names of its contributors
178eda2d14Spatrick  *    may be used to endorse or promote products derived from this software
188eda2d14Spatrick  *    without specific prior written permission.
198eda2d14Spatrick  *
208eda2d14Spatrick  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
218eda2d14Spatrick  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
228eda2d14Spatrick  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
238eda2d14Spatrick  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
248eda2d14Spatrick  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
258eda2d14Spatrick  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
268eda2d14Spatrick  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
278eda2d14Spatrick  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
288eda2d14Spatrick  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
298eda2d14Spatrick  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
308eda2d14Spatrick  * SUCH DAMAGE.
318eda2d14Spatrick  */
328eda2d14Spatrick 
338eda2d14Spatrick #ifndef	_MACHINE_VMPARAM_H_
348eda2d14Spatrick #define	_MACHINE_VMPARAM_H_
358eda2d14Spatrick 
360a7156fbSmiod #define	ARM_KERNEL_BASE		0xc0000000U
378eda2d14Spatrick 
38812f4289Sjca /* Allow armv7 to have bigger limits than generic arm, allow user to override */
398eda2d14Spatrick #ifndef	MAXDSIZ
40*13675c0cSkettenis #define	MAXDSIZ		(2UL*1024*1024*1024)	/* max data size */
418eda2d14Spatrick #endif
428eda2d14Spatrick #ifndef BRKSIZ
438eda2d14Spatrick #define	BRKSIZ		MAXDSIZ			/* heap gap size */
448eda2d14Spatrick #endif
45812f4289Sjca #ifndef	DFLSSIZ
46812f4289Sjca #define	DFLSSIZ		(4*1024*1024)		/* initial stack size limit */
47812f4289Sjca #endif
48812f4289Sjca #ifndef	MAXSSIZ
49812f4289Sjca #define	MAXSSIZ		(32*1024*1024)		/* max stack size */
50812f4289Sjca #endif
518eda2d14Spatrick 
528eda2d14Spatrick #include <arm/vmparam.h>
538eda2d14Spatrick 
548eda2d14Spatrick #ifdef _KERNEL
558eda2d14Spatrick /*
568eda2d14Spatrick  * Address space constants
578eda2d14Spatrick  */
588eda2d14Spatrick 
598eda2d14Spatrick /*
608eda2d14Spatrick  * The line between user space and kernel space
618eda2d14Spatrick  * Mappings >= KERNEL_BASE are constant across all processes
628eda2d14Spatrick  */
638eda2d14Spatrick #define	KERNEL_BASE		ARM_KERNEL_BASE
648eda2d14Spatrick 
65b1dcd106Skettenis #define VM_KERNEL_SPACE_SIZE	0x20000000
66391e966aSjsg 
678eda2d14Spatrick /*
688eda2d14Spatrick  * Override the default pager_map size, there's not enough KVA.
698eda2d14Spatrick  */
708eda2d14Spatrick #define PAGER_MAP_SIZE		(4 * 1024 * 1024)
718eda2d14Spatrick 
728eda2d14Spatrick /*
738eda2d14Spatrick  * Size of User Raw I/O map
748eda2d14Spatrick  */
758eda2d14Spatrick 
768eda2d14Spatrick #define USRIOSIZE       300
778eda2d14Spatrick 
788eda2d14Spatrick /* virtual sizes (bytes) for various kernel submaps */
798eda2d14Spatrick 
808eda2d14Spatrick #define VM_PHYS_SIZE		(USRIOSIZE*PAGE_SIZE)
818eda2d14Spatrick 
828eda2d14Spatrick /*
838eda2d14Spatrick  * max number of non-contig chunks of physical RAM you can have
848eda2d14Spatrick  */
858eda2d14Spatrick 
86386a4b3bSkettenis #define	VM_PHYSSEG_MAX		32
87386a4b3bSkettenis #define	VM_PHYSSEG_STRAT	VM_PSTRAT_BSEARCH
888eda2d14Spatrick 
898eda2d14Spatrick /*
908eda2d14Spatrick  * this indicates that we can't add RAM to the VM system after the
918eda2d14Spatrick  * vm system is init'd.
928eda2d14Spatrick  */
938eda2d14Spatrick 
948eda2d14Spatrick #define	VM_PHYSSEG_NOADD
958eda2d14Spatrick 
968eda2d14Spatrick #endif /* _KERNEL */
978eda2d14Spatrick 
988eda2d14Spatrick #endif	/* _MACHINE_VMPARAM_H_ */
99