vmparam3.h revision 1.32
11.32Sagc/* $NetBSD: vmparam3.h,v 1.32 2003/08/07 16:29:56 agc Exp $ */ 21.32Sagc 31.32Sagc/* 41.32Sagc * Copyright (c) 1982, 1986, 1990 The Regents of the University of California. 51.32Sagc * All rights reserved. 61.32Sagc * 71.32Sagc * This code is derived from software contributed to Berkeley by 81.32Sagc * the Systems Programming Group of the University of Utah Computer 91.32Sagc * Science Department. 101.32Sagc * 111.32Sagc * Redistribution and use in source and binary forms, with or without 121.32Sagc * modification, are permitted provided that the following conditions 131.32Sagc * are met: 141.32Sagc * 1. Redistributions of source code must retain the above copyright 151.32Sagc * notice, this list of conditions and the following disclaimer. 161.32Sagc * 2. Redistributions in binary form must reproduce the above copyright 171.32Sagc * notice, this list of conditions and the following disclaimer in the 181.32Sagc * documentation and/or other materials provided with the distribution. 191.32Sagc * 3. Neither the name of the University nor the names of its contributors 201.32Sagc * may be used to endorse or promote products derived from this software 211.32Sagc * without specific prior written permission. 221.32Sagc * 231.32Sagc * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 241.32Sagc * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 251.32Sagc * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 261.32Sagc * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 271.32Sagc * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 281.32Sagc * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 291.32Sagc * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 301.32Sagc * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 311.32Sagc * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 321.32Sagc * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 331.32Sagc * SUCH DAMAGE. 341.32Sagc * 351.32Sagc * from: Utah $Hdr: vmparam.h 1.16 91/01/18$ 361.32Sagc * from: @(#)vmparam.h 7.3 (Berkeley) 5/7/91 371.32Sagc * vmparam.h,v 1.2 1993/05/22 07:58:38 cgd Exp 381.32Sagc */ 391.9Scgd 401.7Sglass/* 411.10Sgwr * Copyright (c) 1994 Gordon W. Ross 421.7Sglass * Copyright (c) 1993 Adam Glass 431.7Sglass * Copyright (c) 1988 University of Utah. 441.7Sglass * 451.7Sglass * This code is derived from software contributed to Berkeley by 461.7Sglass * the Systems Programming Group of the University of Utah Computer 471.7Sglass * Science Department. 481.7Sglass * 491.7Sglass * Redistribution and use in source and binary forms, with or without 501.7Sglass * modification, are permitted provided that the following conditions 511.7Sglass * are met: 521.7Sglass * 1. Redistributions of source code must retain the above copyright 531.7Sglass * notice, this list of conditions and the following disclaimer. 541.7Sglass * 2. Redistributions in binary form must reproduce the above copyright 551.7Sglass * notice, this list of conditions and the following disclaimer in the 561.7Sglass * documentation and/or other materials provided with the distribution. 571.7Sglass * 3. All advertising materials mentioning features or use of this software 581.7Sglass * must display the following acknowledgement: 591.7Sglass * This product includes software developed by the University of 601.7Sglass * California, Berkeley and its contributors. 611.7Sglass * 4. Neither the name of the University nor the names of its contributors 621.7Sglass * may be used to endorse or promote products derived from this software 631.7Sglass * without specific prior written permission. 641.7Sglass * 651.7Sglass * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 661.7Sglass * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 671.7Sglass * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 681.7Sglass * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 691.7Sglass * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 701.7Sglass * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 711.7Sglass * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 721.7Sglass * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 731.7Sglass * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 741.7Sglass * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 751.7Sglass * SUCH DAMAGE. 761.7Sglass * 771.10Sgwr * from: Utah $Hdr: vmparam.h 1.16 91/01/18$ 781.10Sgwr * from: @(#)vmparam.h 7.3 (Berkeley) 5/7/91 791.10Sgwr * vmparam.h,v 1.2 1993/05/22 07:58:38 cgd Exp 801.7Sglass */ 811.1Sglass 821.10Sgwr/* 831.14Sgwr * Machine dependent constants for Sun3 841.14Sgwr * 851.14Sgwr * The Sun3 has limited total kernel virtual space (32MB) and 861.14Sgwr * can not use main memory for page tables. (All active PTEs 871.14Sgwr * must be installed in special translation RAM in the MMU). 881.14Sgwr * Therefore, parameters that would normally configure the 891.14Sgwr * size of various page tables are irrelevant. Only things 901.14Sgwr * that consume portions of kernel virtual (KV) space matter, 911.14Sgwr * and those things should be chosen to conserve KV space. 921.10Sgwr */ 931.10Sgwr 941.10Sgwr/* 951.14Sgwr * USRSTACK is the top (end) of the user stack. 961.10Sgwr */ 971.10Sgwr#define USRSTACK KERNBASE /* High end of user stack */ 981.1Sglass 991.1Sglass/* 1001.20Sgwr * Virtual memory related constants, all in bytes. 1011.20Sgwr * The Sun3 has only 224 MB of user-virtual space, 1021.20Sgwr * so we need to be conservative with these limits. 1031.1Sglass */ 1041.1Sglass#ifndef MAXTSIZ 1051.6Sglass#define MAXTSIZ (8*1024*1024) /* max text size */ 1061.1Sglass#endif 1071.1Sglass#ifndef DFLDSIZ 1081.17Sgwr#define DFLDSIZ (16*1024*1024) /* initial data size limit */ 1091.1Sglass#endif 1101.1Sglass#ifndef MAXDSIZ 1111.6Sglass#define MAXDSIZ (32*1024*1024) /* max data size */ 1121.1Sglass#endif 1131.1Sglass#ifndef DFLSSIZ 1141.1Sglass#define DFLSSIZ (512*1024) /* initial stack size limit */ 1151.1Sglass#endif 1161.1Sglass#ifndef MAXSSIZ 1171.10Sgwr#define MAXSSIZ MAXDSIZ /* max stack size */ 1181.1Sglass#endif 1191.1Sglass 1201.1Sglass/* 1211.4Sglass * PTEs for mapping user space into the kernel for phyio operations. 1221.14Sgwr * The actual limitation for physio requests will be the DVMA space, 1231.14Sgwr * and that is fixed by hardware design at 1MB. We could make the 1241.14Sgwr * physio map larger than that, but it would not buy us much. 1251.4Sglass */ 1261.4Sglass#ifndef USRIOSIZE 1271.14Sgwr#define USRIOSIZE 128 /* 1 MB */ 1281.13Sgwr#endif 1291.13Sgwr 1301.13Sgwr/* 1311.13Sgwr * PTEs for system V style shared memory. 1321.13Sgwr * This is basically slop for kmempt which we actually allocate (malloc) from. 1331.13Sgwr */ 1341.13Sgwr#ifndef SHMMAXPGS 1351.14Sgwr#define SHMMAXPGS 512 /* 4 MB */ 1361.4Sglass#endif 1371.29Schs 1381.29Schs#define PAGER_MAP_SIZE (4 * 1024 * 1024) 139