1*3a91b465Smiod /* $OpenBSD: vmparam.h,v 1.20 2015/11/01 20:10:00 miod Exp $ */ 23180e169Smiod /* 33180e169Smiod * Mach Operating System 43180e169Smiod * Copyright (c) 1992 Carnegie Mellon University 53180e169Smiod * All Rights Reserved. 63180e169Smiod * 73180e169Smiod * Permission to use, copy, modify and distribute this software and its 83180e169Smiod * documentation is hereby granted, provided that both the copyright 93180e169Smiod * notice and this permission notice appear in all copies of the 103180e169Smiod * software, derivative works or modified versions, and any portions 113180e169Smiod * thereof, and that both notices appear in supporting documentation. 123180e169Smiod * 133180e169Smiod * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 143180e169Smiod * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR 153180e169Smiod * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 163180e169Smiod * 173180e169Smiod * Carnegie Mellon requests users of this software to return to 183180e169Smiod * 193180e169Smiod * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 203180e169Smiod * School of Computer Science 213180e169Smiod * Carnegie Mellon University 223180e169Smiod * Pittsburgh PA 15213-3890 233180e169Smiod * 243180e169Smiod * any improvements or extensions that they make and grant Carnegie Mellon 253180e169Smiod * the rights to redistribute these changes. 263180e169Smiod */ 273180e169Smiod 283180e169Smiod /* 293180e169Smiod * machine dependent virtual memory parameters. 303180e169Smiod */ 313180e169Smiod 323180e169Smiod 333180e169Smiod #ifndef _MACHINE_VM_PARAM_ 343180e169Smiod #define _MACHINE_VM_PARAM_ 353180e169Smiod 3621ef8313Smiod #define USRSTACK VM_MAXUSER_ADDRESS /* Start of user stack */ 373180e169Smiod 383180e169Smiod /* 393180e169Smiod * Virtual memory related constants, all in bytes 403180e169Smiod */ 413180e169Smiod #ifndef MAXTSIZ 422f748579Smiod #define MAXTSIZ (32*1024*1024) /* max text size */ 433180e169Smiod #endif 443180e169Smiod #ifndef DFLDSIZ 452f748579Smiod #define DFLDSIZ (64*1024*1024) /* initial data size limit */ 463180e169Smiod #endif 473180e169Smiod #ifndef MAXDSIZ 482f748579Smiod #define MAXDSIZ (256*1024*1024) /* max data size */ 493180e169Smiod #endif 5001d0831fStedu #ifndef BRKSIZ 5101d0831fStedu #define BRKSIZ MAXDSIZ /* heap gap size */ 5201d0831fStedu #endif 533180e169Smiod #ifndef DFLSSIZ 543180e169Smiod #define DFLSSIZ (2*1024*1024) /* initial stack size limit */ 553180e169Smiod #endif 563180e169Smiod #ifndef MAXSSIZ 578127a468Smiod #define MAXSSIZ (32*1024*1024) /* max stack size */ 583180e169Smiod #endif 593180e169Smiod 60a489ea08Sderaadt #define STACKGAP_RANDOM 256*1024 61a489ea08Sderaadt 623180e169Smiod /* 633180e169Smiod * Size of shared memory map 643180e169Smiod */ 653180e169Smiod #ifndef SHMMAXPGS 663180e169Smiod #define SHMMAXPGS 1024 673180e169Smiod #endif 683180e169Smiod 69a201ab69Stedu #define VM_MIN_ADDRESS ((vaddr_t)PAGE_SIZE) 70a2c57769Smiod #define VM_MAX_ADDRESS ((vaddr_t)0xfffff000) 713180e169Smiod #define VM_MAXUSER_ADDRESS VM_MAX_ADDRESS 723180e169Smiod 733180e169Smiod /* virtual sizes (bytes) for various kernel submaps */ 743180e169Smiod #define VM_PHYS_SIZE (1 * NPTEPG * PAGE_SIZE) 753180e169Smiod 763180e169Smiod /* 773180e169Smiod * Constants which control the way the VM system deals with memory segments. 78fbe7d4c0Smiod * All m88k systems so far only have one physical memory segment. 793180e169Smiod */ 803180e169Smiod #define VM_PHYSSEG_MAX 1 81ebaacd7dSmiod #define VM_PHYSSEG_STRAT VM_PSTRAT_RANDOM 823180e169Smiod #define VM_PHYSSEG_NOADD 833180e169Smiod 843180e169Smiod #endif /* _MACHINE_VM_PARAM_ */ 85