1 /* $OpenBSD: vmparam.h,v 1.19 2015/02/10 10:02:55 tedu Exp $ */ 2 /* 3 * Mach Operating System 4 * Copyright (c) 1992 Carnegie Mellon University 5 * All Rights Reserved. 6 * 7 * Permission to use, copy, modify and distribute this software and its 8 * documentation is hereby granted, provided that both the copyright 9 * notice and this permission notice appear in all copies of the 10 * software, derivative works or modified versions, and any portions 11 * thereof, and that both notices appear in supporting documentation. 12 * 13 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 14 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR 15 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 16 * 17 * Carnegie Mellon requests users of this software to return to 18 * 19 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 20 * School of Computer Science 21 * Carnegie Mellon University 22 * Pittsburgh PA 15213-3890 23 * 24 * any improvements or extensions that they make and grant Carnegie Mellon 25 * the rights to redistribute these changes. 26 */ 27 28 /* 29 * machine dependent virtual memory parameters. 30 */ 31 32 33 #ifndef _MACHINE_VM_PARAM_ 34 #define _MACHINE_VM_PARAM_ 35 36 /* 37 * USRTEXT is the start of the user text/data space, while USRSTACK 38 * is the top (end) of the user stack. 39 */ 40 #define USRTEXT 0x1000 /* Start of user text */ 41 #define USRSTACK VM_MAXUSER_ADDRESS /* Start of user stack */ 42 43 /* 44 * Virtual memory related constants, all in bytes 45 */ 46 #ifndef MAXTSIZ 47 #define MAXTSIZ (32*1024*1024) /* max text size */ 48 #endif 49 #ifndef DFLDSIZ 50 #define DFLDSIZ (64*1024*1024) /* initial data size limit */ 51 #endif 52 #ifndef MAXDSIZ 53 #define MAXDSIZ (256*1024*1024) /* max data size */ 54 #endif 55 #ifndef BRKSIZ 56 #define BRKSIZ MAXDSIZ /* heap gap size */ 57 #endif 58 #ifndef DFLSSIZ 59 #define DFLSSIZ (2*1024*1024) /* initial stack size limit */ 60 #endif 61 #ifndef MAXSSIZ 62 #define MAXSSIZ (32*1024*1024) /* max stack size */ 63 #endif 64 65 #define STACKGAP_RANDOM 256*1024 66 67 /* 68 * Size of shared memory map 69 */ 70 #ifndef SHMMAXPGS 71 #define SHMMAXPGS 1024 72 #endif 73 74 #define VM_MIN_ADDRESS ((vaddr_t)PAGE_SIZE) 75 #define VM_MAX_ADDRESS ((vaddr_t)0xfffff000) 76 #define VM_MAXUSER_ADDRESS VM_MAX_ADDRESS 77 78 /* virtual sizes (bytes) for various kernel submaps */ 79 #define VM_PHYS_SIZE (1 * NPTEPG * PAGE_SIZE) 80 81 /* 82 * Constants which control the way the VM system deals with memory segments. 83 * All m88k systems so far only have one physical memory segment. 84 */ 85 #define VM_PHYSSEG_MAX 1 86 #define VM_PHYSSEG_STRAT VM_PSTRAT_RANDOM 87 #define VM_PHYSSEG_NOADD 88 89 #endif /* _MACHINE_VM_PARAM_ */ 90