Put declarations in a header file ("ioconf.h")
Generate prototypes for SCSI functions and function pointers. Fix redundant declarations of interrupt handlers. Generate 4.4-style includes (<> instead of ""). Clean up formatting of both the source and the output a bit.
This commit is contained in:
parent
abe1c5f61a
commit
0b73305bdd
@ -59,12 +59,12 @@ vax_ioconf()
|
||||
perror(path("ioconf.c"));
|
||||
exit(1);
|
||||
}
|
||||
fprintf(fp, "#include \"vax/include/pte.h\"\n");
|
||||
fprintf(fp, "#include \"sys/param.h\"\n");
|
||||
fprintf(fp, "#include \"sys/buf.h\"\n");
|
||||
fprintf(fp, "#include <vax/include/pte.h>\n");
|
||||
fprintf(fp, "#include <sys/param.h>\n");
|
||||
fprintf(fp, "#include <sys/buf.h>\n");
|
||||
fprintf(fp, "\n");
|
||||
fprintf(fp, "#include \"vax/mba/mbavar.h\"\n");
|
||||
fprintf(fp, "#include \"vax/uba/ubavar.h\"\n\n");
|
||||
fprintf(fp, "#include <vax/mba/mbavar.h>\n");
|
||||
fprintf(fp, "#include <vax/uba/ubavar.h>\n\n");
|
||||
fprintf(fp, "\n");
|
||||
fprintf(fp, "#define C (caddr_t)\n\n");
|
||||
/*
|
||||
@ -302,11 +302,11 @@ tahoe_ioconf()
|
||||
perror(path("ioconf.c"));
|
||||
exit(1);
|
||||
}
|
||||
fprintf(fp, "#include \"sys/param.h\"\n");
|
||||
fprintf(fp, "#include \"tahoe/include/pte.h\"\n");
|
||||
fprintf(fp, "#include \"sys/buf.h\"\n");
|
||||
fprintf(fp, "#include <sys/param.h>\n");
|
||||
fprintf(fp, "#include <tahoe/include/pte.h>\n");
|
||||
fprintf(fp, "#include <sys/buf.h>\n");
|
||||
fprintf(fp, "\n");
|
||||
fprintf(fp, "#include \"tahoe/vba/vbavar.h\"\n");
|
||||
fprintf(fp, "#include <tahoe/vba/vbavar.h>\n");
|
||||
fprintf(fp, "\n");
|
||||
fprintf(fp, "#define C (caddr_t)\n\n");
|
||||
/*
|
||||
@ -476,13 +476,13 @@ hp300_ioconf()
|
||||
perror(path("ioconf.c"));
|
||||
exit(1);
|
||||
}
|
||||
fprintf(fp, "#include \"sys/param.h\"\n");
|
||||
fprintf(fp, "#include \"sys/buf.h\"\n");
|
||||
fprintf(fp, "#include <sys/param.h>\n");
|
||||
fprintf(fp, "#include <sys/buf.h>\n");
|
||||
fprintf(fp, "\n");
|
||||
if (machine == MACHINE_HP300)
|
||||
fprintf(fp, "#include \"hp/dev/device.h\"\n\n");
|
||||
fprintf(fp, "#include <hp/dev/device.h>\n\n");
|
||||
else
|
||||
fprintf(fp, "#include \"luna68k/dev/device.h\"\n\n");
|
||||
fprintf(fp, "#include <luna68k/dev/device.h>\n\n");
|
||||
fprintf(fp, "\n");
|
||||
fprintf(fp, "#define C (caddr_t)\n");
|
||||
fprintf(fp, "#define D (struct driver *)\n\n");
|
||||
@ -604,9 +604,9 @@ i386_ioconf()
|
||||
register struct device *dp, *mp, *np;
|
||||
register int uba_n, slave;
|
||||
int dev_id;
|
||||
FILE *fp;
|
||||
static struct device olddev;
|
||||
struct device *old = &olddev;
|
||||
FILE *fp, *fp1;
|
||||
static char *old_d_name;
|
||||
static char old_shandler[32 + 1];
|
||||
|
||||
fp = fopen(path("ioconf.c"), "w");
|
||||
if (fp == 0) {
|
||||
@ -614,68 +614,93 @@ i386_ioconf()
|
||||
exit(1);
|
||||
}
|
||||
fprintf(fp, "/*\n");
|
||||
fprintf(fp, " * ioconf.c \n");
|
||||
fprintf(fp, " * Generated by config program\n");
|
||||
fprintf(fp, " */\n\n");
|
||||
fprintf(fp, "#include \"sys/param.h\"\n");
|
||||
fprintf(fp, " * I/O configuration.\n");
|
||||
fprintf(fp, " * DO NOT EDIT-- this file is automatically generated.\n");
|
||||
fprintf(fp, " */\n");
|
||||
fprintf(fp, "\n");
|
||||
fprintf(fp, "#define C (caddr_t)\n\n");
|
||||
fprintf(fp, "#include <sys/param.h>\n");
|
||||
fprintf(fp, "#include \"ioconf.h\"\n");
|
||||
fprintf(fp, "\n");
|
||||
fprintf(fp, "#define C (caddr_t)\n");
|
||||
fp1 = fopen(path("ioconf.h"), "w");
|
||||
if (fp1 == 0) {
|
||||
perror(path("ioconf.h"));
|
||||
exit(1);
|
||||
}
|
||||
fprintf(fp1, "/*\n");
|
||||
fprintf(fp1, " * Extern declarations for I/O configuration.\n");
|
||||
fprintf(fp1, " * DO NOT EDIT-- this file is automatically generated.\n");
|
||||
fprintf(fp1, " */\n");
|
||||
fprintf(fp1, "\n");
|
||||
fprintf(fp1, "#ifndef IOCONF_H\n");
|
||||
fprintf(fp1, "#define\tIOCONF_H\n");
|
||||
/*
|
||||
* First print the isa initialization structures
|
||||
*/
|
||||
if (seen_isa) {
|
||||
int seen_wdc = 0, seen_fdc = 0;
|
||||
|
||||
fprintf(fp, "\n");
|
||||
fprintf(fp, "/*\n");
|
||||
fprintf(fp, " * ISA devices\n");
|
||||
fprintf(fp, " */\n\n");
|
||||
fprintf(fp, "#include \"i386/isa/isa_device.h\"\n");
|
||||
fprintf(fp, "#include \"i386/isa/isa.h\"\n");
|
||||
fprintf(fp, "#include \"i386/isa/icu.h\"\n\n");
|
||||
fprintf(fp, "/*\n");
|
||||
fprintf(fp, " * XXX misplaced external declarations.\n");
|
||||
fprintf(fp, " * ISA devices.\n");
|
||||
fprintf(fp, " */\n");
|
||||
fprintf(fp, "\n");
|
||||
fprintf(fp, "#include <i386/isa/icu.h>\n");
|
||||
fprintf(fp, "#include <i386/isa/isa.h>\n");
|
||||
fprintf(fp1, "\n");
|
||||
fprintf(fp1, "#include <i386/isa/isa_device.h>\n");
|
||||
fprintf(fp1, "\n");
|
||||
for (dp = dtab; dp != 0; dp = dp->d_next) {
|
||||
int printed = 0;
|
||||
|
||||
mp = dp->d_conn;
|
||||
if (mp == 0 || mp == TO_NEXUS ||
|
||||
!eq(mp->d_name, "isa"))
|
||||
continue;
|
||||
if(!old->d_name || strcmp(old->d_name, dp->d_name))
|
||||
fprintf(fp, "extern struct isa_driver %3sdriver;",
|
||||
dp->d_name);
|
||||
if(eq(dp->d_name, "wdc")) seen_wdc++;
|
||||
if(eq(dp->d_name, "fdc")) seen_fdc++;
|
||||
if (dp->d_irq == 2)
|
||||
{
|
||||
fprintf(stderr, "remapped irq 2 to irq 9, please update your config file\n");
|
||||
dp->d_irq = 9;
|
||||
}
|
||||
if (dp->d_vec != NULL && dp->d_vec->id != NULL) {
|
||||
char buf[32];
|
||||
|
||||
strcpy(buf, shandler(old));
|
||||
if(!old->d_name || strcmp(buf, shandler(dp)))
|
||||
fprintf(fp, " inthand2_t %s;", shandler(dp));
|
||||
if (old_d_name == NULL || !eq(dp->d_name, old_d_name)) {
|
||||
old_d_name = dp->d_name;
|
||||
fprintf(fp1,
|
||||
"extern struct isa_driver %3sdriver;",
|
||||
old_d_name);
|
||||
printed = 1;
|
||||
}
|
||||
fprintf(fp, "\n");
|
||||
old = dp;
|
||||
if (eq(dp->d_name, "wdc"))
|
||||
seen_wdc++;
|
||||
if (eq(dp->d_name, "fdc"))
|
||||
seen_fdc++;
|
||||
if (dp->d_irq == 2) {
|
||||
fprintf(stderr,
|
||||
"remapped irq 2 to irq 9, please update your config file\n");
|
||||
dp->d_irq = 9;
|
||||
}
|
||||
if (dp->d_vec != NULL && dp->d_vec->id != NULL &&
|
||||
!eq(shandler(dp), old_shandler)) {
|
||||
strcpy(old_shandler, shandler(dp));
|
||||
fprintf(fp1, " inthand2_t %s;", old_shandler);
|
||||
printed = 1;
|
||||
}
|
||||
if (printed)
|
||||
fprintf(fp1, "\n");
|
||||
}
|
||||
dev_id = 2;
|
||||
isa_devtab(fp, "bio", &dev_id);
|
||||
if(seen_wdc)
|
||||
if (seen_wdc)
|
||||
isa_biotab(fp, "wdc");
|
||||
if(seen_fdc)
|
||||
if (seen_fdc)
|
||||
isa_biotab(fp, "fdc");
|
||||
isa_devtab(fp, "tty", &dev_id);
|
||||
isa_devtab(fp, "net", &dev_id);
|
||||
isa_devtab(fp, "null", &dev_id);
|
||||
}
|
||||
if (seen_scbus) {
|
||||
scbus_devtab(fp, &dev_id);
|
||||
}
|
||||
if (seen_scbus)
|
||||
scbus_devtab(fp, fp1, &dev_id);
|
||||
|
||||
/* XXX David did this differently!!! */
|
||||
/* pseudo_ioconf(fp); */
|
||||
(void) fclose(fp);
|
||||
fprintf(fp1, "\n");
|
||||
fprintf(fp1, "#endif /* IOCONF_H */\n");
|
||||
(void) fclose(fp1);
|
||||
}
|
||||
|
||||
isa_biotab(fp, table)
|
||||
@ -684,7 +709,8 @@ isa_biotab(fp, table)
|
||||
{
|
||||
register struct device *dp, *mp;
|
||||
|
||||
fprintf(fp, "\n\nstruct isa_device isa_biotab_%s[] = {\n", table);
|
||||
fprintf(fp, "\n");
|
||||
fprintf(fp, "struct isa_device isa_biotab_%s[] = {\n", table);
|
||||
fprintf(fp, "\
|
||||
/* id driver iobase irq drq maddr msiz intr unit flags drive alive ri_flags reconfig enabled conflicts next */\n");
|
||||
for (dp = dtab; dp != 0; dp = dp->d_next) {
|
||||
@ -715,7 +741,8 @@ isa_devtab(fp, table, dev_idp)
|
||||
{
|
||||
register struct device *dp, *mp;
|
||||
|
||||
fprintf(fp, "\n\nstruct isa_device isa_devtab_%s[] = {\n", table);
|
||||
fprintf(fp, "\n");
|
||||
fprintf(fp, "struct isa_device isa_devtab_%s[] = {\n", table);
|
||||
fprintf(fp, "\
|
||||
/* id driver iobase irq drq maddr msiz intr unit flags scsiid alive ri_flags reconfig enabled conflicts next */\n");
|
||||
for (dp = dtab; dp != 0; dp = dp->d_next) {
|
||||
@ -807,8 +834,9 @@ is_old_scsi_device(char *name)
|
||||
* All that nice "conflicting SCSI ID checking" is now
|
||||
* lost and should be put back in.
|
||||
*/
|
||||
scbus_devtab(fp, dev_idp)
|
||||
scbus_devtab(fp, fp1, dev_idp)
|
||||
FILE *fp;
|
||||
FILE *fp1;
|
||||
int *dev_idp;
|
||||
{
|
||||
register struct device *dp, *mp;
|
||||
@ -816,9 +844,15 @@ scbus_devtab(fp, dev_idp)
|
||||
unique.id = "unique";
|
||||
unique.next = 0;
|
||||
|
||||
fprintf(fp, "#include \"scsi/scsiconf.h\"\n");
|
||||
fprintf(fp, "\nstruct scsi_ctlr_config scsi_cinit[] = {\n");
|
||||
fprintf(fp, "/* scbus, driver, driver unit, ctlr bus*/\n");
|
||||
fprintf(fp, "\n");
|
||||
fprintf(fp, "/*\n");
|
||||
fprintf(fp, " * SCSI devices.\n");
|
||||
fprintf(fp, " */\n");
|
||||
fprintf(fp, "\n");
|
||||
fprintf(fp, "#include <scsi/scsiconf.h>\n");
|
||||
fprintf(fp, "\n");
|
||||
fprintf(fp, "struct scsi_ctlr_config scsi_cinit[] = {\n");
|
||||
fprintf(fp, "/* scbus, driver, driver unit, ctlr bus */\n");
|
||||
|
||||
/* XXX: Why do we always get an entry such as:
|
||||
* { '?', "ncr", '?', '?' },
|
||||
@ -835,9 +869,11 @@ scbus_devtab(fp, dev_idp)
|
||||
fprintf(fp, "%s, ", id(mp->d_unit));
|
||||
fprintf(fp, "%s },\n", id(dp->d_slave));
|
||||
}
|
||||
fprintf(fp, "{ 0, 0, 0, 0 }\n};\n");
|
||||
fprintf(fp, "{ 0, 0, 0, 0 }\n");
|
||||
fprintf(fp, "};\n");
|
||||
|
||||
fprintf(fp, "\nstruct scsi_device_config scsi_dinit[] = {\n");
|
||||
fprintf(fp, "\n");
|
||||
fprintf(fp, "struct scsi_device_config scsi_dinit[] = {\n");
|
||||
fprintf(fp, "/* name unit cunit target LUN flags */\n");
|
||||
for (dp = dtab; dp; dp = dp->d_next) {
|
||||
if (dp->d_type == CONTROLLER || dp->d_type == MASTER ||
|
||||
@ -876,14 +912,19 @@ scbus_devtab(fp, dev_idp)
|
||||
fprintf(fp, " 0x%x },\n", dp->d_flags);
|
||||
add_unique(&unique, dp->d_name);
|
||||
}
|
||||
fprintf(fp, "{ 0, 0, 0, 0, 0, 0 }\n};\n");
|
||||
fprintf(fp, "{ 0, 0, 0, 0, 0, 0 }\n");
|
||||
fprintf(fp, "};\n");
|
||||
|
||||
fprintf(fp1, "\n");
|
||||
for (node = unique.next; node; node = node->next)
|
||||
fprintf(fp, "extern void %sinit();\n", node->id);
|
||||
fprintf(fp, "void (*scsi_tinit[])(void) = {\n");
|
||||
fprintf(fp1, "void %sinit __P((void));\n", node->id);
|
||||
|
||||
fprintf(fp, "\n");
|
||||
fprintf(fp, "void (*scsi_tinit[]) __P((void)) = {\n");
|
||||
for (node = unique.next; node; node = node->next)
|
||||
fprintf(fp, " %sinit,\n", node->id);
|
||||
fprintf(fp, "0,\n};\n");
|
||||
fprintf(fp, "\t%sinit,\n", node->id);
|
||||
fprintf(fp, "\t0,\n");
|
||||
fprintf(fp, "};\n");
|
||||
}
|
||||
|
||||
/*
|
||||
@ -931,9 +972,9 @@ pmax_ioconf()
|
||||
perror(path("ioconf.c"));
|
||||
exit(1);
|
||||
}
|
||||
fprintf(fp, "#include \"sys/types.h\"\n");
|
||||
fprintf(fp, "#include \"sys/time.h\"\n");
|
||||
fprintf(fp, "#include \"pmax/dev/device.h\"\n\n");
|
||||
fprintf(fp, "#include <sys/types.h>\n");
|
||||
fprintf(fp, "#include <sys/time.h>\n");
|
||||
fprintf(fp, "#include <pmax/dev/device.h>\n\n");
|
||||
fprintf(fp, "#define C (char *)\n\n");
|
||||
|
||||
/* print controller initialization structures */
|
||||
@ -1019,17 +1060,17 @@ news_ioconf()
|
||||
perror(path("ioconf.c"));
|
||||
exit(1);
|
||||
}
|
||||
fprintf(fp, "#include \"sys/param.h\"\n");
|
||||
fprintf(fp, "#include \"sys/buf.h\"\n");
|
||||
fprintf(fp, "#include \"vm/vm.h\"\n");
|
||||
fprintf(fp, "#include <sys/param.h>\n");
|
||||
fprintf(fp, "#include <sys/buf.h>\n");
|
||||
fprintf(fp, "#include <vm/vm.h>\n");
|
||||
fprintf(fp, "#include \"iop.h\"\n");
|
||||
fprintf(fp, "#include \"hb.h\"\n");
|
||||
fprintf(fp, "\n");
|
||||
fprintf(fp, "#if NIOP > 0\n");
|
||||
fprintf(fp, "#include \"news3400/iop/iopvar.h\"\n");
|
||||
fprintf(fp, "#include <news3400/iop/iopvar.h>\n");
|
||||
fprintf(fp, "#endif\n");
|
||||
fprintf(fp, "#if NHB > 0\n");
|
||||
fprintf(fp, "#include \"news3400/hbdev/hbvar.h\"\n");
|
||||
fprintf(fp, "#include <news3400/hbdev/hbvar.h>\n");
|
||||
fprintf(fp, "#endif\n");
|
||||
fprintf(fp, "\n");
|
||||
fprintf(fp, "#define C (caddr_t)\n\n");
|
||||
@ -1241,7 +1282,7 @@ comp_config(fp)
|
||||
register struct file_list *fl;
|
||||
register struct device *dp;
|
||||
|
||||
fprintf(fp, "\n#include \"dev/cdvar.h\"\n");
|
||||
fprintf(fp, "\n#include <dev/cdvar.h>\n");
|
||||
fprintf(fp, "\nstruct cddevice cddevice[] = {\n");
|
||||
fprintf(fp, "/*\tunit\tileave\tflags\tdk\tdevs\t\t\t\t*/\n");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user