xref: /openbsd/sys/arch/hppa/include/vmparam.h (revision 3a91b465)
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