summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcharnier <charnier@FreeBSD.org>1997-09-15 06:37:10 +0000
committercharnier <charnier@FreeBSD.org>1997-09-15 06:37:10 +0000
commitb8c46235c5b5fcd433f224674a9be99e69acc8ee (patch)
tree1007228a0adbd7ca7cc3ddf18308603f1351f20e
parent130c7bee5c488aa3c51a2fbd042f556666891880 (diff)
downloadFreeBSD-src-b8c46235c5b5fcd433f224674a9be99e69acc8ee.zip
FreeBSD-src-b8c46235c5b5fcd433f224674a9be99e69acc8ee.tar.gz
Use err(3), add usage(). -Wall clean.
-rw-r--r--usr.sbin/config/config.843
-rw-r--r--usr.sbin/config/config.y40
-rw-r--r--usr.sbin/config/lang.l9
-rw-r--r--usr.sbin/config/main.c67
-rw-r--r--usr.sbin/config/mkglue.c55
-rw-r--r--usr.sbin/config/mkheaders.c25
-rw-r--r--usr.sbin/config/mkioconf.c93
-rw-r--r--usr.sbin/config/mkmakefile.c54
-rw-r--r--usr.sbin/config/mkoptions.c25
-rw-r--r--usr.sbin/config/mkswapconf.c41
-rw-r--r--usr.sbin/config/mkubglue.c10
11 files changed, 265 insertions, 197 deletions
diff --git a/usr.sbin/config/config.8 b/usr.sbin/config/config.8
index 5d65920..2cd8699 100644
--- a/usr.sbin/config/config.8
+++ b/usr.sbin/config/config.8
@@ -42,16 +42,15 @@
.Op Fl gpn
.Ar SYSTEM_NAME
.Sh DESCRIPTION
-.Pp
This is the old version of the
-.Nm config
+.Nm
program.
It understands the old autoconfiguration scheme
used on the HP300, i386, DECstation, and derivative platforms.
The new version of config is used with the
SPARC platform.
Only the version of
-.Nm config
+.Nm
applicable to the architecture that you are running
will be installed on your machine.
.Pp
@@ -62,45 +61,33 @@ which describes
the system to configure.
A second file
tells
-.Nm config
+.Nm
what files are needed to generate a system and
can be augmented by configuration specific set of files
-that give alternate files for a specific machine.
+that give alternate files for a specific machine
(see the
.Sx FILES
-section below)
+section below).
.Pp
Available options and operands:
.Pp
.Bl -tag -width SYSTEM_NAME
.It Fl g
-If the
-.Fl g
-option is supplied,
-.Nm config
-will configure a system for debugging.
+Configure a system for debugging.
.It Fl p
-If the
-.Fl p
-option is supplied,
-.Nm config
-will configure a system for profiling; for example,
+Configure a system for profiling; for example,
.Xr kgmon 8
and
.Xr gprof 1 .
If two or more
.Fl p
options are supplied,
-.Nm config
+.Nm
will configure a system for high resolution profiling.
.It Fl n
-If the
-.Fl n
-flag is specified,
-.Nm config
-will not remove the old compile directory (see below).
+Do not remove the old compile directory (see below).
.It Ar SYSTEM_NAME
-specifies the name of the system configuration file
+Specifies the name of the system configuration file
containing device specifications, configuration options
and other system parameters for one system configuration.
.El
@@ -116,12 +103,12 @@ will create the directory
as necessary and place all output files there.
If the directory already exists, it will be removed
first unless the
-.Pa -n
+.Fl n
flag was specified or the environment variable
-.Nm NO_CONFIG_CLOBBER
+.Ev NO_CONFIG_CLOBBER
is set.
The output of
-.Nm config
+.Nm
consists of a number of files; for the
.Tn i386 ,
they are:
@@ -155,7 +142,7 @@ prints a reminder of this when it completes.
If any other error messages are produced by
.Nm config ,
the problems in the configuration file should be corrected and
-.Nm config
+.Nm
should be run again.
Attempts to compile a system that had configuration errors
are likely to fail.
@@ -165,7 +152,7 @@ entire input file is embedded in the new kernel. This means that
.Xr strings 1
can be used to extract it from a kernel.
.Pp
-strings | grep ___ will print just the configure information.
+Strings | grep ___ will print just the configure information.
.Sh FILES
.Bl -tag -width /sys/i386/conf/Makefile.i386 -compact
.It Pa /sys/conf/files
diff --git a/usr.sbin/config/config.y b/usr.sbin/config/config.y
index cbf9ea5..2e698c1 100644
--- a/usr.sbin/config/config.y
+++ b/usr.sbin/config/config.y
@@ -117,8 +117,8 @@
#include <sys/diskslice.h>
#include <ctype.h>
-#include <stdio.h>
#include <err.h>
+#include <stdio.h>
#include <string.h>
struct device cur;
@@ -126,6 +126,12 @@ struct device *curp = 0;
#define ns(s) strdup(s)
+void init_dev __P((struct device *));
+int finddev __P((dev_t));
+void deverror __P((char *, char *));
+int alreadychecked __P((dev_t, dev_t[], dev_t *));
+void verifycomp __P((struct file_list *));
+
%}
%%
Configuration:
@@ -398,7 +404,7 @@ Option:
op->op_next = opt;
op->op_value = 0;
opt = op;
- if (s = strchr(op->op_name, '=')) {
+ if ((s = strchr(op->op_name, '='))) {
/* AARGH!!!! Old-style bogon */
*s = '\0';
op->op_value = ns(s + 1);
@@ -652,16 +658,17 @@ Id_list:
%%
+void
yyerror(s)
char *s;
{
-
- fprintf(stderr, "config: line %d: %s\n", yyline + 1, s);
+ warnx("line %d: %s", yyline + 1, s);
}
/*
* add a device to the list of devices
*/
+void
newdev(dp)
register struct device *dp;
{
@@ -681,6 +688,7 @@ newdev(dp)
/*
* note that a configuration should be made
*/
+void
mkconf(sysname)
char *sysname;
{
@@ -719,12 +727,12 @@ newflist(ftype)
/*
* Add a swap device to the system's configuration
*/
+void
mkswap(system, fl, size, flag)
struct file_list *system, *fl;
int size, flag;
{
register struct file_list **flp;
- char name[80];
if (system == 0 || system->f_type != SYSTEMSPEC) {
yyerror("\"swap\" spec precedes \"config\" specification");
@@ -757,6 +765,7 @@ mkswap(system, fl, size, flag)
system->f_fn = ns(system->f_needs);
}
+void
mkcomp(dp)
register struct device *dp;
{
@@ -777,11 +786,11 @@ mkcomp(dp)
compp = flp;
}
+void
addcomp(compdev, fl)
struct file_list *compdev, *fl;
{
register struct file_list **flp;
- char name[80];
if (compdev == 0 || compdev->f_type != COMPDEVICE) {
yyerror("component spec precedes device specification");
@@ -887,6 +896,7 @@ huhcon(dev)
return (dp);
}
+void
init_dev(dp)
register struct device *dp;
{
@@ -912,6 +922,7 @@ init_dev(dp)
/*
* make certain that this is a reasonable type of thing to connect to a nexus
*/
+void
check_nexus(dev, num)
register struct device *dev;
int num;
@@ -955,6 +966,7 @@ check_nexus(dev, num)
* Check system specification and apply defaulting
* rules on root, argument, dump, and swap devices.
*/
+void
checksystemspec(fl)
register struct file_list *fl;
{
@@ -1022,6 +1034,7 @@ checksystemspec(fl)
* Verify all devices specified in the system specification
* are present in the device specifications.
*/
+void
verifysystemspecs()
{
register struct file_list *fl;
@@ -1059,8 +1072,7 @@ verifyswap(fl, checked, pchecked)
if (alreadychecked(fl->f_swapdev, checked, pchecked))
continue;
if (!finddev(fl->f_swapdev))
- fprintf(stderr,
- "config: swap device %s not configured", fl->f_fn);
+ warnx("swap device %s not configured", fl->f_fn);
*pchecked++ = fl->f_swapdev;
}
return (pchecked);
@@ -1069,6 +1081,7 @@ verifyswap(fl, checked, pchecked)
/*
* Verify that components of a compound device have themselves been config'ed
*/
+void
verifycomp(fl)
register struct file_list *fl;
{
@@ -1077,9 +1090,7 @@ verifycomp(fl)
for (fl = fl->f_next; fl; fl = fl->f_next) {
if (fl->f_type != COMPSPEC || finddev(fl->f_compdev))
continue;
- fprintf(stderr,
- "config: %s: component device %s not configured\n",
- dname, fl->f_needs);
+ warnx("%s: component device %s not configured", dname, fl->f_needs);
}
}
@@ -1087,6 +1098,7 @@ verifycomp(fl)
* Has a device already been checked
* for its existence in the configuration?
*/
+int
alreadychecked(dev, list, last)
dev_t dev, list[];
register dev_t *last;
@@ -1099,12 +1111,11 @@ alreadychecked(dev, list, last)
return (0);
}
+void
deverror(systemname, devtype)
char *systemname, *devtype;
{
-
- fprintf(stderr, "config: %s: %s device not configured\n",
- systemname, devtype);
+ warnx("%s: %s device not configured", systemname, devtype);
}
/*
@@ -1113,6 +1124,7 @@ deverror(systemname, devtype)
* take into account stuff wildcarded.
*/
/*ARGSUSED*/
+int
finddev(dev)
dev_t dev;
{
diff --git a/usr.sbin/config/lang.l b/usr.sbin/config/lang.l
index 3a04636..6a8cef9 100644
--- a/usr.sbin/config/lang.l
+++ b/usr.sbin/config/lang.l
@@ -114,6 +114,12 @@ struct kt {
{ "vector", VECTOR },
{ 0, 0 },
};
+
+
+int kw_lookup __P((char *));
+int octal __P((char *));
+int hex __P((char *));
+
%}
WORD [A-Za-z_][-A-Za-z_]*
%%
@@ -192,6 +198,7 @@ WORD [A-Za-z_][-A-Za-z_]*
* string is not a keyword otherwise it returns the keyword number
*/
+int
kw_lookup(word)
register char *word;
{
@@ -207,6 +214,7 @@ register char *word;
* Number conversion routines
*/
+int
octal(str)
char *str;
{
@@ -216,6 +224,7 @@ char *str;
return num;
}
+int
hex(str)
char *str;
{
diff --git a/usr.sbin/config/main.c b/usr.sbin/config/main.c
index ae9cfce..06aa355 100644
--- a/usr.sbin/config/main.c
+++ b/usr.sbin/config/main.c
@@ -32,23 +32,28 @@
*/
#ifndef lint
-static char copyright[] =
+static const char copyright[] =
"@(#) Copyright (c) 1980, 1993\n\
The Regents of the University of California. All rights reserved.\n";
#endif /* not lint */
#ifndef lint
+#if 0
static char sccsid[] = "@(#)main.c 8.1 (Berkeley) 6/6/93";
+#endif
+static const char rcsid[] =
+ "$Id$";
#endif /* not lint */
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/file.h>
#include <sys/mman.h>
-#include <stdio.h>
#include <ctype.h>
#include <err.h>
+#include <stdio.h>
#include <sysexits.h>
+#include <unistd.h>
#include "y.tab.h"
#include "config.h"
@@ -64,17 +69,19 @@ static char *PREFIX;
static int no_config_clobber = FALSE;
int old_config_present;
+static void usage __P((void));
+void configfile __P((void));
+
/*
* Config builds a set of files for building a UNIX
* system given a description of the desired system.
*/
+int
main(argc, argv)
int argc;
char **argv;
{
- extern char *optarg;
- extern int optind;
struct stat buf;
int ch;
char *p;
@@ -92,33 +99,26 @@ main(argc, argv)
break;
case '?':
default:
- goto usage;
+ usage();
}
argc -= optind;
argv += optind;
- if (argc != 1) {
-usage: fputs("usage: config [-gpn] sysname\n", stderr);
- exit(1);
- }
+ if (argc != 1)
+ usage();
- if (freopen(PREFIX = *argv, "r", stdin) == NULL) {
- perror(PREFIX);
- exit(2);
- }
+ if (freopen(PREFIX = *argv, "r", stdin) == NULL)
+ err(2, "%s", PREFIX);
if (getenv("NO_CONFIG_CLOBBER"))
no_config_clobber = TRUE;
p = path((char *)NULL);
if (stat(p, &buf)) {
- if (mkdir(p, 0777)) {
- perror(p);
- exit(2);
- }
+ if (mkdir(p, 0777))
+ err(2, "%s", p);
}
else if ((buf.st_mode & S_IFMT) != S_IFDIR) {
- fprintf(stderr, "config: %s isn't a directory.\n", p);
- exit(2);
+ errx(2, "%s isn't a directory", p);
}
#ifndef NO_CLOBBER_EVER
else if (!no_config_clobber) {
@@ -129,14 +129,11 @@ usage: fputs("usage: config [-gpn] sysname\n", stderr);
sprintf(tmp, "rm -rf %s", p);
if (system(tmp)) {
fprintf(stderr, "Failed!\n");
- perror(tmp);
- exit(2);
+ err(2, "%s", tmp);
}
fprintf(stderr, "Done.\n");
- if (mkdir(p, 0777)) {
- perror(p);
- exit(2);
- }
+ if (mkdir(p, 0777))
+ err(2, "%s", p);
}
#endif
else
@@ -204,6 +201,13 @@ usage: fputs("usage: config [-gpn] sysname\n", stderr);
exit(0);
}
+static void
+usage()
+{
+ fprintf(stderr, "usage: config [-gpn] sysname\n");
+ exit(1);
+}
+
/*
* get_word
* returns EOF on end of file
@@ -333,6 +337,7 @@ path(file)
return (cp);
}
+void
configfile()
{
FILE *fi, *fo;
@@ -340,15 +345,11 @@ configfile()
int i;
fi = fopen(PREFIX,"r");
- if(!fi) {
- perror(PREFIX);
- exit(2);
- }
+ if(!fi)
+ err(2, "%s", PREFIX);
fo = fopen(p=path("config.c.new"),"w");
- if(!fo) {
- perror(p);
- exit(2);
- }
+ if(!fo)
+ err(2, "%s", p);
fprintf(fo,"#include \"opt_config.h\"\n");
fprintf(fo,"#ifdef INCLUDE_CONFIG_FILE \n");
fprintf(fo,"static char *config = \"\n");
diff --git a/usr.sbin/config/mkglue.c b/usr.sbin/config/mkglue.c
index d55bca0..bf49a14 100644
--- a/usr.sbin/config/mkglue.c
+++ b/usr.sbin/config/mkglue.c
@@ -32,35 +32,45 @@
*/
#ifndef lint
+#if 0
static char sccsid[] = "@(#)mkglue.c 8.1 (Berkeley) 6/6/93";
+#endif
+static const char rcsid[] =
+ "$Id$";
#endif /* not lint */
/*
* Make the bus adaptor interrupt glue files.
*/
+#include <ctype.h>
+#include <err.h>
#include <stdio.h>
#include "config.h"
#include "y.tab.h"
-#include <ctype.h>
+
+void vector_devtab __P((FILE *, char *, int *));
+void vector __P((void));
+void dump_ctrs __P((FILE *));
+void dump_intname __P((FILE *, char *, int));
+void dump_std __P((FILE *, FILE *));
+void dump_vbavec __P((FILE *, char *, int));
+void dump_ubavec __P((FILE *, char *, int));
/*
* Create the UNIBUS interrupt vector glue file.
*/
+void
ubglue()
{
register FILE *fp, *gp;
register struct device *dp, *mp;
fp = fopen(path("ubglue.s"), "w");
- if (fp == 0) {
- perror(path("ubglue.s"));
- exit(1);
- }
+ if (fp == 0)
+ err(1, "%s", path("ubglue.s"));
gp = fopen(path("ubvec.s"), "w");
- if (gp == 0) {
- perror(path("ubvec.s"));
- exit(1);
- }
+ if (gp == 0)
+ err(1, "%s", path("ubvec.s"));
for (dp = dtab; dp != 0; dp = dp->d_next) {
mp = dp->d_conn;
if (mp != 0 && mp != (struct device *)-1 &&
@@ -110,6 +120,7 @@ static int cntcnt = 0; /* number of interrupt counters allocated */
/*
* Print a UNIBUS interrupt vector.
*/
+void
dump_ubavec(fp, vector, number)
register FILE *fp;
char *vector;
@@ -143,21 +154,18 @@ dump_ubavec(fp, vector, number)
/*
* Create the VERSAbus interrupt vector glue file.
*/
+void
vbglue()
{
register FILE *fp, *gp;
register struct device *dp, *mp;
fp = fopen(path("vbglue.s"), "w");
- if (fp == 0) {
- perror(path("vbglue.s"));
- exit(1);
- }
+ if (fp == 0)
+ err(1, "%s", path("vbglue.s"));
gp = fopen(path("vbvec.s"), "w");
- if (gp == 0) {
- perror(path("vbvec.s"));
- exit(1);
- }
+ if (gp == 0)
+ err(1, "%s", path("vbvec.s"));
for (dp = dtab; dp != 0; dp = dp->d_next) {
struct idlst *id, *id2;
@@ -203,6 +211,7 @@ vbglue()
/*
* Print a VERSAbus interrupt vector
*/
+void
dump_vbavec(fp, vector, number)
register FILE *fp;
char *vector;
@@ -229,6 +238,7 @@ dump_vbavec(fp, vector, number)
* HP9000/300 interrupts are auto-vectored.
* Code is hardwired in locore.s
*/
+void
hpglue() {}
static char *vaxinames[] = {
@@ -253,6 +263,7 @@ static struct stdintrs {
* reference the associated counters into a separate
* file which is prepended to locore.s.
*/
+void
dump_std(fp, gp)
register FILE *fp, *gp;
{
@@ -287,6 +298,7 @@ dump_std(fp, gp)
}
}
+void
dump_intname(fp, vector, number)
register FILE *fp;
char *vector;
@@ -313,6 +325,7 @@ dump_intname(fp, vector, number)
/*
* Reserve space for the interrupt counters.
*/
+void
dump_ctrs(fp)
register FILE *fp;
{
@@ -341,16 +354,15 @@ dump_ctrs(fp)
* simplify the correspondence between devices and interrupt handlers.
* The order must match that in mkioconf.c.
*/
+void
vector()
{
int dev_id;
FILE *fp;
fp = fopen(path("vector.h.new"), "w");
- if (fp == NULL) {
- perror(path("vector.h.new"));
- exit(1);
- }
+ if (fp == NULL)
+ err(1, "%s", path("vector.h.new"));
fprintf(fp, "/*\n");
fprintf(fp, " * vector.h\n");
fprintf(fp, " * Macros for interrupt vector routines\n");
@@ -378,6 +390,7 @@ vector()
moveifchanged(path("vector.h.new"), path("vector.h"));
}
+void
vector_devtab(fp, table, dev_idp)
FILE *fp;
char *table;
diff --git a/usr.sbin/config/mkheaders.c b/usr.sbin/config/mkheaders.c
index 735658d..c035e90 100644
--- a/usr.sbin/config/mkheaders.c
+++ b/usr.sbin/config/mkheaders.c
@@ -32,21 +32,30 @@
*/
#ifndef lint
+#if 0
static char sccsid[] = "@(#)mkheaders.c 8.1 (Berkeley) 6/6/93";
+#endif
+static const char rcsid[] =
+ "$Id$";
#endif /* not lint */
/*
* Make all the .h files for the optional entries
*/
+#include <ctype.h>
+#include <err.h>
#include <stdio.h>
#include <string.h>
-#include <ctype.h>
#include "config.h"
#include "y.tab.h"
#define ns(s) strdup(s)
+void do_header __P((char *, char *, int));
+void do_count __P((char *, char *, int));
+
+void
headers()
{
register struct file_list *fl;
@@ -60,6 +69,7 @@ headers()
* count all the devices of a certain type and recurse to count
* whatever the device is connected to
*/
+void
do_count(dev, hname, search)
register char *dev, *hname;
int search;
@@ -99,6 +109,7 @@ do_count(dev, hname, search)
do_header(dev, hname, count > hicount ? count : hicount);
}
+void
do_header(dev, hname, count)
char *dev, *hname;
int count;
@@ -114,10 +125,8 @@ do_header(dev, hname, count)
oldcount = -1;
if (inf == 0) {
outf = fopen(file, "w");
- if (outf == 0) {
- perror(file);
- exit(1);
- }
+ if (outf == 0)
+ err(1, "%s", file);
fprintf(outf, "#define %s %d\n", name, count);
(void) fclose(outf);
return;
@@ -166,10 +175,8 @@ do_header(dev, hname, count)
fl_head = fl;
}
outf = fopen(file, "w");
- if (outf == 0) {
- perror(file);
- exit(1);
- }
+ if (outf == 0)
+ err(1, "%s", file);
for (fl = fl_head; fl != NULL; fl = tflp) {
fprintf(outf,
"#define %s %u\n", fl->f_fn, count ? fl->f_type : 0);
diff --git a/usr.sbin/config/mkioconf.c b/usr.sbin/config/mkioconf.c
index 17c7b75..db67b2d 100644
--- a/usr.sbin/config/mkioconf.c
+++ b/usr.sbin/config/mkioconf.c
@@ -32,9 +32,14 @@
*/
#ifndef lint
+#if 0
static char sccsid[] = "@(#)mkioconf.c 8.2 (Berkeley) 1/21/94";
+#endif
+static const char rcsid[] =
+ "$Id$";
#endif /* not lint */
+#include <err.h>
#include <stdio.h>
#include "y.tab.h"
#include "config.h"
@@ -46,8 +51,18 @@ char *qu();
char *intv();
char *wnum();
void pseudo_ioconf();
+void comp_config __P((FILE *));
+void scbus_devtab __P((FILE *, FILE *, int *));
+void isa_devtab __P((FILE *, char *, int *));
+void isa_biotab __P((FILE *, char *));
+void i386_ioconf __P((void));
+void hp300_ioconf __P((void));
+int hpbadslave __P((struct device *, struct device *));
+void tahoe_ioconf __P((void));
+void vax_ioconf __P((void));
#if MACHINE_VAX
+void
vax_ioconf()
{
register struct device *dp, *mp, *np;
@@ -55,10 +70,8 @@ vax_ioconf()
FILE *fp;
fp = fopen(path("ioconf.c"), "w");
- if (fp == 0) {
- perror(path("ioconf.c"));
- exit(1);
- }
+ if (fp == 0)
+ err(1, "%s", path("ioconf.c"));
fprintf(fp, "#include <vax/include/pte.h>\n");
fprintf(fp, "#include <sys/param.h>\n");
fprintf(fp, "#include <sys/buf.h>\n");
@@ -291,6 +304,7 @@ vax_ioconf()
#endif
#if MACHINE_TAHOE
+void
tahoe_ioconf()
{
register struct device *dp, *mp, *np;
@@ -298,10 +312,8 @@ tahoe_ioconf()
FILE *fp;
fp = fopen(path("ioconf.c"), "w");
- if (fp == 0) {
- perror(path("ioconf.c"));
- exit(1);
- }
+ if (fp == 0)
+ err(1, "%s", path("ioconf.c"));
fprintf(fp, "#include <sys/param.h>\n");
fprintf(fp, "#include <tahoe/include/pte.h>\n");
fprintf(fp, "#include <sys/buf.h>\n");
@@ -465,6 +477,7 @@ tahoe_ioconf()
#endif
#if MACHINE_HP300 || MACHINE_LUNA68K
+void
hp300_ioconf()
{
register struct device *dp, *mp;
@@ -472,10 +485,8 @@ hp300_ioconf()
FILE *fp;
fp = fopen(path("ioconf.c"), "w");
- if (fp == 0) {
- perror(path("ioconf.c"));
- exit(1);
- }
+ if (fp == 0)
+ err(1, "%s", path("ioconf.c"));
fprintf(fp, "#include <sys/param.h>\n");
fprintf(fp, "#include <sys/buf.h>\n");
fprintf(fp, "\n");
@@ -500,7 +511,7 @@ hp300_ioconf()
for (dp = dtab; dp != 0; dp = dp->d_next) {
mp = dp->d_conn;
if (dp->d_unit == QUES ||
- dp->d_type != MASTER && dp->d_type != CONTROLLER)
+ (dp->d_type != MASTER && dp->d_type != CONTROLLER))
continue;
if (mp != TO_NEXUS) {
printf("%s%s must be attached to an sc (nexus)\n",
@@ -573,20 +584,21 @@ hp300_ioconf()
#define ishpibdev(n) (eq(n,"rd") || eq(n,"ct") || eq(n,"mt") || eq(n,"ppi"))
#define isscsidev(n) (eq(n,"sd") || eq(n,"st") || eq(n,"ac"))
+int
hpbadslave(mp, dp)
register struct device *dp, *mp;
{
- if (mp == TO_NEXUS && ishpibdev(dp->d_name) ||
- mp != TO_NEXUS && eq(mp->d_name, "hpib") &&
- !ishpibdev(dp->d_name)) {
+ if ((mp == TO_NEXUS && ishpibdev(dp->d_name)) ||
+ (mp != TO_NEXUS && eq(mp->d_name, "hpib") &&
+ !ishpibdev(dp->d_name))) {
printf("%s%s must be attached to an hpib\n",
dp->d_name, wnum(dp->d_unit));
return (1);
}
- if (mp == TO_NEXUS && isscsidev(dp->d_name) ||
- mp != TO_NEXUS && eq(mp->d_name, "scsi") &&
- !isscsidev(dp->d_name)) {
+ if ((mp == TO_NEXUS && isscsidev(dp->d_name)) ||
+ (mp != TO_NEXUS && eq(mp->d_name, "scsi") &&
+ !isscsidev(dp->d_name))) {
printf("%s%s must be attached to a scsi\n",
dp->d_name, wnum(dp->d_unit));
return (1);
@@ -599,20 +611,18 @@ hpbadslave(mp, dp)
char *shandler();
char *sirq();
+void
i386_ioconf()
{
- register struct device *dp, *mp, *np;
- register int uba_n, slave;
+ register struct device *dp, *mp;
int dev_id;
FILE *fp, *fp1;
static char *old_d_name;
static char old_shandler[32 + 1];
fp = fopen(path("ioconf.c.new"), "w");
- if (fp == 0) {
- perror(path("ioconf.c.new"));
- exit(1);
- }
+ if (fp == 0)
+ err(1, "%s", path("ioconf.c.new"));
fprintf(fp, "/*\n");
fprintf(fp, " * I/O configuration.\n");
fprintf(fp, " * DO NOT EDIT-- this file is automatically generated.\n");
@@ -623,10 +633,8 @@ i386_ioconf()
fprintf(fp, "\n");
fprintf(fp, "#define C (caddr_t)\n");
fp1 = fopen(path("ioconf.h.new"), "w");
- if (fp1 == 0) {
- perror(path("ioconf.h.new"));
- exit(1);
- }
+ if (fp1 == 0)
+ err(1, "%s", path("ioconf.h.new"));
fprintf(fp1, "/*\n");
fprintf(fp1, " * Extern declarations for I/O configuration.\n");
fprintf(fp1, " * DO NOT EDIT-- this file is automatically generated.\n");
@@ -705,6 +713,7 @@ i386_ioconf()
moveifchanged(path("ioconf.h.new"), path("ioconf.h"));
}
+void
isa_biotab(fp, table)
FILE *fp;
char *table;
@@ -737,6 +746,7 @@ isa_biotab(fp, table)
*
* 4/26/93 rgrimes
*/
+void
isa_devtab(fp, table, dev_idp)
FILE *fp;
char *table;
@@ -769,7 +779,8 @@ isa_devtab(fp, table, dev_idp)
fprintf(fp, "0\n};\n");
}
-static char *id(int unit)
+static char *
+id(int unit)
{
char *s;
switch(unit)
@@ -839,6 +850,7 @@ is_old_scsi_device(char *name)
* All that nice "conflicting SCSI ID checking" is now
* lost and should be put back in.
*/
+void
scbus_devtab(fp, fp1, dev_idp)
FILE *fp;
FILE *fp1;
@@ -967,16 +979,15 @@ sirq(num)
#endif
#if MACHINE_PMAX
+void
pmax_ioconf()
{
register struct device *dp, *mp;
FILE *fp;
fp = fopen(path("ioconf.c"), "w");
- if (fp == 0) {
- perror(path("ioconf.c"));
- exit(1);
- }
+ if (fp == 0)
+ err(1, "%s", path("ioconf.c"));
fprintf(fp, "#include <sys/types.h>\n");
fprintf(fp, "#include <sys/time.h>\n");
fprintf(fp, "#include <pmax/dev/device.h>\n\n");
@@ -1022,7 +1033,7 @@ pmax_ioconf()
continue;
mp = dp->d_conn;
if (mp == 0 ||
- !eq(mp->d_name, "asc") && !eq(mp->d_name, "sii")) {
+ (!eq(mp->d_name, "asc") && !eq(mp->d_name, "sii"))) {
printf("%s%s: devices must be attached to a SCSI (asc or sii) controller\n",
dp->d_name, wnum(dp->d_unit));
continue;
@@ -1054,6 +1065,7 @@ int have_iop = 0;
int have_hb = 0;
int have_vme = 0;
+void
news_ioconf()
{
register struct device *dp, *mp;
@@ -1061,10 +1073,8 @@ news_ioconf()
FILE *fp;
fp = fopen(path("ioconf.c"), "w");
- if (fp == 0) {
- perror(path("ioconf.c"));
- exit(1);
- }
+ if (fp == 0)
+ err(1, "%s", path("ioconf.c"));
fprintf(fp, "#include <sys/param.h>\n");
fprintf(fp, "#include <sys/buf.h>\n");
fprintf(fp, "#include <vm/vm.h>\n");
@@ -1120,8 +1130,8 @@ news_ioconf()
continue;
}
if (dp->d_flags) {
- printf("controllers (e.g. %s%d) don't have flags, ");
- printf("only devices do\n",
+ printf(
+ "controllers (e.g. %s%d) don't have flags, only devices do\n",
dp->d_name, dp->d_unit);
continue;
}
@@ -1281,6 +1291,7 @@ pseudo_ioconf(fp)
comp_config(fp);
}
+void
comp_config(fp)
FILE *fp;
{
diff --git a/usr.sbin/config/mkmakefile.c b/usr.sbin/config/mkmakefile.c
index 56aa44a..d1d7585 100644
--- a/usr.sbin/config/mkmakefile.c
+++ b/usr.sbin/config/mkmakefile.c
@@ -32,7 +32,11 @@
*/
#ifndef lint
+#if 0
static char sccsid[] = "@(#)mkmakefile.c 8.1 (Berkeley) 6/6/93";
+#endif
+static const char rcsid[] =
+ "$Id$";
#endif /* not lint */
/*
@@ -41,9 +45,10 @@ static char sccsid[] = "@(#)mkmakefile.c 8.1 (Berkeley) 6/6/93";
* additional files for the machine being compiled to.
*/
+#include <ctype.h>
+#include <err.h>
#include <stdio.h>
#include <string.h>
-#include <ctype.h>
#include "y.tab.h"
#include "config.h"
@@ -68,6 +73,18 @@ static struct file_list *fcur;
char *tail();
extern int old_config_present;
+void do_swapspec __P((FILE *, char *));
+void do_clean __P((FILE *));
+void do_load __P((FILE *));
+void do_rules __P((FILE *));
+void do_sfiles __P((FILE *));
+void do_cfiles __P((FILE *));
+void do_objs __P((FILE *));
+void do_before_depend __P((FILE *));
+int opteq __P((char *, char *));
+void read_files __P((void));
+void makefile __P((void));
+
/*
* Lookup a file, by name.
*/
@@ -137,6 +154,7 @@ static struct users {
/*
* Build the makefile from the skeleton
*/
+void
makefile()
{
FILE *ifp, *ofp;
@@ -149,15 +167,11 @@ makefile()
strcpy(line, "Makefile.");
(void) strcat(line, machinename);
ifp = fopen(line, "r");
- if (ifp == 0) {
- perror(line);
- exit(1);
- }
+ if (ifp == 0)
+ err(1, "%s", line);
ofp = fopen(path("Makefile.new"), "w");
- if (ofp == 0) {
- perror(path("Makefile.new"));
- exit(1);
- }
+ if (ofp == 0)
+ err(1, "%s", path("Makefile.new"));
fprintf(ofp, "KERN_IDENT=%s\n", raise(ident));
fprintf(ofp, "IDENT=");
if (profiling)
@@ -251,6 +265,7 @@ makefile()
* Read in the information about files used in making the system.
* Store it in the ftab linked list.
*/
+void
read_files()
{
FILE *fp;
@@ -267,10 +282,8 @@ read_files()
(void) snprintf(fname, sizeof fname, "../../conf/files");
openit:
fp = fopen(fname, "r");
- if (fp == 0) {
- perror(fname);
- exit(1);
- }
+ if (fp == 0)
+ err(1, "%s", fname);
if(ident == NULL) {
printf("no ident line specified\n");
exit(1);
@@ -491,6 +504,7 @@ save:
goto next;
}
+int
opteq(cp, dp)
char *cp, *dp;
{
@@ -508,12 +522,12 @@ opteq(cp, dp)
}
}
+void
do_before_depend(fp)
FILE *fp;
{
- register struct file_list *tp, *fl;
+ register struct file_list *tp;
register int lpos, len;
- char swapname[32];
fputs("BEFORE_DEPEND=", fp);
lpos = 15;
@@ -534,6 +548,7 @@ do_before_depend(fp)
putc('\n', fp);
}
+void
do_objs(fp)
FILE *fp;
{
@@ -572,6 +587,7 @@ cont:
putc('\n', fp);
}
+void
do_cfiles(fp)
FILE *fp;
{
@@ -611,6 +627,7 @@ do_cfiles(fp)
putc('\n', fp);
}
+void
do_sfiles(fp)
FILE *fp;
{
@@ -655,6 +672,7 @@ tail(fn)
* which avoids any problem areas with i/o addressing
* (e.g. for the VAX); assembler files are processed by as.
*/
+void
do_rules(f)
FILE *f;
{
@@ -725,6 +743,7 @@ do_rules(f)
/*
* Create the load strings
*/
+void
do_load(f)
register FILE *f;
{
@@ -742,12 +761,12 @@ do_load(f)
putc('\n', f);
}
+void
do_clean(fp)
FILE *fp;
{
- register struct file_list *tp, *fl;
+ register struct file_list *tp;
register int lpos, len;
- char swapname[32];
fputs("CLEAN=", fp);
lpos = 7;
@@ -785,6 +804,7 @@ do_systemspec(f, fl, first)
return (fl);
}
+void
do_swapspec(f, name)
FILE *f;
register char *name;
diff --git a/usr.sbin/config/mkoptions.c b/usr.sbin/config/mkoptions.c
index aea47b6..16a2d8f 100644
--- a/usr.sbin/config/mkoptions.c
+++ b/usr.sbin/config/mkoptions.c
@@ -33,30 +33,37 @@
*/
#ifndef lint
+#if 0
static char sccsid[] = "@(#)mkheaders.c 8.1 (Berkeley) 6/6/93";
+#endif
+static const char rcsid[] =
+ "$Id$";
#endif /* not lint */
/*
* Make all the .h files for the optional entries
*/
+#include <ctype.h>
+#include <err.h>
#include <stdio.h>
#include <string.h>
-#include <ctype.h>
#include "config.h"
#include "y.tab.h"
#define ns(s) strdup(s)
static char *lower __P((char *));
+void read_options __P((void));
+void do_option __P((char *));
+void
options()
{
struct opt_list *ol;
/* fake the cpu types as options */
/* Please forgive me for this hack.. :-) */
- struct opt *op;
struct cputype *cp;
for (cp = cputype; cp; cp = cp->cpu_next) {
@@ -77,6 +84,7 @@ options()
* Generate an <options>.h file
*/
+void
do_option(name)
char *name;
{
@@ -105,10 +113,8 @@ do_option(name)
inf = fopen(file, "r");
if (inf == 0) {
outf = fopen(file, "w");
- if (outf == 0) {
- perror(file);
- exit(1);
- }
+ if (outf == 0)
+ err(1, "%s", file);
/* was the option in the config file? */
if (value) {
@@ -177,10 +183,8 @@ do_option(name)
}
outf = fopen(file, "w");
- if (outf == 0) {
- perror(file);
- exit(1);
- }
+ if (outf == 0)
+ err(1, "%s", file);
for (op = op_head; op != NULL; op = topp) {
/* was the option in the config file? */
if (op->op_value) {
@@ -223,6 +227,7 @@ tooption(name)
/*
* read the options and options.<machine> files
*/
+void
read_options()
{
FILE *fp;
diff --git a/usr.sbin/config/mkswapconf.c b/usr.sbin/config/mkswapconf.c
index 18a8084..c296809 100644
--- a/usr.sbin/config/mkswapconf.c
+++ b/usr.sbin/config/mkswapconf.c
@@ -32,12 +32,18 @@
*/
#ifndef lint
+#if 0
static char sccsid[] = "@(#)mkswapconf.c 8.1 (Berkeley) 6/6/93";
+#endif
+static const char rcsid[] =
+ "$Id$";
#endif /* not lint */
/*
* Build a swap configuration file.
*/
+#include <err.h>
+#include <unistd.h>
#include "config.h"
#include <sys/disklabel.h>
@@ -49,6 +55,9 @@ static char sccsid[] = "@(#)mkswapconf.c 8.1 (Berkeley) 6/6/93";
#define ns(s) strdup(s)
+void initdevtable __P((void));
+
+void
swapconf()
{
register struct file_list *fl;
@@ -72,7 +81,6 @@ do_swap(fl)
char newswapname[80];
char swapname[80];
register struct file_list *swap;
- dev_t dev;
if (eq(fl->f_fn, "generic")) {
fl = fl->f_next;
@@ -81,10 +89,8 @@ do_swap(fl)
(void) sprintf(swapname, "swap%s.c", fl->f_fn);
(void) sprintf(newswapname, "swap%s.c.new", fl->f_fn);
fp = fopen(path(newswapname), "w");
- if (fp == 0) {
- perror(path(newswapname));
- exit(1);
- }
+ if (fp == 0)
+ err(1, "%s", path(newswapname));
fprintf(fp, "#include <sys/param.h>\n");
fprintf(fp, "#include <sys/conf.h>\n");
fprintf(fp, "\n");
@@ -144,16 +150,13 @@ nametodev(name, defunit, defslice, defpartition)
register struct devdescription *dp;
cp = name;
- if (cp == 0) {
- fprintf(stderr, "config: internal error, nametodev\n");
- exit(1);
- }
+ if (cp == 0)
+ errx(1, "internal error, nametodev");
while (*cp && !isdigit(*cp))
cp++;
unit = *cp ? atoi(cp) : defunit;
if (unit < 0 || unit > 31) {
- fprintf(stderr,
-"config: %s: invalid device specification, unit out of range\n", name);
+ warnx("%s: invalid device specification, unit out of range", name);
unit = defunit; /* carry on more checking */
}
if (*cp) {
@@ -167,8 +170,8 @@ nametodev(name, defunit, defslice, defpartition)
if (*cp) {
slice = atoi(cp);
if (slice < 0 || slice >= MAX_SLICES - 1) {
- fprintf(stderr,
-"config: %s: invalid device specification, slice out of range\n", cp);
+ warnx("%s: invalid device specification, slice out of range",
+ cp);
slice = defslice;
}
if (slice != COMPATIBILITY_SLICE)
@@ -180,8 +183,7 @@ nametodev(name, defunit, defslice, defpartition)
}
partition = *cp ? *cp : defpartition;
if (partition < 'a' || partition > 'h') {
- fprintf(stderr,
-"config: %c: invalid device specification, bad partition\n", *cp);
+ warnx("%c: invalid device specification, bad partition", *cp);
partition = defpartition; /* carry on */
}
if (devtablenotread)
@@ -190,7 +192,7 @@ nametodev(name, defunit, defslice, defpartition)
if (eq(name, dp->dev_name))
break;
if (dp == 0) {
- fprintf(stderr, "config: %s: unknown device\n", name);
+ warnx("%s: unknown device", name);
return (NODEV);
}
return (makedev(dp->dev_major,
@@ -229,6 +231,7 @@ devtoname(dev)
return (ns(buf));
}
+void
initdevtable()
{
char linebuf[256];
@@ -239,10 +242,8 @@ initdevtable()
(void) sprintf(buf, "../conf/devices.%s", machinename);
fp = fopen(buf, "r");
- if (fp == NULL) {
- fprintf(stderr, "config: can't open %s\n", buf);
- exit(1);
- }
+ if (fp == NULL)
+ errx(1, "can't open %s", buf);
while(fgets(linebuf,256,fp)) {
/*******************************\
* Allow a comment *
diff --git a/usr.sbin/config/mkubglue.c b/usr.sbin/config/mkubglue.c
index 7d2b3d4..c72766b 100644
--- a/usr.sbin/config/mkubglue.c
+++ b/usr.sbin/config/mkubglue.c
@@ -32,7 +32,11 @@
*/
#ifndef lint
+#if 0
static char sccsid[] = "@(#)mkubglue.c 8.1 (Berkeley) 6/6/93";
+#endif
+static const char rcsid[] =
+ "$Id$";
#endif /* not lint */
/*
@@ -48,10 +52,8 @@ ubglue()
register struct device *dp, *mp;
fp = fopen(path("ubglue.s"), "w");
- if (fp == 0) {
- perror(path("ubglue.s"));
- exit(1);
- }
+ if (fp == 0)
+ err(1, "%s", path("ubglue.s"));
for (dp = dtab; dp != 0; dp = dp->d_next) {
mp = dp->d_conn;
if (mp != 0 && mp != (struct device *)-1 &&
OpenPOWER on IntegriCloud