Annotation of 43BSDReno/sys/GENERIC.vaxminiroot/param.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * Copyright (c) 1980, 1986, 1989 Regents of the University of California.
        !             3:  * All rights reserved.
        !             4:  *
        !             5:  * Redistribution is only permitted until one year after the first shipment
        !             6:  * of 4.4BSD by the Regents.  Otherwise, redistribution and use in source and
        !             7:  * binary forms are permitted provided that: (1) source distributions retain
        !             8:  * this entire copyright notice and comment, and (2) distributions including
        !             9:  * binaries display the following acknowledgement:  This product includes
        !            10:  * software developed by the University of California, Berkeley and its
        !            11:  * contributors'' in the documentation or other materials provided with the
        !            12:  * distribution and in all advertising materials mentioning features or use
        !            13:  * of this software.  Neither the name of the University nor the names of
        !            14:  * its contributors may be used to endorse or promote products derived from
        !            15:  * this software without specific prior written permission.
        !            16:  * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
        !            17:  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
        !            18:  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            19:  *
        !            20:  *     @(#)param.c     7.14 (Berkeley) 6/28/90
        !            21:  */
        !            22: 
        !            23: #ifndef lint
        !            24: char copyright[] =
        !            25: "@(#) Copyright (c) 1980, 1986, 1989 Regents of the University of California.\n\
        !            26:  All rights reserved.\n";
        !            27: #endif not lint
        !            28: 
        !            29: #include "../sys/param.h"
        !            30: #include "../sys/systm.h"
        !            31: #include "../sys/socket.h"
        !            32: #include "../sys/user.h"
        !            33: #include "../sys/proc.h"
        !            34: #include "../sys/text.h"
        !            35: #include "../sys/vnode.h"
        !            36: #include "../sys/file.h"
        !            37: #include "../sys/callout.h"
        !            38: #include "../sys/clist.h"
        !            39: #include "../sys/cmap.h"
        !            40: #include "../sys/mbuf.h"
        !            41: #include "../ufs/quota.h"
        !            42: #include "../sys/kernel.h"
        !            43: #ifdef SYSVSHM
        !            44: #include "machine/vmparam.h"
        !            45: #include "../sys/shm.h"
        !            46: #endif
        !            47: 
        !            48: /*
        !            49:  * System parameter formulae.
        !            50:  *
        !            51:  * This file is copied into each directory where we compile
        !            52:  * the kernel; it should be modified there to suit local taste
        !            53:  * if necessary.
        !            54:  *
        !            55:  * Compiled with -DHZ=xx -DTIMEZONE=x -DDST=x -DMAXUSERS=xx
        !            56:  */
        !            57: 
        !            58: #ifndef HZ
        !            59: #define        HZ 100
        !            60: #endif
        !            61: int    hz = HZ;
        !            62: int    tick = 1000000 / HZ;
        !            63: int    tickadj = 240000 / (60 * HZ);           /* can adjust 240ms in 60s */
        !            64: struct timezone tz = { TIMEZONE, DST };
        !            65: #define        NPROC (20 + 8 * MAXUSERS)
        !            66: int    nproc = NPROC;
        !            67: #define        NTEXT (36 + MAXUSERS)
        !            68: int    ntext = NTEXT;
        !            69: #define NVNODE (NPROC + NTEXT + 300)
        !            70: long   desiredvnodes = NVNODE;
        !            71: int    nfile = 16 * (NPROC + 16 + MAXUSERS) / 10 + 32;
        !            72: int    ncallout = 16 + NPROC;
        !            73: int    nclist = 60 + 12 * MAXUSERS;
        !            74: int     nmbclusters = NMBCLUSTERS;
        !            75: int    fscale = FSCALE;        /* kernel uses `FSCALE', user uses `fscale' */
        !            76: 
        !            77: /*
        !            78:  * Values in support of System V compatible shared memory.
        !            79:  */
        !            80: #ifdef SYSVSHM
        !            81: #define        SHMMAX  (SHMMAXPGS*NBPG)
        !            82: #define SHMMIN 1
        !            83: #define SHMMNI 32                      /* <= SHMMMNI in shm.h */
        !            84: #define        SHMSEG  8
        !            85: #define SHMALL (SHMMAXPGS/CLSIZE)
        !            86: 
        !            87: struct shminfo shminfo = {
        !            88:        SHMMAX,
        !            89:        SHMMIN,
        !            90:        SHMMNI,
        !            91:        SHMSEG,
        !            92:        SHMALL
        !            93: };
        !            94: #endif
        !            95: 
        !            96: /*
        !            97:  * These are initialized at bootstrap time
        !            98:  * to values dependent on memory size
        !            99:  */
        !           100: int    nbuf, nswbuf;
        !           101: 
        !           102: /*
        !           103:  * These have to be allocated somewhere; allocating
        !           104:  * them here forces loader errors if this file is omitted
        !           105:  * (if they've been externed everywhere else; hah!).
        !           106:  */
        !           107: struct proc *proc, *procNPROC;
        !           108: struct text *text, *textNTEXT;
        !           109: struct file *file, *fileNFILE;
        !           110: struct         callout *callout;
        !           111: struct cblock *cfree;
        !           112: struct buf *buf, *swbuf;
        !           113: char   *buffers;
        !           114: struct cmap *cmap, *ecmap;
        !           115: 
        !           116: /*
        !           117:  * Proc/pgrp hashing.
        !           118:  * Here so that hash table sizes can depend on MAXUSERS/NPROC.
        !           119:  * Hash size must be a power of two.
        !           120:  * NOW omission of this file will cause loader errors!
        !           121:  */
        !           122: 
        !           123: #if NPROC > 1024
        !           124: #define        PIDHSZ          512
        !           125: #else
        !           126: #if NPROC > 512
        !           127: #define        PIDHSZ          256
        !           128: #else
        !           129: #if NPROC > 256
        !           130: #define        PIDHSZ          128
        !           131: #else
        !           132: #define        PIDHSZ          64
        !           133: #endif
        !           134: #endif
        !           135: #endif
        !           136: 
        !           137: struct proc *pidhash[PIDHSZ];
        !           138: struct pgrp *pgrphash[PIDHSZ];
        !           139: int    pidhashmask = PIDHSZ - 1;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.