123133Smckusick /* 223133Smckusick * Copyright (c) 1980 Regents of the University of California. 323133Smckusick * All rights reserved. The Berkeley software License Agreement 423133Smckusick * specifies the terms and conditions for redistribution. 523133Smckusick */ 63124Swnj 723133Smckusick #ifndef lint 823133Smckusick char copyright[] = 923133Smckusick "@(#) Copyright (c) 1980 Regents of the University of California.\n\ 1023133Smckusick All rights reserved.\n"; 1123133Smckusick #endif not lint 1223133Smckusick 133124Swnj #include "../h/param.h" 143124Swnj #include "../h/systm.h" 154668Swnj #include "../h/socket.h" 163124Swnj #include "../h/dir.h" 173124Swnj #include "../h/user.h" 183124Swnj #include "../h/proc.h" 193124Swnj #include "../h/text.h" 203124Swnj #include "../h/inode.h" 213124Swnj #include "../h/file.h" 223124Swnj #include "../h/callout.h" 233124Swnj #include "../h/clist.h" 243124Swnj #include "../h/cmap.h" 254824Swnj #include "../h/mbuf.h" 267638Ssam #include "../h/quota.h" 278229Sroot #include "../h/kernel.h" 283124Swnj /* 293124Swnj * System parameter formulae. 303124Swnj * 313124Swnj * This file is copied into each directory where we compile 323124Swnj * the kernel; it should be modified there to suit local taste 333124Swnj * if necessary. 343124Swnj * 353124Swnj * Compiled with -DHZ=xx -DTIMEZONE=x -DDST=x -DMAXUSERS=xx 363124Swnj */ 373124Swnj 388229Sroot #define HZ 100 393124Swnj int hz = HZ; 408229Sroot int tick = 1000000 / HZ; 41*26304Skarels int tickadj = 240000 / (60 * HZ); /* can adjust 240ms in 60s */ 428229Sroot struct timezone tz = { TIMEZONE, DST }; 433124Swnj #define NPROC (20 + 8 * MAXUSERS) 443124Swnj int nproc = NPROC; 4518649Skarels int ntext = 36 + MAXUSERS; 4616660Smckusick #define NINODE ((NPROC + 16 + MAXUSERS) + 32) 4716660Smckusick int ninode = NINODE; 4816660Smckusick int nchsize = NINODE * 11 / 10; 4916575Ssam int nfile = 16 * (NPROC + 16 + MAXUSERS) / 10 + 32; 509248Ssam int ncallout = 16 + NPROC; 5124909Skarels int nclist = 60 + 12 * MAXUSERS; 523620Sroot int nport = NPROC / 2; 535148Swnj int nmbclusters = NMBCLUSTERS; 549183Ssam #ifdef QUOTA 5517009Smckusick int nquota = (MAXUSERS * 9) / 7 + 3; 5617009Smckusick int ndquot = NINODE + (MAXUSERS * NMOUNT) / 4; 577638Ssam #endif 583124Swnj 593124Swnj /* 603124Swnj * These are initialized at bootstrap time 613124Swnj * to values dependent on memory size 623124Swnj */ 633124Swnj int nbuf, nswbuf; 643124Swnj 653124Swnj /* 663124Swnj * These have to be allocated somewhere; allocating 67*26304Skarels * them here forces loader errors if this file is omitted 68*26304Skarels * (if they've been externed everywhere else; hah!). 693124Swnj */ 703124Swnj struct proc *proc, *procNPROC; 713124Swnj struct text *text, *textNTEXT; 723124Swnj struct inode *inode, *inodeNINODE; 733124Swnj struct file *file, *fileNFILE; 743124Swnj struct callout *callout; 753124Swnj struct cblock *cfree; 763124Swnj struct buf *buf, *swbuf; 773124Swnj short *swsize; 783124Swnj int *swpf; 793124Swnj char *buffers; 803124Swnj struct cmap *cmap, *ecmap; 81*26304Skarels struct namecache *namecache; 829183Ssam #ifdef QUOTA 837638Ssam struct quota *quota, *quotaNQUOTA; 847638Ssam struct dquot *dquot, *dquotNDQUOT; 857638Ssam #endif 86