2.11BSD/sys/OTHERS/fuji_160/ioconf.c

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

#include	"param.h"
#include	<sys/systm.h>
#include	"hk.h"
#include	"hp.h"
#include	"hs.h"
#include	"rk.h"
#include	"rl.h"
#include	"rm.h"
#include	"rp.h"
#include	"xp.h"

dev_t	rootdev	= makedev(6,0);
dev_t	swapdev	= makedev(6,1);
dev_t	pipedev = makedev(6,0);
int	nswap;

#ifdef	UCB_AUTOBOOT
/*
 * If dumpdev is NODEV, no dumps will be taken automatically.
 * dump can point to nodev, just to resolve the reference.
 */
dev_t	dumpdev = makedev(6,1);
daddr_t	dumplo	= (daddr_t) 9000;
int	xpdump();
int	(*dump)()	= xpdump;
#endif	UCB_AUTOBOOT

/*
 *	Device configuration information.
 */

#if	NHK > 0
struct	hkdevice *HKADDR = 0177440;
struct	size hk_sizes[] = {
	5940,	0,		/* cyl   0 - 89 */
	2376,	90,		/* cyl  90 - 125 */
	45474,	126,		/* cyl 126 - 814 */
	18810,	126,		/* cyl 126 - 410 */
	0,	0,
	0,	0,
	27126,	0,		/* cyl   0 - 410, whole RK06 */
	53790,	0		/* cyl   0 - 814, whole RK07 */
};
#endif	NHK

#if	NHP > 0
struct	hpdevice *HPADDR = 0176700;
#endif
#if	NHP > 0 || NXP > 0
struct	size hp_sizes[] = {
	9614,	0,		/* cyl   0 - 22 */
	8778,	23,		/* cyl  23 - 43 */
	153406,	44,		/* cyl  44 - 410 (rp04, rp05, rp06) */
	168872,	411,		/* cyl 411 - 814 (rp06) */
	322278,	44,		/* cyl  44 - 814 (rp06) */
	0,	0,
	171798,	0,		/* cyl   0 - 410 (whole rp04/5) */
	340670,	0		/* cyl   0 - 814 (whole rp06) */
};
#endif	NHP

#if	NHS > 0
struct	hsdevice *HSADDR = 0172040;
#endif	NHS

struct	dldevice *KLADDR = 0177560;

#if	NRK > 0
struct	rkdevice *RKADDR = 0177400;
#endif	NRK

#if	NRL > 0
struct	rldevice *RLADDR = 0174400;
#endif	NRL

#if	NRM > 0
struct	rmdevice *RMADDR = 0176700;
#endif
#if	NRM > 0 || NXP > 0
struct	size rm_sizes[] = {
	4800,	0,		/* cyl   0 -  29 */
	4800,	30,		/* cyl  30 -  59 */
	122080,	60,		/* cyl  60 - 822 */
	62720,	60,		/* cyl  60 - 451 */
	59360,	452,		/* cyl 452 - 822 */
	0,	0,
	0,	0,
	131680,	0,		/* cyl   0 - 822 */
};
#endif	NRM

#if	NRP > 0
struct	rpdevice *RPADDR = 0176710;
struct	size rp_sizes[] = {
	 10400,	0,		/* cyl   0 -  51 */
	 5200,	52,		/* cyl  52 -  77 */
 	 67580,	78,		/* cyl  78 - 414 */
	 0,	0,
	 0,	0,
	 0,	0,
	 0,	0,
	 83180,	0		/* cyl   0 - 414 */
};
#endif	NRP

#if	NXP > 0
#include <sys/hpreg.h>

/* RM05 */
struct	size rm5_sizes[] = {
	9120,	  0,		/* cyl   0 -  14 */
	9120,	 15,		/* cyl  15 -  29 */
	234080,	 30,		/* cyl  30 - 414 */
	248064,	415,		/* cyl 415 - 822 */
	164160,	 30,		/* cyl  30 - 299 */
	152000,	300,		/* cyl 300 - 549 */
	165376,	550,		/* cyl 550 - 822 */
	500384,	  0		/* cyl   0 - 822 */
};

/* SI Eagle */
struct	size si_sizes[] = {
	11520,	  0,		/* cyl   0 -  11 */
	11520,	 12,		/* cyl  12 -  23 */
	474240,	 24,		/* cyl  24 - 517 */
	92160,	518,		/* cyl 518 - 613 */
	214080,	614,		/* cyl 614 - 836, reserve 5 cyls */
	0,	  0,
	0,	  0,
	808320,	  0		/* cyl   0 - 841 (everything) */
};

/* Diva Comp V + Ampex 9300 in direct mode */
struct	size dv_sizes[] = {
	9405,	  0,		/* cyl   0 -  14 */
	9405,	 15,		/* cyl  15 -  29 */
	241395,	 30,		/* cyl  30 - 414 */
	250800,	415,		/* cyl 415 - 814 */
	169290,	 30,		/* cyl  30 - 299 */
	156750,	300,		/* cyl 300 - 549 */
	165528,	550,		/* cyl 550 - 814 */
	511005,	  0		/* cyl   0 - 814 */
};

#ifdef MEGATEST
/*	FUJI 160		*/
struct	size rm2x_sizes[] = {
	9600,	0,		/* cyl   0 -  29 */
	9600,	30,		/* cyl  30 -  59 */
	244160,	60,		/* cyl  60 - 822 */
	125440,	60,		/* cyl  60 - 451 */
	118720,	452,		/* cyl 452 - 822 */
	59520,	452,		/* cyl 452 - 637 */
	59200,	638,		/* cyl 638 - 822 */
	263360,	0		/* cyl   0 - 822 */
};
#endif MEGATEST

/*
 *  Xp_controller structure: one line per controller.
 *  Only the address need be initialized in the controller structure
 *  if XP_PROBE is defined (at least the address for the root device);
 *  otherwise the flags must be here also.
 *  The XP_NOCC flag is set for RM02/03/05's (with no current cylinder
 *  register); XP_NOSEARCH is set for Diva's without the search command.
 *  The XP_RH70 flag need not be set here, the driver will always check that.
 */
struct	xp_controller xp_controller[NXP_CONTROLLER] = {
/*	0	0	addr	  flags			0 */
	0,	0,	0176700, XP_NOCC|XP_NOSEARCH,	0
};

/*
 *  Xp_drive structure: one entry per drive.
 *  The drive structure must be initialized if XP_PROBE is not enabled.
 *  Macros are provided in hpreg.h to initialize entries according
 *  to drive type, and controller and drive numbers.
 *  See those for examples on how to set up other types of drives.
 *  With XP_PROBE defined, xpslave will fill in this structure,
 *  and any initialization will be overridden.  There is one exception;
 *  if the drive-type field is set, it will be used instead of the
 *  drive-type register to determine the drive's type.
 */
struct	xp_drive xp_drive[NXP] = {
#ifndef	XP_PROBE
#ifdef MEGATEST
	RM2X_INIT(0,0)		/* Expanded RM02, controller 0, drive 0 */
#else
	RM02_INIT(0,0),		/* RM02, controller 0, drive 0 */
	RM02_INIT(0,1),		/* RM02, controller 0, drive 1 */
	RM05X_INIT(0,2)		/* 815-cyl RM05, controller 0, drive 2 */
#endif
#endif	XP_PROBE
};
#endif	NXP