1*3a91b465Smiod /* $OpenBSD: vmparam.h,v 1.47 2015/11/01 20:09:59 miod Exp $ */ 2e55ab885Smickey 3e55ab885Smickey /* 4e55ab885Smickey * Copyright (c) 1988-1994, The University of Utah and 5e55ab885Smickey * the Computer Systems Laboratory at the University of Utah (CSL). 6e55ab885Smickey * All rights reserved. 7e55ab885Smickey * 8e55ab885Smickey * Permission to use, copy, modify and distribute this software is hereby 9e55ab885Smickey * granted provided that (1) source code retains these copyright, permission, 10e55ab885Smickey * and disclaimer notices, and (2) redistributions including binaries 11e55ab885Smickey * reproduce the notices in supporting documentation, and (3) all advertising 12e55ab885Smickey * materials mentioning features or use of this software display the following 13e55ab885Smickey * acknowledgement: ``This product includes software developed by the 14e55ab885Smickey * Computer Systems Laboratory at the University of Utah.'' 15e55ab885Smickey * 16e55ab885Smickey * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS 17e55ab885Smickey * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF 18e55ab885Smickey * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 19e55ab885Smickey * 20e55ab885Smickey * CSL requests users of this software to return to csl-dist@cs.utah.edu any 21e55ab885Smickey * improvements that they make and grant CSL redistribution rights. 22e55ab885Smickey * 23e55ab885Smickey * Utah $Hdr: vmparam.h 1.16 94/12/16$ 24e55ab885Smickey */ 25e55ab885Smickey 26343a9f2aSmickey #ifndef _MACHINE_VMPARAM_H_ 27343a9f2aSmickey #define _MACHINE_VMPARAM_H_ 28e55ab885Smickey 29e55ab885Smickey /* 30e55ab885Smickey * Machine dependent constants for HP PA 31e55ab885Smickey */ 32*3a91b465Smiod #define USRSTACK 0x78000000UL /* start (bottom) of user stack */ 339fbfe4d3Smickey #define SYSCALLGATE 0xC0000000 /* syscall gateway page */ 34e55ab885Smickey 35e55ab885Smickey /* 36e55ab885Smickey * Virtual memory related constants, all in bytes 37e55ab885Smickey */ 38e55ab885Smickey #ifndef MAXTSIZ 39ca834244Smickey #define MAXTSIZ (512*1024*1024UL) /* max text size */ 40e55ab885Smickey #endif 41e55ab885Smickey #ifndef DFLDSIZ 42e55ab885Smickey #define DFLDSIZ (16*1024*1024) /* initial data size limit */ 43e55ab885Smickey #endif 44e55ab885Smickey #ifndef MAXDSIZ 45ca834244Smickey #define MAXDSIZ (1*1024*1024*1024UL) /* max data size */ 46e55ab885Smickey #endif 4701d0831fStedu #ifndef BRKSIZ 4801d0831fStedu #define BRKSIZ MAXDSIZ /* heap gap size */ 4901d0831fStedu #endif 50e55ab885Smickey #ifndef DFLSSIZ 51f7051d2aSmickey #define DFLSSIZ (2*1024*1024) /* initial stack size limit */ 52e55ab885Smickey #endif 53e55ab885Smickey #ifndef MAXSSIZ 548127a468Smiod #define MAXSSIZ (32*1024*1024UL) /* max stack size */ 55e55ab885Smickey #endif 56e55ab885Smickey 57a489ea08Sderaadt #define STACKGAP_RANDOM 256*1024 58a489ea08Sderaadt 59343a9f2aSmickey #ifndef USRIOSIZE 607a332f94Skettenis #define USRIOSIZE ((2*HPPA_PGALIAS)/PAGE_SIZE) /* 8mb */ 61343a9f2aSmickey #endif 62e55ab885Smickey 63e55ab885Smickey /* 64e55ab885Smickey * PTEs for system V style shared memory. 65e55ab885Smickey * This is basically slop for kmempt which we actually allocate (malloc) from. 66e55ab885Smickey */ 67e55ab885Smickey #ifndef SHMMAXPGS 68c6e9df33Smillert #define SHMMAXPGS 8192 /* 32mb */ 69e55ab885Smickey #endif 70e55ab885Smickey 71e55ab885Smickey /* user/kernel map constants */ 72a201ab69Stedu #define VM_MIN_ADDRESS ((vaddr_t)PAGE_SIZE) 734eadd93aSmickey #define VM_MAXUSER_ADDRESS ((vaddr_t)0xc0000000) 74e55ab885Smickey #define VM_MAX_ADDRESS VM_MAXUSER_ADDRESS 75859223f3Smickey #define VM_MIN_KERNEL_ADDRESS ((vaddr_t)0xc0001000) 76d23a8989Smickey #define VM_MAX_KERNEL_ADDRESS ((vaddr_t)0xef000000) 77e55ab885Smickey 7831af9a24Skurt /* use a small range for PIE to minimize mmap pressure */ 7931af9a24Skurt #define VM_PIE_MIN_ADDR PAGE_SIZE 8031af9a24Skurt #define VM_PIE_MAX_ADDR 0x40000UL 8131af9a24Skurt 82e55ab885Smickey /* virtual sizes (bytes) for various kernel submaps */ 83c7ba784cSart #define VM_PHYS_SIZE (USRIOSIZE*PAGE_SIZE) 84e55ab885Smickey 85841a139aSmiod #define VM_PHYSSEG_MAX 1 /* this many physmem segments */ 86841a139aSmiod #define VM_PHYSSEG_STRAT VM_PSTRAT_RANDOM 879fbfe4d3Smickey 8891811916Smickey #define VM_PHYSSEG_NOADD /* XXX until uvm code is fixed */ 8991811916Smickey 90343a9f2aSmickey #endif /* _MACHINE_VMPARAM_H_ */ 91