/*
 * MACHINE GENERATED: DO NOT EDIT
 *
 * ioconf.c, from "TIGER"
 */

#include <sys/param.h>
#include <sys/device.h>

extern struct cfdriver mainbuscd;
extern struct cfdriver ztwobuscd;
extern struct cfdriver clockcd;
extern struct cfdriver kbdcd;
extern struct cfdriver sercd;
extern struct cfdriver parcd;
extern struct cfdriver fdccd;
extern struct cfdriver fdcd;
extern struct cfdriver grfcd;
extern struct cfdriver itecd;
extern struct cfdriver grfcccd;
extern struct cfdriver grfrtcd;
extern struct cfdriver grfclcd;
extern struct cfdriver zthreebuscd;
extern struct cfdriver grfrhcd;
extern struct cfdriver gvpbuscd;
extern struct cfdriver lecd;
extern struct cfdriver edcd;
extern struct cfdriver atzsccd;
extern struct cfdriver gtsccd;
extern struct cfdriver ahsccd;
extern struct cfdriver zssccd;
extern struct cfdriver mgnsccd;
extern struct cfdriver wesccd;
extern struct cfdriver afsccd;
extern struct cfdriver wstsccd;
extern struct cfdriver ivsccd;
extern struct cfdriver otgsccd;
extern struct cfdriver mlhsccd;
extern struct cfdriver idesccd;
extern struct cfdriver scsibuscd;
extern struct cfdriver cdcd;
extern struct cfdriver sdcd;
extern struct cfdriver stcd;


/* locators */
static int loc[3] = {
	-1, -1, 0,
};

/* parent vectors */
static short pv[61] = {
	35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -1, 0, -1, 15,
	-1, 16, -1, 19, -1, 17, -1, 8, -1, 9, -1, 10, -1, 1, -1, 18,
	-1, 20, -1, 24, -1, 25, -1, 23, -1, 30, -1, 31, -1, 33, -1, 32,
	-1, 26, -1, 28, -1, 34, -1, 29, -1, 27, -1, 6, -1,
};

#define NORM FSTATE_NOTFOUND
#define STAR FSTATE_STAR

struct cfdata cfdata[] = {
	/* driver     unit state    loc     flags parents ivstubs */
/*  0: mainbus0 at root */
	{&mainbuscd,	 0, NORM,     loc,      0, pv+12, 0},
/*  1: ztwobus0 at mainbus0 */
	{&ztwobuscd,	 0, NORM,     loc,      0, pv+13, 0},
/*  2: clock0 at mainbus0 */
	{&clockcd,	 0, NORM,     loc,      0, pv+13, 0},
/*  3: kbd0 at mainbus0 */
	{&kbdcd,	 0, NORM,     loc,      0, pv+13, 0},
/*  4: ser0 at mainbus0 */
	{&sercd,	 0, NORM,     loc,      0, pv+13, 0},
/*  5: par0 at mainbus0 */
	{&parcd,	 0, NORM,     loc,      0, pv+13, 0},
/*  6: fdc0 at mainbus0 */
	{&fdccd,	 0, NORM,     loc,      0, pv+13, 0},
/*  7: fd0 at fdc0 unit 0 */
	{&fdcd,		 0, NORM, loc+  2,      0, pv+59, 0},
/*  8: grf0 at grfcc0 */
	{&grfcd,	 0, NORM,     loc,      0, pv+15, 0},
/*  9: grf1 at grfrt0 */
	{&grfcd,	 1, NORM,     loc,      0, pv+17, 0},
/* 10: grf2 at grfrh0 */
	{&grfcd,	 2, NORM,     loc,      0, pv+19, 0},
/* 11: grf3 at grfcl0 */
	{&grfcd,	 3, NORM,     loc,      0, pv+21, 0},
/* 12: ite0 at grf0 */
	{&itecd,	 0, NORM,     loc,      0, pv+23, 0},
/* 13: ite1 at grf1 */
	{&itecd,	 1, NORM,     loc,      0, pv+25, 0},
/* 14: ite2 at grf2 */
	{&itecd,	 2, NORM,     loc,      0, pv+27, 0},
/* 15: grfcc0 at mainbus0 */
	{&grfcccd,	 0, NORM,     loc,      0, pv+13, 0},
/* 16: grfrt0 at ztwobus0 */
	{&grfrtcd,	 0, NORM,     loc,      0, pv+29, 0},
/* 17: grfcl0 at ztwobus0 */
	{&grfclcd,	 0, NORM,     loc,      0, pv+29, 0},
/* 18: zthreebus0 at mainbus0 */
	{&zthreebuscd,	 0, NORM,     loc,      0, pv+13, 0},
/* 19: grfrh0 at zthreebus0 */
	{&grfrhcd,	 0, NORM,     loc,      0, pv+31, 0},
/* 20: gvpbus0 at ztwobus0 */
	{&gvpbuscd,	 0, NORM,     loc,      0, pv+29, 0},
/* 21: le0 at ztwobus0 */
	{&lecd,		 0, NORM,     loc,      0, pv+29, 0},
/* 22: ed0 at ztwobus0 */
	{&edcd,		 0, NORM,     loc,      0, pv+29, 0},
/* 23: atzsc0 at ztwobus0 */
	{&atzsccd,	 0, NORM,     loc,      0, pv+29, 0},
/* 24: gtsc0 at gvpbus0 */
	{&gtsccd,	 0, NORM,     loc,      0, pv+33, 0},
/* 25: ahsc0 at mainbus0 */
	{&ahsccd,	 0, NORM,     loc,      0, pv+13, 0},
/* 26: zssc0 at ztwobus0 */
	{&zssccd,	 0, NORM,     loc,      0, pv+29, 0},
/* 27: mgnsc0 at ztwobus0 */
	{&mgnsccd,	 0, NORM,     loc,      0, pv+29, 0},
/* 28: wesc0 at zthreebus0 */
	{&wesccd,	 0, NORM,     loc,      0, pv+31, 0},
/* 29: afsc0 at zthreebus0 */
	{&afsccd,	 0, NORM,     loc,      0, pv+31, 0},
/* 30: wstsc0 at ztwobus0 */
	{&wstsccd,	 0, NORM,     loc,      0, pv+29, 0},
/* 31: ivsc0 at ztwobus0 */
	{&ivsccd,	 0, NORM,     loc,      0, pv+29, 0},
/* 32: otgsc0 at ztwobus0 */
	{&otgsccd,	 0, NORM,     loc,      0, pv+29, 0},
/* 33: mlhsc0 at ztwobus0 */
	{&mlhsccd,	 0, NORM,     loc,      0, pv+29, 0},
/* 34: idesc0 at mainbus0 */
	{&idesccd,	 0, NORM,     loc,      0, pv+13, 0},
/* 35: scsibus0 at gtsc0 */
	{&scsibuscd,	 0, NORM,     loc,      0, pv+35, 0},
/* 36: scsibus1 at ahsc0 */
	{&scsibuscd,	 1, NORM,     loc,      0, pv+37, 0},
/* 37: scsibus2 at atzsc0 */
	{&scsibuscd,	 2, NORM,     loc,      0, pv+39, 0},
/* 38: scsibus3 at wstsc0 */
	{&scsibuscd,	 3, NORM,     loc,      0, pv+41, 0},
/* 39: scsibus4 at ivsc0 */
	{&scsibuscd,	 4, NORM,     loc,      0, pv+43, 0},
/* 40: scsibus5 at mlhsc0 */
	{&scsibuscd,	 5, NORM,     loc,      0, pv+45, 0},
/* 41: scsibus6 at otgsc0 */
	{&scsibuscd,	 6, NORM,     loc,      0, pv+47, 0},
/* 42: scsibus7 at zssc0 */
	{&scsibuscd,	 7, NORM,     loc,      0, pv+49, 0},
/* 43: scsibus8 at mgnsc0 */
	{&scsibuscd,	 8, NORM,     loc,      0, pv+57, 0},
/* 44: scsibus9 at wesc0 */
	{&scsibuscd,	 9, NORM,     loc,      0, pv+51, 0},
/* 45: scsibus10 at idesc0 */
	{&scsibuscd,	10, NORM,     loc,      0, pv+53, 0},
/* 46: scsibus11 at afsc0 */
	{&scsibuscd,	11, NORM,     loc,      0, pv+55, 0},
/* 47: cd* at scsibus0|scsibus1|scsibus2|scsibus3|scsibus4|scsibus5|scsibus6|scsibus7|scsibus8|scsibus9|scsibus10|scsibus11 target -1 lun -1 */
	{&cdcd,		 0, STAR, loc+  0,      0, pv+ 0, 0},
/* 48: sd* at scsibus0|scsibus1|scsibus2|scsibus3|scsibus4|scsibus5|scsibus6|scsibus7|scsibus8|scsibus9|scsibus10|scsibus11 target -1 lun -1 */
	{&sdcd,		 0, STAR, loc+  0,      0, pv+ 0, 0},
/* 49: st* at scsibus0|scsibus1|scsibus2|scsibus3|scsibus4|scsibus5|scsibus6|scsibus7|scsibus8|scsibus9|scsibus10|scsibus11 target -1 lun -1 */
	{&stcd,		 0, STAR, loc+  0,      0, pv+ 0, 0},
	{0}
};

short cfroots[] = {
	 0 /* mainbus0 */,
	-1
};

/* pseudo-devices */
extern void mouseattach __P((int));
extern void slattach __P((int));
extern void pppattach __P((int));
extern void viewattach __P((int));
extern void ptyattach __P((int));
extern void loopattach __P((int));
extern void vnattach __P((int));

struct pdevinit pdevinit[] = {
	{ mouseattach, 2 },
	{ slattach, 1 },
	{ pppattach, 1 },
	{ viewattach, 10 },
	{ ptyattach, 16 },
	{ loopattach, 1 },
	{ vnattach, 4 },
	{ 0, 0 }
};
