Ultrix-3.1/src/cmd/mkconf/mkc_str.c

Compare this file to the similar file:
Show the results in this format:


/**********************************************************************
 *   Copyright (c) Digital Equipment Corporation 1984, 1985, 1986.    *
 *   All Rights Reserved. 					      *
 *   Reference "/usr/src/COPYRIGHT" for applicable restrictions.      *
 **********************************************************************/

static char Sccsid[] = "@(#)mkc_str.c	3.0	4/21/86";

char	*stra40[] =
{
	"/ low core",
	"",
	0
};

char	*stra70[] =
{
	"/ low core",
	"",
	".data",
	0
};

char	*stra1[] =
{
	"ZERO:",
	"",
	"br4 = 200",
	"br5 = 240",
	"br6 = 300",
	"br7 = 340",
	"",
	". = ZERO+0",
	0
};

/*
 * WARNING WARNING WARNING WARNING WARNING
 *
 * DO NOT change the following string without
 * first checking /usr/src/cmd/cc.c, first
 * lines of code after main().
 * Location zero identifies the type of kernel.
 */
char	*stra2id[] =
{
	"	svi0; br7+0.		/ stray vector thru zero logger",
	"				/ loc 0 = 4, says SID kernel",
	0
};

/*
 * WARNING WARNING WARNING WARNING WARNING
 *
 * DO NOT change the following string without
 * first checking /usr/src/cmd/cc.c, first
 * lines of code after main().
 * Location zero identifies the type of kernel.
 */
char	*stra2ov[] = 
{
	"	3; br7+0.		/ BPT to catch jump/vector -> 0",
	"				/ loc 0 = 3, says OV kernel",
	0
};

char	*stra3[] =
{
	"",
	"/ trap vectors",
	"	trap; br7+0.		/ bus error",
	"	trap; br7+1.		/ illegal instruction",
	"	trap; br7+2.		/ bpt-trace trap",
	"	trap; br7+3.		/ iot trap",
	"	trap; br7+4.		/ power fail",
/*@
	"	trap; br7+5.		/ emulator trap",
@*/
/*@*/	"	ovint; br5+5.		/ emulator trap",
	"	start;br7+6.		/ system  (overlaid by 'trap')",
	"",
	". = ZERO+40",
	"",
	0,
};

char	*strb[] =
{
	"",
	". = ZERO+240",
	"	trap; br7+7.		/ programmed interrupt",
	"	trap; br7+8.		/ floating point",
	"	trap; br7+9.		/ segmentation violation",
	0
};

char	*strc[] =
{
	"",
	"/ floating vectors",
	"",
	". = ZERO+300",
	0,
};

/*
char	*osizcmd = {"size ../ovsys/*.o ../ovdev/*.o ../ovnet/*.o > text.sizes"};
char	*ssizcmd = "size ../sys/LIB1_id ../dev/LIB2_id ../net/*.o > text.sizes";
*/
char	*osizcmd = "(cd ../ovsys; size *.o; cd ../ovdev; size *.o;\
			cd ../ovnet; size *.o)> text.sizes";
char	*ssizcmd = "(cd ../sys; size LIB1_id; size *.o; cd ../dev;\
			size LIB2_id; cd ../net; size *.o )> text.sizes";
char	*cmcmd = {"chmod 744 ovload"};

char	*strovh[] =
{
	"ld -X -k -n -o unix_ov l.o dump_ov.o mch_ov.o c_ov.o dds_ov.o tds_ov.o nds_ov.o dksizes_ov.o \\",
	0,
};

char	*strovh1[] =
{	"ld -X -k -i -o unix_id l.o dump_id.o mch_id.o c.o dds.o tds.o nds.o dksizes.o \\",
	0
};

char	*strovl[] =
{
	"-L \\",
	"\t../ovsys/trap.o \\",
	"\t../ovsys/slp.o \\",
/*	"\t../ovsys/rdwri.o \\", */
	"\t../ovsys/clock.o \\",
/*	"\t../ovsys/alloc.o \\", */
	"\t../ovsys/sysent.o \\",
	"\t../ovsys/prim.o \\",
	"\t../ovsys/prf.o \\",
/*	"\t../ovsys/pipe.o \\",	*/
	"\tec.o",
	0,
};

char	*strovl1[] =
{
	"-L \\",
	"\t../sys/LIB1_id \\",
	"\t../dev/LIB2_id \\",
	"\tec.o",
	0
};

char	*strovz[] =
{
	"-Z \\",
	0,
};

char	*strd1[] =
{
	"",
	"/ Interface to stray vector error logging",
	"",
	".text",
	".globl _sv0, _sv100, _sv200, _sv300, _sv400, _sv500, _sv600, _sv700",
	"",
	0
};

char	*strd2[] =
{
	"/ BPT required for jump/vector -> zero error handling.",
	"3\t/ BPT - DO NOT MOVE !",
	"0\t/ Place holder, DO NOT MOVE !",
	"",
	0
};

char	*strd3[] =
{
	"svi0:\tjsr\tr0,call; jmp _sv0\t/stray vector from 0-74",
	"svi100:\tjsr\tr0,call; jmp _sv100",
	"svi200:\tjsr\tr0,call; jmp _sv200",
	"svi300:\tjsr\tr0,call; jmp _sv300",
	"svi400:\tjsr\tr0,call; jmp _sv400",
	"svi500:\tjsr\tr0,call; jmp _sv500",
	"svi600:\tjsr\tr0,call; jmp _sv600",
	"svi700:\tjsr\tr0,call; jmp _sv700",
	"",
	"//////////////////////////////////////////////////////",
	"/		interface code to C",
	"//////////////////////////////////////////////////////",
	"",
	".globl	call, trap",
	0
};

char	*strd4[] = 
{
	"",
	"/ Dummy instructions to force loading of certain data",
	"/ structures first in BSS, so they can be mapped by the",
	"/ first unibus map register (_ub_end used for size check).",
	"",
	".globl _cfree",
	"",
	"\tmov\t_cfree,r0\t/ WARNING: _cfree must be first",
	"",
	0
};

char	*stre[] =
{
	"#include <sys/param.h>",
	"#include <sys/systm.h>",
	"#include <sys/buf.h>",
	"#include <sys/tty.h>",
	"#include <sys/conf.h>",
	"#include <sys/proc.h>",
	"#include <sys/text.h>",
	"#include <sys/dir.h>",
	"#include <sys/user.h>",
	"#include <sys/file.h>",
	"#include <sys/inode.h>",
	"#include <sys/acct.h>",
	"#include <sys/mount.h>",
	"#include <sys/map.h>",
	"#include <sys/callo.h>",
	"#include <sys/mbuf.h>",
	"#include \"dds.h\"",
	"",
	"int	nulldev();",
	"int	nodev();",
	0
};

char	*stre1[] =
{
	"struct	bdevsw	bdevsw[] =",
	"{",
	0,
};

char	*strf[] =
{
	"	0",
	"};",
	"",
	0,
};

char	*strf1[] =
{
	"",
	"int ttselect(), seltrue();",
	"",
	"struct	cdevsw	cdevsw[] =",
	"{",
	0,
};

char	strg[] =
{
"	0\n\
};\n\
int	rootdev	= makedev(%d, %d);\n\
int	swapdev	= makedev(%d, %d);\n\
int	pipedev = makedev(%d, %d);\n\
int	el_dev = makedev(%d, %d);\n\
int	nldisp = %d;\n\
daddr_t	swplo	= %ld;\n\
int	nswap	= %u;\n\
daddr_t	el_sb = %ld;\n\
int	el_nb = %u;\n\
"};

char	strg1[] =
{
"	\n\
struct	buf	buf[NBUF];\n\
struct	inode	inode[%d];\n\
struct	mount	mount[%d];\n"
};

char	strg2[] =
{
"struct	buf	bfreelist;\n\
struct	acct	acctbuf;\n\
struct	inode	*acctp;\n\
struct	map	coremap[%d];\n\
struct	map	swapmap[%d];\n\
int	ub_end;\n\
#ifndef	UCB_CLIST\n\
struct	cblock	cfree[%d];\n\
#else	UCB_CLIST\n\
struct	cblock	*cfree;\n\
#endif	UCB_CLIST\n\
char	msgbuf[%d];\n"
};

char	strg3[] =
{
"	\n\
/*\n\
 * System table sizes, used by commands like\n\
 * ps & pstat to free them from param.h.\n\
 */\n\
	\n"
};

char	strg4[] =
{
"int	nbuf	= NBUF;\n\
int	nproc	= NPROC;\n\
int	ninode	= %d;\n\
int	ntext	= NTEXT;\n\
int	nofile	= NOFILE;\n\
int	nsig	= NSIG;\n\
int	nfile	= NFILE;\n\
int	nmount	= %d;\n\
int	mapsize	= %d;\n\
int	ncall	= %d;\n\
int	nclist	= %d;\n\
int	elbsiz	= %d;\n\
int	maxuprc = %d;\n\
int	timezone = (%d*60);\n\
int	dstflag = %d;\n\
int	ncargs = %d;\n\
int	hz = %d;\n\
int	msgbufs = %d;\n\
unsigned int maxseg = %u;\n\
long	cdlimit = %ld;\n"
};

char	*strh[] =
{
	"	0",
	"};",
	"",
	"int	ttstart();",
	"int	ntyclose(), ntread(), ntwrite(), ntyinput();",
	"int	ttioctl();",
	0
};

char	*strj[] =
{
	"struct	linesw	linesw[] =",
	"{",
	"	nulldev, nulldev, ntread, ntwrite, ttioctl,",
	"	ntyinput, nodev, nulldev, ttstart, nulldev,	/* 0 */",
	"	nulldev, ntyclose, ntread, ntwrite, ttioctl,",
	"	ntyinput, nodev, nulldev, ttstart, nulldev,	/* 1 */",
	0
};

char	*strl1[] =
{
	"",
	"/*",
	" * Block I/O mode major device numbers",
	" */",
	"",
	0
};

char	*strl2[] =
{
	"",
	"/*",
	" * Character mode major device numbers",
	" */",
	"",
	0
};

char	*strm[] =
{
	"",
	"/*",
	" * I/O device CSR addresses",
	" * Indexed by RAW major device number",
	" */",
	"",
	"int\tio_csr[] =",
	"{",
	0
};

char	*strm1[] =
{
	"",
	"/*",
	" * I/O device bus addr ext. register offset.",
	" * Zero if no BAE register. Index is BLOCK major dev.",
	" */",
	"",
	"char	io_bae[] =",
	"{",
	"	0,	/* rk */",
	"	0,	/* rp */",
	"	0,	/* ra MBZ */",
	"	010,	/* rl */",
	"	0,	/* hx */",
	"	0,	/* tm */",
	"	0,	/* tk */",
	"	0,	/* ts */",
	"	034,	/* ht */",
	"	050,	/* hp */",
	"	050,	/* hm */",
	"	050,	/* hj */",
	"	0,	/* hk */",
	"	0,	/* u1 MBZ */",
	"	0,	/* u2 MBZ */",
	"	0,	/* u3 MBZ */",
	"	0,	/* u4 MBZ */",
	"};",
	0
};

char	*strm2[] =
{
	"",
	"/*",
	" * MSCP disk controller CSR and VECTOR addresses.",
	" */",
	"",
	"#if NUDA > 0",
	"int	ra_csr[] = {C0_CSR, C1_CSR, C2_CSR, C3_CSR};",
	"int	ra_ivec[] = {C0_VEC, C1_VEC, C2_VEC, C3_VEC};",
	"#else",
	"int	ra_csr[] = {0,0,0,0};",
	"#endif",
	"",
	"/*",
	" * TS magtape controller CSR and VECTOR addresses.",
	" */",
	"",
	"#if NTS > 0",
	"int	ts_csr[] = {S0_CSR, S1_CSR, S2_CSR, S3_CSR};",
	"#else",
	"int	ts_csr[] = {0,0,0,0};",
	"#endif",
	"",
	"/*",
	" * TMSCP magtape controller CSR and VECTOR addresses.",
	" */",
	"",
	"#if NTK > 0",
	"int	tk_csr[] = {K0_CSR, K1_CSR, K2_CSR, K3_CSR};",
	"int	tk_ivec[] = {K0_VEC, K1_VEC, K2_VEC, K3_VEC};",
	"#else",
	"int	tk_csr[] = {0,0,0,0};",
	"#endif",
	0
};

char	strn[] =
{
"	\n\
/*\n\
 * Disk I/O instrumentation, see bio.c\n\
 */\n\
	\n\
struct {\n\
	int	nbufr;\n\
	long	nread;\n\
	long	nreada;\n\
	long	ncache;\n\
	long	nwrite;\n"
};

char	*stro[] =
{
	"",
	"/*",
	" * Dummy unibus map support functions.",
	" */",
	"",
	"int\tmapinit();",
	"int\tmapalloc();",
	"int\tmapfree();",
	"",
	"mapinit()",
	"{",
	"}",
	"",
	"mapalloc()",
	"{",
	"}",
	"",
	"mapfree()",
	"{",
	"}",
	"",
	0
};

char	*strnofpe[] =
{
	"",
	"int fpemulation = 2;",
	"",
	"/*",
	" * Dummy function required if floating point simulator",
	" * is not used.",
	" */",
	"",
	"fptrap()",
	"{",
	"	return(SIGILL);",
	"}",
	"",
	0
};

char	*strfpe[] =
{
	"",
	"int fpemulation = 1;",
	"",
	0
};

char	*strq[] =
{
	"",
	"/*",
	" * Disk driver data structure sizes header file (dds.h).",
	" * Controls number and size of disk data structures in",
	" * (dds.c), for MSCP (ra.c) and MASSBUS (hp.c) disk drivers.",
	" */",
	"",
	0
};

char	*strgk[] =
{
	"",
	"int\tgeneric;\t/* generic kernel */",
	"",
	0
};

/*
 * If the utsname structure is changed,
 * check the code in the setpar() routine
 * in /usr/sys/sas/boot.c. Boot loads the machine
 * name into machine[] as PDP-11/##.
 */

char	*strutsn[] =
{
	"",
	"/*",
	" * Utsname definition",
	" */",
	"",
	"#include <sys/utsname.h>",
	"struct utsname utsname = {",
	"\t{'U','L','T','R','I','X','-','1','1'},",
	"\t{''},",
	"\t{'3'},",
	"\t{'0'},",
	"\t{''},",
	"};",
	"",
	0
};

char	*strmausno[] =
{
	"",
	"/*",
	" * Dummy maus routines and structures",
	" */",
	"#include <sys/maus.h>",
	"maus()",
	"{",
	"	nosys();",
	"}",
	"mausinit()",
	"{",
	"	return(0);",
	"}",
	"long",
	"mmoff()",
	"{",
	"	u.u_error = ENXIO;",
	"	return(-1L);",
	"}",
	" ",
	"struct mausmap mausmap[] = {",
	"	-1,	-1",
	"};",
	"",
	0
};

char	*strsemno[] =
{
	"",
	"/*",
	" * Dummy semaphore routines",
	" */",
	"semsys()",
	"{",
	"	nosys();",
	"}",
	"seminit()",
	"{",
	"}",
	"semexit()",
	"{",
	"}",
	"",
	0
};

char	*strmsgno[] =
{
	"",
	"/*",
	" * Dummy message routines",
	" */",
	"msgsys()",
	"{",
	"	nosys();",
	"}",
	"msginit()",
	"{",
	"	return(0);",
	"}",
	"",
	0
};

char	*strflckno[] =
{
	"",
	"/*",
	" * Dummy record/file locking routines",
	" */",
	"flckinit()",
	"{",
	"	return(0);",
	"}",
	"cleanlocks()",
	"{",
	"	return(0);",
	"}",
	"setflck()",
	"{",
	"	return(1);",
	"}",
	"getflck()",
	"{",
	"	return(1);",
	"}",
	"",
	0
};

char	*strshuff[] =
{
	"",
	"/*",
	" * Dummy shuffle routine",
	" */",
	"shuffle()",
	"{",
	"	wakeup((caddr_t)&runlock);",
	"}",
	"",
	0
};