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