*	Copyright (c) 1987 by National Semiconductor Corp.
*	All Rights Reserved
*
* @(#)kernel	3.13	5/18/88 Copyright (c) 1985, 1988 by National Semiconductor Corp.
*
* dev	vector	memaddr	ioaddr	bus	count
*
clock	0	0       0       6
pwr     1       0       0       7
btmo    2       0       0       7
*mp	3	0	fffe	7
*lp	12	0	c00020	4
dram	14	0	0	7
*
* Pseudo Devices
*
* Tunable Parameters
*
$$$
*
* SYSTEM DEVICES
*
&DEFINE	NSWAP	21420
*
int	rootdev = makedev(0,0);
int	swapdev = makedev(0,1);
int	swplo   = 0;
int	nswap   = NSWAP;
int	pipedev = makedev(0,0);
int	dumpdev = makedev(0,1);
int	(*dump)() = 0;		/* called from ml/dump.s		*/
int	dmplo   = NSWAP >> 1;	/* start in the middle of swap space	*/
*
&INCLUDE	<sys/machine.h>
*
* TTY
*
&INCLUDE	<sys/tty.h>
&DEFINE	NCLIST	120
*
* INIT
*
extern	int	cinit(), binit(), inoinit(), fsinit(),
		finit(), iinit(), flckinit(), strinit();
*
*
int (*init_tbl[])() = {
	cinit,
	binit,
	inoinit,
	fsinit,
	finit,
	iinit,
	flckinit,
	strinit,
	0,
};
*
* BUF
*
* &INCLUDE	<sys/buf.h>	/* moved to master.d/aaaa	*/
&DEFINE		NBUF	512
&DEFINE		NHBUF	256
&DEFINE		NPBUF	20
struct	buf	pbuf[NPBUF];
struct	hbuf	hbuf[NHBUF];
*
* FILE
*
&INCLUDE	<sys/file.h>
&DEFINE		NFILE	200
struct	file	file[NFILE];
*
* INODE
*
&INCLUDE	<sys/inode.h>
&DEFINE		NINODE	200
struct	inode	inode[NINODE];
*
* S5INODE
*
&INCLUDE	<sys/fs/s5inode.h>
&INCLUDE	<sys/fs/s5dir.h>
&DEFINE		NS5INODE	200
struct	s5inode	s5inode[NS5INODE];
*
* PROC
*
&INCLUDE	<sys/immu.h>
&INCLUDE	<sys/region.h>
&INCLUDE	<sys/proc.h>
&DEFINE		NPROC	120
struct proc proc[NPROC];
*
* REGION
*
&DEFINE		NREGION		240
struct	region	region[NREGION];
*
* CALLOUT
*
&INCLUDE	<sys/callo.h>
&DEFINE		NCALL	120
struct	callo	callout[NCALL];
*
* MOUNT
*
* &INCLUDE	<sys/mount.h>	/* moved to master.d/aaaa	*/
&DEFINE		NMOUNT	25
struct	mount	mount[NMOUNT];
*
* SPTMAP
*
&INCLUDE	<sys/map.h>
&DEFINE		SPTMAP	50
struct	map	sptmap[SPTMAP];
*
* PUTBUF
*
&DEFINE		PUTBUFSZ	2000
char		putbuf[PUTBUFSZ];
int		putbufsz = PUTBUFSZ;
*
* VAR
*
&INCLUDE	<sys/var.h>
struct	var	v =  {
	NBUF,
	NCALL,
	NINODE,
	(char *)(&inode[NINODE]),
	NFILE,
	(char *)(&file[NFILE]),
	NMOUNT,
	(char *)(&mount[NMOUNT]),
	NPROC,
	(char *)(&proc[NPROC]),
	NREGION,
	NCLIST,
	MAXUP,
	NHBUF,
	NHBUF-1,
	NPBUF,
	SPTMAP,
	VHNDFRAC,
	MAXPMEM,
	NAUTOUP,
	NOFILES,
	NQUEUE,
	NSTREAM,
	NBLK4096,
	NBLK2048,
	NBLK1024,
	NBLK512,
	NBLK256,
	NBLK128,
	NBLK64,
	NBLK16,
	NBLK4,
	NS5INODE,
	ULIMIT,
};
*
* TUNE
*
&INCLUDE	<sys/tuneable.h>
tune_t	tune	= {
	GPGSLO,
	GPGSHI,
	GPGSMSK,
	VHANDR,
	VHANDL,
	MAXSC,
	MAXFC,
	MAXUMEM,
	BDFLUSHR,
	MINARMEM,
	MINASMEM,
};
*
* file and record locking *
*
&INCLUDE		<sys/fcntl.h>
&INCLUDE		<sys/flock.h>
&DEFINE	FLCKREC		200
struct	flckinfo	flckinfo = {FLCKREC};
struct	filock		flox[FLCKREC];
*
* shared libraries *
*
&INCLUDE		<sys/sysinfo.h>
&DEFINE	SHLBMAX		2
struct	shlbinfo	shlbinfo = {SHLBMAX, 0, 0, 0};
*
* LINESW
*
extern int	ttopen(), ttclose(), ttread(), ttwrite(), ttioctl(),
		ttin(), ttout();
extern int	nulldev();
#ifdef	SXT_0
extern int	sxtin(), sxtout();
#endif
struct	linesw linesw[] = {
	ttopen, ttclose, ttread, ttwrite, ttioctl, ttin, ttout, nulldev,
#ifdef	SXT_0
	nulldev, nulldev, nulldev, nulldev, nulldev, sxtin, sxtout, nulldev,
#endif
};
int	linecnt = 2;
*
* Stream stuff
*
* &INCLUDE	<sys/stream.h>	/* moved to master.d/aaaa	*/
&DEFINE	NQUEUE		256
&DEFINE	NSTREAM		32
&DEFINE	NBLK4096	2
&DEFINE	NBLK2048	30
&DEFINE	NBLK1024	20
&DEFINE	NBLK512		8
&DEFINE	NBLK256		16
&DEFINE	NBLK128		64
&DEFINE	NBLK64		256
&DEFINE	NBLK16		128
&DEFINE	NBLK4		128
&DEFINE	BLKTOTAL	(NBLK4096+NBLK2048+NBLK1024+NBLK512+NBLK256+NBLK128+NBLK64+NBLK16+NBLK4) 
&DEFINE	NMUXLINK	32
&DEFINE	NSTRPUSH	9
&DEFINE	NSTREVENT	256
&DEFINE	MAXSEPGCNT	1
&DEFINE	STRLOFRAC	80
&DEFINE	STRMEDFRAC	90
&DEFINE	STRMSGSZ	4096
&DEFINE	STRCTLSZ	1024
struct	queue		queue[NQUEUE];
struct	stdata		streams[NSTREAM];
mblk_t			mblock[BLKTOTAL];
dblk_t			dblock[BLKTOTAL];
struct	linkblk		linkblk[NMUXLINK];
int	nmuxlink =	NMUXLINK;
int	nstrpush =	NSTRPUSH;
struct	strevent	strevent[NSTREVENT];
int	nstrevent =	NSTREVENT;
int	maxsepgcnt =	MAXSEPGCNT;
int	strmsgsz =	STRMSGSZ;
int	strctlsz =	STRCTLSZ;
char	strlofrac =	STRLOFRAC;
char	strmedfrac =	STRMEDFRAC;
int	nmblock =	BLKTOTAL;
struct	srmnt		srmount[NSRMOUNT];
int	nsrmount =	NSRMOUNT;
int	nservers =	0;
int	idleserver =	0;
int	msglistcnt =	0;
* maxup is the maximum number of processes per user
&DEFINE	MAXUP		25
*
*
*
&INCLUDE		<sys/utsname.h>
&DEFINE	SYS		"unix"
&DEFINE	NODE		"unix"
&DEFINE	REL		"3.1"
&DEFINE	VER		"VDS"
&DEFINE	MACH		"vme532"
struct	utsname utsname = {
	SYS,
	NODE,
	REL,
	VER,
	MACH,
};
*
* Shared Libraries:	maximum number of libraries that can be
*			attached to a process at one time.
&DEFINE	SHLBMAX		2
*
* Delay for delayed writes
*
&DEFINE	NAUTOUP		10
*
*
*
&DEFINE	NOFILES		20
*
*
*
&DEFINE	VHNDFRAC	16
*
* The following limit on physical memory will go away when
* new ethernet boards that support A32 addressing mode will be used.
* For now limit physical memory up to the start of ethernet's board
* address space.
*
&DEFINE	MAXPMEM		btoct(0xf70000-KMEMBASE)
&DEFINE	GPGSLO		25
&DEFINE	GPGSHI		60
&DEFINE	GPGSMSK		0x0000280
&DEFINE	VHANDR		1
&DEFINE	VHANDL		10
&DEFINE	MAXSC		64
&DEFINE	MAXFC		64
*
* MAXUMEM is also defined in sbd.h.  It depends on the variable SELF_P.
*
&DEFINE	MAXUMEM		15744
&DEFINE	BDFLUSHR	1
&DEFINE	MINARMEM	5
&DEFINE	MINASMEM	25
*
&DEFINE	NSRMOUNT	50
*
&DEFINE ULIMIT		65536
*
*
* ON-BOARD KERNEL MAPPING FOR VME532-CPU
*
short dev_seg[] = {
	0x200,	/* VME SHORT SPACE (4Mb range)			*/
	0x280,	/* VME STANDARD SPACE (0-4Mb range)		*/
	0x284,	/* VME STANDARD SPACE (4-8Mb range)		*/
	0x288,	/* VME STANDARD SPACE (8-12Mb range)		*/
	0x28c,	/* VME STANDARD SPACE (12-16Mb range)		*/
	0x300,	/* VME EXTENDED SPACE (0-4Mb range)		*/
	0x304,	/* VME EXTENDED SPACE (4-8Mb range)		*/
	0x308,	/* VME EXTENDED SPACE (8-12Mb range)		*/
	0x30c,	/* VME EXTENDED SPACE (12-16Mb range)		*/
	0x310,	/* VME EXTENDED SPACE (16-20Mb range)		*/
	0x314,	/* VME EXTENDED SPACE (20-24Mb range)		*/
	0x318,	/* VME EXTENDED SPACE (24-28Mb range)		*/
	0x31c,	/* VME EXTENDED SPACE (28-32Mb range)		*/
	0x380,	/* ROAK INTERRUPTER REGISTERS			*/
	0x390,	/* VME CONTROL REGISTER				*/
	0xa00,	/* PRIVATE DATA SPACE				*/
 	0xf00,	/* on-board PROM				*/
	0xffc,	/* ICU, DUART, WATCHDOG TIMER			*/
};

int	ndevseg = sizeof(dev_seg)/sizeof(dev_seg[0]);
