*#ident	@(#)kernel	1.32 88/03/19 
*
* KERNEL
*
*FLAG	#VEC	PREFIX	SOFT	#DEV	IPL	DEPENDENCIES/VARIABLES
-	 -	  -	 -	  -	 -	
						init_tbl(%l%l%l%l%l%l%l%l%l%l%l%l%l)
							={&cinit,
							  &binit,
							  &inoinit,
							  &fsinit,
							  &finit,
							  &iinit,
							  &xsdinit,
							  &xseminit,
							  &seminit,
							  &msginit,
							  &strinit,
							  &i387init,
							  0}
						buf[MAXBUF](%Vstruct_buf_size)={0}
						pbuf[NPBUF](%Vstruct_buf_size)={0}
						bfreelist(%vstruct_buf_size)
						pfreelist(%vstruct_buf_size)
 						rbfreelist(%vstruct_buf_size)
						buffers(%i)
						hbuf(%i)
						file(%l)
						inode(%l)
						s5inode(%l)
						proc(%l)
						region(%l)
						callout[NCALL](%i%i%l%i)
						sdtab[NSDSEGS * NSDSLOTS](%0x10)
***sptmap MUST immediately follow mount for initialization of 'v' below
						mount[NMOUNT](%vstruct_mount_size)
					 	sptmap[SPTMAP](%l%l)
***
						putbuf[PUTBUFSZ](%c)
						putbufsz(%i)={PUTBUFSZ}
						v(%i%i%i%i%l%i%l%i%l%i%l%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%s%s%l%l%l%l%l%l%i%i%i%l)
							={NBUF,
							  MAXBUF,
							  NCALL,
							  NINODE,
							  0,
							  NFILE,
							  0,
							  NMOUNT,
							  &sptmap,
*the sptmap value should really be &mount[NMOUNT]
							  NPROC,
							  0,
							  NREGION,
							  NCLIST,
							  MAXUP,
							  NHBUF,
							  NHBUF-1,
							  NPBUF,
							  SPTMAP,
							  VHNDFRAC,
							  MAXPMEM,
							  NAUTOUP,
							  NOFILES,
							  NQUEUE,
							  NSTREAM,
							  NBLK4096,
							  NBLK2048,
							  NBLK1024,
							  NBLK512,
							  NBLK256,
							  NBLK128,
							  NBLK64,
							  NBLK16,
							  NBLK4,
							  NS5INODE,
							  0,
							  0,
							  &msgque,
							  &sema,
							  &shmem,
							  &msginfo,
							  &seminfo,
							  &shminfo,
							  NFLOCKS,
							  NSDSEGS,
							  NSDSLOTS,
							  CDLIMIT}
						tune(%i%i%i%i%i%i%i%i%i%i%i)= 
							   { GPGSLO,
							     GPGSHI,
							     GPGSMSK,
							     VHANDR,
							     VHANDL,
							     MAXSC,
							     MAXFC,
							     MAXUMEM,
							     BDFLUSHR,
							     MINARMEM,
							     MINASMEM}
						locklist(%l)
						shlbinfo(%l%l%l%l)={SHLBMAX,0,0}
						utsname(%9c%9c%9c%9c%9c%11c)=
							{SYS,
							 NODE,
							 REL,
							 VER,
							 MACH}
						autsname(%14c%14c%14c%14c)=
							{SYS,
							 NODE,
							 REL,
							 VER}
						hdcnt(%i)={HDCNT}
						hd_stat[HDCNT](%28c)
						queue(%l)
						streams(%l)
						mblock(%l)
						dblock(%l)
						linkblk(%l)
						nmuxlink(%i)={NMUXLINK}
						nstrpush(%i)={NSTRPUSH}
						strevent(%l)
						nstrevent(%i)={NSTREVENT}
						maxsepgcnt(%i)={MAXSEPGCNT}
						strmsgsz(%i)={STRMSGSZ}
						strctlsz(%i)={STRCTLSZ}
						strlofrac(%i)={STRLOFRAC}
						strmedfrac(%i)={STRMEDFRAC}
						ndblock (%i) = {
							NBLK4096+
							NBLK2048+
							NBLK1024+
							NBLK512+
							NBLK256+
							NBLK128+
							NBLK64+
							NBLK16+
							NBLK4
						}
						nmblock (%i) = {
							NBLK4096+
							NBLK2048+
							NBLK1024+
							NBLK512+
							NBLK256+
							NBLK128+
							NBLK64+
							NBLK16+
							NBLK4 +
							(NBLK4096+
							 NBLK2048+
							 NBLK1024+
							 NBLK512+
							 NBLK256+
							 NBLK128+
							 NBLK64+
							 NBLK16+
							 NBLK4)/4
						}
						remote_acct(%i)
						bootstate(%i)
						dufstyp(%s)
						srmount(%l)
						nsrmount(%i)={NSRMOUNT}
						nservers(%i)={0}
						idleserver(%i)={0}
						msglistcnt(%i)={0}
						qrunflag(%c)
						queueflag(%c)
						sbuf(%l)
						pfreecnt(%i)
						nptalloced(%i)
						nptfree(%i)
						ractive(%vstruct_region_size)
						rfree(%vstruct_region_size)
						sysreg(%vstruct_region_size)
						runq(%l)
						curproc[MAXCPUS](%l)
						oldproc[MAXCPUS](%l)
						curpri[MAXCPUS](%c)
						phead(%0x20)
						pfdat(%l)
						phash(%l)
						ptfree(%0x20)
						phashmask(%i)
						swaptab[MSFILES](%s%s%l%l%i%i%i)
						nextswap(%i)
						pregpp(%i)={3 + 1}
						maxclick(%i)
						kpbase(%i)
						kpbase_click(%i)
						kptbl(%l)
						contype(%s)
						conssw(%l%i)
						ttys[CDEVCNT](%l%i)
						Timezone(%i)={TIMEZONE}
						Dstflag(%i)={DSTFLAG}
						nofiles_max(%i)={NOFLS_MAX}
						nofiles_min(%i)={NOFLS_MIN}
						nofiles_cfg(%i)={1}
 						lbuf_ct(%l)
 						rbuf_ct(%l)
 						rcacheinit(%l)
 						rfs_vcode(%l)
						hold(%c)
						maxblk(%s%s%s%s%s%s%s%s%s)={
							RBLK4,
							RBLK16,
							RBLK64,
							RBLK128,
							RBLK256,
							RBLK512,
							RBLK1024,
							RBLK2048,
							RBLK4096
						}
$$$
NPBUF=8
NSDSEGS=25
NSDSLOTS=1
SPTMAP=50
NMOUNT=25
NCALL=60
* MAXBUF is the maximum # of buffers, NBUF is actual #.  If NBUF is
* zero, approximately 1/8 of memory will be used for kernel buffers
NBUF=0
MAXBUF=1024
* if any of NINODE, NS5INODE, NFILE, NPROC, or NFLOCKS is zero,
* the kernel will allocate an appropriate number based on the 
* total memory size.
NINODE=0
NS5INODE=0
NFILE=0
NPROC=0
NFLOCKS=0
*if NREGION is 0, kernel allocates 4 per process
NREGION=0
*if NCLIST is 0, kernel allocates 9 per port in system
NCLIST=0
MAXUP=30
NHBUF=128
VHNDFRAC=16
MAXPMEM=0
NAUTOUP=10
NOFILES=50
* The next 28 values (thru STRCTLSZ) are for streams. NBLK* should be
* set to minimal sizes for streams drivers such as the logger that don't
* require many buffers.  Other drivers will dynamically allocate 
* streams buffers up to the the RBLK* sizes as required.
* It will initially allocate them according to the NBLK* sizes.
* which will take 2 pages of memory with the values:0,1,4,1,2,3,8,8,8
NQUEUE=20
NSTREAM=4
NBLK4096=0
NBLK2048=1
NBLK1024=4
NBLK512=1
NBLK256=2
NBLK128=3
NBLK64=8
NBLK16=8
NBLK4=8
RBLK4096=4
RBLK2048=32
RBLK1024=96
RBLK512=16
RBLK256=16
RBLK128=160
RBLK64=40
RBLK16=40
RBLK4=40
NMUXLINK=8
NSTRPUSH=9
NSTREVENT=256
MAXSEPGCNT=1
STRLOFRAC=80
STRMEDFRAC=90
STRMSGSZ=4096
STRCTLSZ=1024
* end stream stuff
GPGSLO=25
GPGSHI=40
GPGSMSK=0x0420
VHANDR=1
VHANDL=10
MAXSC=1
MAXFC=1
* 2560  allows a max of 10Mb of virtual memory per process
MAXUMEM=2560
BDFLUSHR=1
MINARMEM=25
MINASMEM=25
SHLBMAX=5

* SYS, REL, and VER should remain in the same formats.  This has been
* agreed to by both the Intel and Motorola OS groups and the Comm group.
* This has been done so products can reliably parse this information
* when installing.  NODE can be changed with uname -N or by WorkNet.
SYS="unix"
NODE=""
REL="5.3.1"
VER="b"

MACH="386/1000"
NSRMOUNT=10
MAXCPUS=3
MSFILES=16
TIMEZONE=480
* ttys[] should be moved into dynamic_space later
CDEVCNT=48
DSTFLAG=1
PUTBUFSZ=2000
NFLS_MAX=64
NFLS_MIN=20
NOFLS_MAX=63
NOFLS_MIN=20
CDLIMIT=1048576
HDCNT=3
