1f9bac91bSBenno Rice /*- 2f9bac91bSBenno Rice * Copyright (C) 1995, 1996 Wolfgang Solfrank. 3f9bac91bSBenno Rice * Copyright (C) 1995, 1996 TooLs GmbH. 4f9bac91bSBenno Rice * All rights reserved. 5f9bac91bSBenno Rice * 6f9bac91bSBenno Rice * Redistribution and use in source and binary forms, with or without 7f9bac91bSBenno Rice * modification, are permitted provided that the following conditions 8f9bac91bSBenno Rice * are met: 9f9bac91bSBenno Rice * 1. Redistributions of source code must retain the above copyright 10f9bac91bSBenno Rice * notice, this list of conditions and the following disclaimer. 11f9bac91bSBenno Rice * 2. Redistributions in binary form must reproduce the above copyright 12f9bac91bSBenno Rice * notice, this list of conditions and the following disclaimer in the 13f9bac91bSBenno Rice * documentation and/or other materials provided with the distribution. 14f9bac91bSBenno Rice * 3. All advertising materials mentioning features or use of this software 15f9bac91bSBenno Rice * must display the following acknowledgement: 16f9bac91bSBenno Rice * This product includes software developed by TooLs GmbH. 17f9bac91bSBenno Rice * 4. The name of TooLs GmbH may not be used to endorse or promote products 18f9bac91bSBenno Rice * derived from this software without specific prior written permission. 19f9bac91bSBenno Rice * 20f9bac91bSBenno Rice * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR 21f9bac91bSBenno Rice * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 22f9bac91bSBenno Rice * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 23f9bac91bSBenno Rice * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24f9bac91bSBenno Rice * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 25f9bac91bSBenno Rice * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 26f9bac91bSBenno Rice * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 27f9bac91bSBenno Rice * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 28f9bac91bSBenno Rice * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 29f9bac91bSBenno Rice * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30f9bac91bSBenno Rice * 31f9bac91bSBenno Rice * $NetBSD: vmparam.h,v 1.11 2000/02/11 19:25:16 thorpej Exp $ 32f9bac91bSBenno Rice * $FreeBSD$ 33f9bac91bSBenno Rice */ 34f9bac91bSBenno Rice 35f9bac91bSBenno Rice #ifndef _MACHINE_VMPARAM_H_ 36f9bac91bSBenno Rice #define _MACHINE_VMPARAM_H_ 37f9bac91bSBenno Rice 38f9bac91bSBenno Rice #define USRTEXT NBPG 39f9bac91bSBenno Rice #define USRSTACK VM_MAXUSER_ADDRESS 40f9bac91bSBenno Rice 41f9bac91bSBenno Rice #ifndef MAXTSIZ 42f9bac91bSBenno Rice #define MAXTSIZ (16*1024*1024) /* max text size */ 43f9bac91bSBenno Rice #endif 44f9bac91bSBenno Rice 45f9bac91bSBenno Rice #ifndef DFLDSIZ 46f9bac91bSBenno Rice #define DFLDSIZ (32*1024*1024) /* default data size */ 47f9bac91bSBenno Rice #endif 48f9bac91bSBenno Rice 49f9bac91bSBenno Rice #ifndef MAXDSIZ 50f9bac91bSBenno Rice #define MAXDSIZ (512*1024*1024) /* max data size */ 51f9bac91bSBenno Rice #endif 52f9bac91bSBenno Rice 53f9bac91bSBenno Rice #ifndef DFLSSIZ 54f9bac91bSBenno Rice #define DFLSSIZ (1*1024*1024) /* default stack size */ 55f9bac91bSBenno Rice #endif 56f9bac91bSBenno Rice 57f9bac91bSBenno Rice #ifndef MAXSSIZ 58f9bac91bSBenno Rice #define MAXSSIZ (32*1024*1024) /* max stack size */ 59f9bac91bSBenno Rice #endif 60f9bac91bSBenno Rice 61f9bac91bSBenno Rice /* 62f9bac91bSBenno Rice * Size of shared memory map 63f9bac91bSBenno Rice */ 64f9bac91bSBenno Rice #ifndef SHMMAXPGS 65f9bac91bSBenno Rice #define SHMMAXPGS 1024 66f9bac91bSBenno Rice #endif 67f9bac91bSBenno Rice 68f9bac91bSBenno Rice /* 69f9bac91bSBenno Rice * Size of User Raw I/O map 70f9bac91bSBenno Rice */ 71f9bac91bSBenno Rice #define USRIOSIZE 1024 72f9bac91bSBenno Rice 73f9bac91bSBenno Rice /* 74f9bac91bSBenno Rice * The time for a process to be blocked before being very swappable. 75f9bac91bSBenno Rice * This is a number of seconds which the system takes as being a non-trivial 76f9bac91bSBenno Rice * amount of real time. You probably shouldn't change this; 77f9bac91bSBenno Rice * it is used in subtle ways (fractions and multiples of it are, that is, like 78f9bac91bSBenno Rice * half of a ``long time'', almost a long time, etc.) 79f9bac91bSBenno Rice * It is related to human patience and other factors which don't really 80f9bac91bSBenno Rice * change over time. 81f9bac91bSBenno Rice */ 82f9bac91bSBenno Rice #define MAXSLP 20 83f9bac91bSBenno Rice 84f9bac91bSBenno Rice /* 85f9bac91bSBenno Rice * Would like to have MAX addresses = 0, but this doesn't (currently) work 86f9bac91bSBenno Rice */ 87f9bac91bSBenno Rice #define VM_MIN_ADDRESS ((vm_offset_t)0) 88f9bac91bSBenno Rice #define VM_MAXUSER_ADDRESS ((vm_offset_t)0x7ffff000) 89f9bac91bSBenno Rice #define VM_MAX_ADDRESS VM_MAXUSER_ADDRESS 90f9bac91bSBenno Rice #define VM_MIN_KERNEL_ADDRESS ((vm_offset_t)(KERNEL_SR << ADDR_SR_SHFT)) 91f9bac91bSBenno Rice #define VM_MAX_KERNEL_ADDRESS (VM_MIN_KERNEL_ADDRESS + SEGMENT_LENGTH - 1) 92f9bac91bSBenno Rice 93f9bac91bSBenno Rice /* XXX max. amount of KVM to be used by buffers. */ 94f9bac91bSBenno Rice #ifndef VM_MAX_KERNEL_BUF 95f9bac91bSBenno Rice #define VM_MAX_KERNEL_BUF (SEGMENT_LENGTH * 7 / 10) 96f9bac91bSBenno Rice #endif 97f9bac91bSBenno Rice 98f9bac91bSBenno Rice #define VM_PHYS_SIZE (USRIOSIZE * NBPG) 99f9bac91bSBenno Rice 100f9bac91bSBenno Rice struct pmap_physseg { 101f9bac91bSBenno Rice struct pv_entry *pvent; 102f9bac91bSBenno Rice char *attrs; 103f9bac91bSBenno Rice }; 104f9bac91bSBenno Rice 105f9bac91bSBenno Rice #define VM_PHYSSEG_MAX 16 /* 1? */ 106f9bac91bSBenno Rice #define VM_PHYSSEG_STRAT VM_PSTRAT_BSEARCH 107f9bac91bSBenno Rice #define VM_PHYSSEG_NOADD /* can't add RAM after vm_mem_init */ 108f9bac91bSBenno Rice 109f9bac91bSBenno Rice #define VM_NFREELIST 1 110f9bac91bSBenno Rice #define VM_FREELIST_DEFAULT 0 111f9bac91bSBenno Rice 112f9bac91bSBenno Rice #ifndef VM_INITIAL_PAGEIN 113f9bac91bSBenno Rice #define VM_INITIAL_PAGEIN 16 114f9bac91bSBenno Rice #endif 115f9bac91bSBenno Rice 116f9bac91bSBenno Rice #ifndef SGROWSIZ 117f9bac91bSBenno Rice #define SGROWSIZ (128UL*1024) /* amount to grow stack */ 118f9bac91bSBenno Rice #endif 119f9bac91bSBenno Rice 120f9bac91bSBenno Rice #ifndef VM_KMEM_SIZE 121f9bac91bSBenno Rice #define VM_KMEM_SIZE (12 * 1024 * 1024) 122f9bac91bSBenno Rice #endif 123f9bac91bSBenno Rice 124f9bac91bSBenno Rice #endif /* _MACHINE_VMPARAM_H_ */ 125