xref: /original-bsd/sys/conf/param.c (revision cd18b70b)
1 /*
2  * Copyright (c) 1980, 1986 Regents of the University of California.
3  * All rights reserved.  The Berkeley software License Agreement
4  * specifies the terms and conditions for redistribution.
5  *
6  *	@(#)param.c	7.3 (Berkeley) 12/06/86
7  */
8 
9 #ifndef lint
10 char copyright[] =
11 "@(#) Copyright (c) 1980, 1986 Regents of the University of California.\n\
12  All rights reserved.\n";
13 #endif not lint
14 
15 #include "../h/param.h"
16 #include "../h/systm.h"
17 #include "../h/socket.h"
18 #include "../h/dir.h"
19 #include "../h/user.h"
20 #include "../h/proc.h"
21 #include "../h/text.h"
22 #include "../h/inode.h"
23 #include "../h/file.h"
24 #include "../h/callout.h"
25 #include "../h/clist.h"
26 #include "../h/cmap.h"
27 #include "../h/mbuf.h"
28 #include "../h/quota.h"
29 #include "../h/kernel.h"
30 /*
31  * System parameter formulae.
32  *
33  * This file is copied into each directory where we compile
34  * the kernel; it should be modified there to suit local taste
35  * if necessary.
36  *
37  * Compiled with -DHZ=xx -DTIMEZONE=x -DDST=x -DMAXUSERS=xx
38  */
39 
40 #ifndef HZ
41 #define	HZ 100
42 #endif
43 int	hz = HZ;
44 int	tick = 1000000 / HZ;
45 int	tickadj = 240000 / (60 * HZ);		/* can adjust 240ms in 60s */
46 struct	timezone tz = { TIMEZONE, DST };
47 #define	NPROC (20 + 8 * MAXUSERS)
48 int	nproc = NPROC;
49 int	ntext = 36 + MAXUSERS;
50 #define NINODE ((NPROC + 16 + MAXUSERS) + 32)
51 int	ninode = NINODE;
52 int	nchsize = NINODE * 11 / 10;
53 int	nfile = 16 * (NPROC + 16 + MAXUSERS) / 10 + 32;
54 int	ncallout = 16 + NPROC;
55 int	nclist = 60 + 12 * MAXUSERS;
56 int     nmbclusters = NMBCLUSTERS;
57 #ifdef QUOTA
58 int	nquota = (MAXUSERS * 9) / 7 + 3;
59 int	ndquot = NINODE + (MAXUSERS * NMOUNT) / 4;
60 #endif
61 
62 /*
63  * These are initialized at bootstrap time
64  * to values dependent on memory size
65  */
66 int	nbuf, nswbuf;
67 
68 /*
69  * These have to be allocated somewhere; allocating
70  * them here forces loader errors if this file is omitted
71  * (if they've been externed everywhere else; hah!).
72  */
73 struct	proc *proc, *procNPROC;
74 struct	text *text, *textNTEXT;
75 struct	inode *inode, *inodeNINODE;
76 struct	file *file, *fileNFILE;
77 struct 	callout *callout;
78 struct	cblock *cfree;
79 struct	buf *buf, *swbuf;
80 char	*buffers;
81 struct	cmap *cmap, *ecmap;
82 struct	namecache *namecache;
83 #ifdef QUOTA
84 struct	quota *quota, *quotaNQUOTA;
85 struct	dquot *dquot, *dquotNDQUOT;
86 #endif
87