Subject: Re: Refactoring MI devices in GENERIC and friends
To: Antti Kantee <pooka@cs.hut.fi>
From: Quentin Garnier <cube@cubidou.net>
List: tech-kern
Date: 09/15/2007 17:32:12
--FAjJmzZt7svs8COR
Content-Type: multipart/mixed; boundary="F20q8ig/xCX9TrYX"
Content-Disposition: inline


--F20q8ig/xCX9TrYX
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Sep 08, 2007 at 08:46:55PM +0300, Antti Kantee wrote:
[...]
> I suggest a tool for flattening the config file, usage e.g.
> config -f GENERIC > MYCONF
>=20
> That way you could also comment out the inclusion of, say, cardbus from
> the config file before flattening it and get a much more trimmed-down
> version without extra goop and a "no cardbus" statement.  This might be
> at least slightly better for usabilty?
>=20
> Dunno how much work that is, but I assume negligible for someone who
> knows config(1).  Hmm, who around here knows config(1) .... ?-)

See what's attached.  I could make locators prettier.

Strangely enough, repeatedly running config -f on GENERIC doesn't
converge;  it loops over 6 occurrences.  That wouldn't happen if I
ordered stuff in a more logical manner, of course.

--=20
Quentin Garnier - cube@cubidou.net - cube@NetBSD.org
"You could have made it, spitting out benchmarks
Owe it to yourself not to fail"
Amplifico, Spitting Out Benchmarks, Hometakes Vol. 2, 2005.

--F20q8ig/xCX9TrYX
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="config-f.diff"
Content-Transfer-Encoding: quoted-printable

Index: Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /pub/NetBSD-CVS/src/usr.bin/config/Makefile,v
retrieving revision 1.8
diff -u -r1.8 Makefile
--- Makefile	13 May 2007 20:22:45 -0000	1.8
+++ Makefile	15 Sep 2007 15:24:49 -0000
@@ -4,7 +4,8 @@
 .include <bsd.own.mk>
=20
 PROG=3D	config
-SRCS=3D	files.c gram.y hash.c lint.c main.c mkdevsw.c mkheaders.c mkioconf=
.c \
+SRCS=3D	files.c flatten.c gram.y hash.c lint.c main.c mkdevsw.c \
+	mkheaders.c mkioconf.c \
 	mkmakefile.c mkswap.c pack.c scan.l sem.c util.c
=20
 .PATH:	${NETBSDSRCDIR}/usr.bin/cksum
Index: defs.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /pub/NetBSD-CVS/src/usr.bin/config/defs.h,v
retrieving revision 1.20
diff -u -r1.20 defs.h
--- defs.h	13 Jan 2007 23:47:36 -0000	1.20
+++ defs.h	15 Sep 2007 15:24:49 -0000
@@ -366,6 +366,17 @@
 	struct nvlist	*dm_opts;	/* options */
 };
=20
+enum opt_types {
+	OT_FLAG,
+	OT_PARAM,
+};
+
+struct opt_type {
+	enum opt_types ot_type;
+	const char *ot_name;
+	struct hashtab **ot_ht;
+};
+
 /*
  * Hash tables look up name=3Dvalue pairs.  The pointer value of the name
  * is assumed to be constant forever; this can be arranged by interning
@@ -406,6 +417,7 @@
 struct	hashtab *needcnttab;	/* retains names marked "needs-count" */
 struct	hashtab *opttab;	/* table of configured options */
 struct	hashtab *fsopttab;	/* table of configured file systems */
+struct	hashtab *mkopttab;
 struct	hashtab *defopttab;	/* options that have been "defopt"'d */
 struct	hashtab *defflagtab;	/* options that have been "defflag"'d */
 struct	hashtab *defparamtab;	/* options that have been "defparam"'d */
@@ -479,6 +491,12 @@
 void	emit_options(void);
 void	emit_params(void);
=20
+/* flatten.c */
+void	flat_emit_headers(void);
+void	flat_emit_options(void);
+void	flat_emit_instances(void);
+void	flat_emit_configs(void);
+
 /* main.c */
 void	addoption(const char *, const char *);
 void	addfsoption(const char *);
@@ -517,6 +535,7 @@
=20
 /* mkioconf.c */
 int	mkioconf(void);
+void	printlocs(FILE *, struct devi *);
=20
 /* mkmakefile.c */
 int	mkmakefile(void);
Index: lint.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /pub/NetBSD-CVS/src/usr.bin/config/lint.c,v
retrieving revision 1.4
diff -u -r1.4 lint.c
--- lint.c	10 Jan 2007 15:17:43 -0000	1.4
+++ lint.c	15 Sep 2007 15:24:49 -0000
@@ -51,20 +51,10 @@
 	printf("\n");
 }
=20
-enum opt_types {
-	OT_FLAG,
-	OT_PARAM,
-	OT_FS
-};
-
-static struct opt_type {
-	enum opt_types ot_type;
-	const char *ot_name;
-	struct hashtab **ot_ht;
-} opt_types[] =3D {
+static struct opt_type opt_types[] =3D {
 	{ OT_FLAG, "options", &opttab },
 	{ OT_PARAM, "options", &opttab },
-	{ OT_FS, "file-system", &fsopttab },
+	{ OT_FLAG, "file-system", &fsopttab },
 };
=20
 static int
Index: main.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /pub/NetBSD-CVS/src/usr.bin/config/main.c,v
retrieving revision 1.23
diff -u -r1.23 main.c
--- main.c	13 Jan 2007 23:47:36 -0000	1.23
+++ main.c	15 Sep 2007 15:24:50 -0000
@@ -81,7 +81,8 @@
=20
 int	vflag;				/* verbose output */
 int	Pflag;				/* pack locators */
-int	Lflag;				/* lint config generation */
+static int	Lflag;				/* lint config generation */
+int	fflag;				/* flatten configuration */
=20
 int	yyparse(void);
=20
@@ -90,7 +91,6 @@
 #endif
=20
 static struct hashtab *obsopttab;
-static struct hashtab *mkopttab;
 static struct nvlist **nextopt;
 static struct nvlist **nextmkopt;
 static struct nvlist **nextappmkopt;
@@ -147,7 +147,7 @@
=20
 	pflag =3D 0;
 	xflag =3D 0;
-	while ((ch =3D getopt(argc, argv, "DLPgpvb:s:x")) !=3D -1) {
+	while ((ch =3D getopt(argc, argv, "DLPfgpvb:s:x")) !=3D -1) {
 		switch (ch) {
=20
 #ifndef MAKE_BOOTSTRAP
@@ -164,6 +164,10 @@
 			Pflag =3D 1;
 			break;
=20
+		case 'f':
+			fflag =3D 1;
+			break;
+
 		case 'g':
 			/*
 			 * In addition to DEBUG, you probably wanted to
@@ -218,8 +222,10 @@
 	}
=20
 	if (xflag && (builddir !=3D NULL || srcdir !=3D NULL || Pflag || pflag ||
-	    vflag || Lflag))
+	    vflag || Lflag || fflag))
 		errx(EXIT_FAILURE, "-x must be used alone");
+	if (fflag && (builddir !=3D NULL || Pflag || pflag || Lflag))
+		errx(EXIT_FAILURE, "-f can only be used with -s and -v");
 	if (Lflag && (builddir !=3D NULL || Pflag || pflag))
 		errx(EXIT_FAILURE, "-L can only be used with -s and -v");
=20
@@ -307,7 +313,8 @@
 		if (yyparse())
 			stop();
=20
-		printf("include \"%s\"\n", resolvedname);
+		if (Lflag)
+			printf("include \"%s\"\n", resolvedname);
=20
 		emit_params();
 		emit_options();
@@ -417,6 +424,19 @@
 	if (badstar())
 		stop();
=20
+	if (fflag) {
+		/* machine, ident, maxusers */
+		flat_emit_headers();
+		/* options, params, fses */
+		flat_emit_options();
+		/* all instances of drivers */
+		flat_emit_instances();
+		/* config <netbsd> root on ... */
+		flat_emit_configs();
+
+		exit (EXIT_SUCCESS);
+	}
+
 	/*
 	 * Ready to go.  Build all the various files.
 	 */
@@ -890,21 +910,13 @@
=20
 	/*
 	 * Convert to lower case.  This will be used in the select
-	 * table, to verify root file systems, and when the initial
-	 * VFS list is created.
+	 * table, to verify root file systems.
 	 */
 	n =3D strtolower(name);
=20
 	if (do_option(fsopttab, &nextfsopt, name, n, "file-system"))
 		return;
=20
-	/*
-	 * Add a lower-case version to the table for root file system
-	 * verification.
-	 */
-	if (ht_insert(fsopttab, n, __UNCONST(n)))
-		panic("addfsoption: already in table");
-
 	/* Add to select table. */
 	(void)ht_insert(selecttab, n, __UNCONST(n));
 }
@@ -917,8 +929,6 @@
 	n =3D strtolower(name);
 	if (undo_option(fsopttab, &fsoptions, &nextfsopt, name, "file-system"))
 		return;
-	if (undo_option(fsopttab, NULL, NULL, n, "file-system"))
-		return;
 	if (undo_option(selecttab, NULL, NULL, n, "file-system"))
 		return;
 }
@@ -984,15 +994,6 @@
 {
 	struct nvlist *nv;
=20
-	/*
-	 * If a defopt'ed or defflag'ed option was enabled but without
-	 * an explicit value (always the case for defflag), supply a
-	 * default value of 1, as for non-defopt options (where cc
-	 * treats -DBAR as -DBAR=3D1.)=20
-	 */
-	if ((OPT_DEFOPT(name) || OPT_DEFFLAG(name)) && value =3D=3D NULL)
-		value =3D "1";
-
 	/* assume it will work */
 	nv =3D newnv(name, value, NULL, 0, NULL);
 	if (ht_insert(ht, name, nv) =3D=3D 0) {
@@ -1214,7 +1215,7 @@
 		exit(1);
 	}
=20
-	if (Lflag) {
+	if (Lflag || fflag) {
 		if (srcdir =3D=3D NULL)
 			srcdir =3D "../../..";
 		return;
Index: mkheaders.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /pub/NetBSD-CVS/src/usr.bin/config/mkheaders.c,v
retrieving revision 1.12
diff -u -r1.12 mkheaders.c
--- mkheaders.c	12 May 2007 10:15:31 -0000	1.12
+++ mkheaders.c	15 Sep 2007 15:24:50 -0000
@@ -257,6 +257,8 @@
 		fprintf(fp, "#define\t%s", nv->nv_name);
 		if (opt_value !=3D NULL)
 			fprintstr(fp, opt_value);
+		else if (!isfsoption)
+			fprintstr(fp, "1");
 		fputc('\n', fp);
 		fprint_global(fp, nv->nv_name,
 		    opt_value =3D=3D NULL ? 1 : global_hash(opt_value));
Index: mkioconf.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /pub/NetBSD-CVS/src/usr.bin/config/mkioconf.c,v
retrieving revision 1.9
diff -u -r1.9 mkioconf.c
--- mkioconf.c	13 Jan 2007 23:47:36 -0000	1.9
+++ mkioconf.c	15 Sep 2007 15:24:50 -0000
@@ -346,6 +346,46 @@
 }
=20
 /*
+ * Print locators
+ */
+void
+printlocs(FILE *fp, struct devi *i)
+{
+	struct attr *a;
+	struct pspec *ps;
+	struct nvlist *nv;
+	int v;
+	const char *lastname =3D "";
+
+	if ((ps =3D i->i_pspec) !=3D NULL) {
+		if (ps->p_atdev !=3D NULL &&
+		    ps->p_atunit !=3D WILD) {
+			fprintf(fp, "%s%d", ps->p_atdev->d_name,
+				    ps->p_atunit);
+		} else if (ps->p_atdev !=3D NULL) {
+			fprintf(fp, "%s?", ps->p_atdev->d_name);
+		} else {
+			fprintf(fp, "%s?", ps->p_iattr->a_name);
+		}
+
+		a =3D ps->p_iattr;
+		for (nv =3D a->a_locs, v =3D 0; nv !=3D NULL;
+		     nv =3D nv->nv_next, v++) {
+			if (ARRNAME(nv->nv_name, lastname)) {
+				fprintf(fp, " %s %s",
+				    nv->nv_name, i->i_locs[v]);
+			} else {
+				fprintf(fp, " %s %s",
+					    nv->nv_name,
+					    i->i_locs[v]);
+				lastname =3D nv->nv_name;
+			}
+		}
+	} else
+		fputs("root", fp);
+}
+
+/*
  * Emit the cfdata array.
  */
 static void
@@ -353,13 +393,10 @@
 {
 	struct devi **p, *i;
 	struct pspec *ps;
-	int unit, v;
+	int unit;
 	const char *state, *basename, *attachment;
-	struct nvlist *nv;
-	struct attr *a;
 	char *loc;
 	char locbuf[20];
-	const char *lastname =3D "";
=20
 	fprintf(fp, "\n"
 		"#define NORM FSTATE_NOTFOUND\n"
@@ -371,34 +408,9 @@
 	for (p =3D packed; (i =3D *p) !=3D NULL; p++) {
 		/* the description */
 		fprintf(fp, "/*%3d: %s at ", i->i_cfindex, i->i_name);
-		if ((ps =3D i->i_pspec) !=3D NULL) {
-			if (ps->p_atdev !=3D NULL &&
-			    ps->p_atunit !=3D WILD) {
-				fprintf(fp, "%s%d", ps->p_atdev->d_name,
-					    ps->p_atunit);
-			} else if (ps->p_atdev !=3D NULL) {
-				fprintf(fp, "%s?", ps->p_atdev->d_name);
-			} else {
-				fprintf(fp, "%s?", ps->p_iattr->a_name);
-			}
=20
-			a =3D ps->p_iattr;
-			for (nv =3D a->a_locs, v =3D 0; nv !=3D NULL;
-			     nv =3D nv->nv_next, v++) {
-				if (ARRNAME(nv->nv_name, lastname)) {
-					fprintf(fp, " %s %s",
-					    nv->nv_name, i->i_locs[v]);
-				} else {
-					fprintf(fp, " %s %s",
-						    nv->nv_name,
-						    i->i_locs[v]);
-					lastname =3D nv->nv_name;
-				}
-			}
-		} else {
-			a =3D NULL;
-			fputs("root", fp);
-		}
+		ps =3D i->i_pspec;
+		printlocs(fp, i);
=20
 		fputs(" */\n", fp);
=20
--- /dev/null	2007-09-15 13:55:10.000000000 +0200
+++ flatten.c	2007-09-15 17:17:18.000000000 +0200
@@ -0,0 +1,141 @@
+/*	$NetBSD$	*/
+
+/*
+ *  Copyright (c) 2007 The NetBSD Foundation.
+ *  All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions
+ *  are met:
+ *  1. Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ *  2. Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *  3. Neither the name of The NetBSD Foundation nor the names of its
+ *     contributors may be used to endorse or promote products derived
+ *     from this software without specific prior written permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUT=
ORS
+ *  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LI=
MITED
+ *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTIC=
ULAR
+ *  PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUT=
ORS
+ *  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINE=
SS
+ *  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ *  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF=
 THE
+ *  POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#if HAVE_NBTOOL_CONFIG_H
+#include "nbtool_config.h"
+#endif
+
+#include <stdlib.h>
+
+#include "defs.h"
+
+void
+flat_emit_headers()
+{
+	struct nvlist *nv;
+
+	printf("machine %s", machine);
+	if (machinearch !=3D NULL) {
+		printf(" %s", machinearch);
+		for (nv =3D machinesubarches; nv !=3D NULL; nv =3D nv->nv_next)
+			printf(" %s", nv->nv_name);
+	}
+	printf("\n");
+
+	if (ident !=3D NULL)
+		printf("ident \t\"%s\"\n", ident);
+
+	if (maxusers !=3D 0)
+		printf("maxusers \t%d\n", maxusers);
+}
+
+static struct opt_type opt_types[3] =3D {
+	{ OT_PARAM, "options", &opttab },
+	{ OT_FLAG, "file-system", &fsopttab },
+	{ OT_PARAM, "makeoptions", &mkopttab },
+};
+
+static int
+do_flat_emit_option(const char *name, void *value, void *v)
+{
+	const struct opt_type *ot =3D v;
+	struct nvlist *nv =3D value;
+
+	printf("%s \t%s", ot->ot_name, name);
+	if (ot->ot_type !=3D OT_FLAG && nv->nv_str !=3D NULL)
+		printf("=3D\"%s\"", nv->nv_str);
+	printf("\n");
+
+	return 0;
+}
+
+void
+flat_emit_options()
+{
+	unsigned int i;
+
+	for (i =3D 0; i < 3; i++) {
+		printf("\n");
+		(void)ht_enumerate(*(opt_types[i].ot_ht), do_flat_emit_option,
+			&opt_types[i]);
+	}
+}
+
+static void
+flat_print_instance(struct devi *i)
+{
+	if (i->i_active !=3D DEVI_ACTIVE)
+		return;
+
+	printf("%s at ", i->i_name);
+	printlocs(stdout, i);
+	printf("\n");
+}
+
+static int
+do_flat_emit_instances(const char *key, void *value, void *aux)
+{
+	struct devi *a, *i =3D (struct devi *)value;
+
+	if (i->i_base->d_ispseudo) {
+		if (i->i_active =3D=3D DEVI_ACTIVE)
+			printf("pseudo-device \t%s\t%d\n", i->i_base->d_name,
+			    i->i_unit+1);
+	} else {
+		flat_print_instance(i);
+		for (a =3D i->i_alias; a !=3D NULL; a =3D a->i_alias)
+			flat_print_instance(a);
+	}
+
+	return 0;
+}
+
+void
+flat_emit_instances()
+{
+
+	printf("\n");
+	ht_enumerate(devitab, do_flat_emit_instances, NULL);
+}
+
+void
+flat_emit_configs()
+{
+	struct config *cf;
+
+	printf("\n");
+	TAILQ_FOREACH(cf, &allcf, cf_next) {
+		printf("config %s root on %s", cf->cf_name, cf->cf_root->nv_str);
+		if (cf->cf_dump)
+			printf(" dumps on %s", cf->cf_dump->nv_str);
+		printf("\n");
+	}
+}

--F20q8ig/xCX9TrYX
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="GENERIC.flat"

machine i386 x86
maxusers 	32

options 	PCDISPLAY_SOFTCURSOR
options 	PMS_SYNAPTICS_TOUCHPAD
options 	COMPAT_30
options 	PFIL_HOOKS
options 	VM86
options 	COMPAT_SVR4
options 	WSDISPLAY_COMPAT_SYSCONS
options 	NETATALK
options 	WS_KERNEL_FG="WSCOL_GREEN"
options 	COMPAT_IBCS2
options 	NFS_BOOT_DHCP
options 	secmodel_bsd44_logic
options 	EXEC_AOUT
options 	SYSVSHM
options 	COMPAT_FREEBSD
options 	VMSWAP
options 	PTRACE
options 	VERIFIED_EXEC_FP_RMD160
options 	POWERNOW_K7
options 	POWERNOW_K8
options 	UGEN_BULK_RA_WB
options 	COMPAT_40
options 	QUOTA
options 	COMPAT_OSSAUDIO
options 	COMPAT_43
options 	COMPAT_09
options 	VERIFIED_EXEC_FP_MD5
options 	RTC_OFFSET="0"
options 	INET
options 	ACPIVERBOSE
options 	I586_CPU
options 	VERIFIED_EXEC_FP_SHA1
options 	PPP_FILTER
options 	DDB_HISTORY_SIZE="512"
options 	PAX_MPROTECT="0"
options 	WSDISPLAY_CUSTOM_BORDER
options 	IPFILTER_LOOKUP
options 	INET6_MD_CKSUM
options 	SYSVSEM
options 	ATADEBUG
options 	WSDISPLAY_COMPAT_RAWKBD
options 	NFS_BOOT_BOOTPARAM
options 	INSECURE
options 	VERIFIED_EXEC_FP_SHA256
options 	BUFQ_DISKSORT
options 	EXEC_ELF32
options 	ENHANCED_SPEEDSTEP
options 	PPP_DEFLATE
options 	LKM
options 	COMPAT_10
options 	USERCONF
options 	COMPAT_11
options 	COMPAT_12
options 	COMPAT_13
options 	SCSIVERBOSE
options 	COMPAT_14
options 	P1003_1B_SEMAPHORE
options 	COMPAT_15
options 	PCKBD_CNATTACH_MAY_FAIL
options 	WSDISPLAY_CUSTOM_OUTPUT
options 	RFC2292
options 	DDB
options 	COMPAT_16
options 	WSDISPLAY_SCROLLSUPPORT
options 	secmodel_bsd44
options 	PCIVERBOSE
options 	SCHED_4BSD
options 	SOFTDEP
options 	SYSCTL_INCLUDE_DESCR
options 	PPP_BSDCOMP
options 	FILEASSOC
options 	COMPAT_BSDPTY
options 	EXEC_SCRIPT
options 	COMPAT_NOMID
options 	WSDISPLAY_COMPAT_PCVT
options 	COREDUMP
options 	USBVERBOSE
options 	IPFILTER_LOG
options 	VERIFIED_EXEC_FP_SHA384
options 	USER_LDT
options 	MTRR
options 	COMPAT_20
options 	INET6
options 	MCAVERBOSE
options 	RAID_AUTOCONFIG
options 	BUFQ_FCFS
options 	I486_CPU
options 	NTP
options 	COMPAT_LINUX
options 	I686_CPU
options 	MIIVERBOSE
options 	WSDISPLAY_COMPAT_USL
options 	WSEMUL_VT100
options 	EISAVERBOSE
options 	INCLUDE_CONFIG_FILE
options 	VND_COMPRESSION
options 	KTRACE
options 	VERIFIED_EXEC_FP_SHA512
options 	SYSVMSG
options 	ACPI_SCANPCI
options 	NFSSERVER
options 	MULTIBOOT

file-system 	PORTAL
file-system 	OVERLAY
file-system 	NULLFS
file-system 	FDESC
file-system 	LFS
file-system 	MFS
file-system 	PTYFS
file-system 	NFS
file-system 	CODA
file-system 	KERNFS
file-system 	UNION
file-system 	TMPFS
file-system 	NTFS
file-system 	SMBFS
file-system 	CD9660
file-system 	EXT2FS
file-system 	UMAPFS
file-system 	PROCFS
file-system 	MSDOSFS
file-system 	FFS

makeoptions 	CPUFLAGS="-march=i486 -mtune=pentiumpro"

btms* at bthidev? reportid -1
auvia* at pci? dev -1 function -1
geodeide* at pci? dev -1 function -1
zyd* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
pseudo-device 	pppoe	1
sb0 at isa? port 0x220 size 0 iomem -1 iosiz 0 irq 5 drq 1 drq2 5
geodecntr* at geodegcb?
uftdi* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
uyap* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
esiop* at pci? dev -1 function -1
vge* at pci? dev -1 function -1
cardbus* at cardslot? slot -1
inphy* at mii? phy -1
esp* at pcmcia? function -1
pas0 at isa? port 0x220 size 0 iomem -1 iosiz 0 irq 7 drq 1 drq2 -1
uhid* at uhidev? reportid -1
brgphy* at mii? phy -1
ahc* at pci? dev -1 function -1
ahc* at eisa? slot -1
ahc* at cardbus? function -1
pseudo-device 	gif	1
cdce* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
ukphy* at mii? phy -1
joy* at acpi?
joy* at isapnp? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1
joy* at pci? dev -1 function -1
joy* at eso?
ahc0 at isa? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
acpibat* at acpi?
xirc* at pcmcia? function -1
cs* at pcmcia? function -1
re* at pci? dev -1 function -1
re* at cardbus? function -1
esa* at pci? dev -1 function -1
nfsmbc* at pci? dev -1 function -1
cs0 at isa? port 0x300 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
guspnp* at isapnp? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1
rtw* at pci? dev -1 function -1
rtw* at cardbus? function -1
icpsp* at icp? unit -1
xi* at xirc?
pseudo-device 	swcrypto	1
pseudo-device 	sequencer	1
ohci* at pci? dev -1 function -1
ohci* at cardbus? function -1
acpiec* at acpi?
ss* at scsibus? target -1 lun -1
cd* at scsibus? target -1 lun -1
cd* at atapibus? drive -1
pseudo-device 	btuart	1
bha* at pci? dev -1 function -1
bha* at eisa? slot -1
iopsp* at iop? tid -1
ses* at scsibus? target -1 lun -1
ste* at pci? dev -1 function -1
ahd* at pci? dev -1 function -1
optiide* at pci? dev -1 function -1
rgephy* at mii? phy -1
yds* at pci? dev -1 function -1
bha0 at isa? port 0x330 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
mhzc* at pcmcia? function -1
bha1 at isa? port 0x334 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
viaide* at pci? dev -1 function -1
bktr* at pci? dev -1 function -1
mainbus0 at root
ep* at pci? dev -1 function -1
ep* at eisa? slot -1
ep* at isapnp? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1
ep* at pcmcia? function -1
ep* at isa? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
ep* at mca? slot -1
sd* at scsibus? target -1 lun -1
sd* at atapibus? drive -1
pseudo-device 	wsfont	1
hme* at pci? dev -1 function -1
stuirda* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
uvscom* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
ahcisata* at pci? dev -1 function -1
ahcisata* at jmide?
uipaq* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
pseudo-device 	ccd	4
aac* at pci? dev -1 function -1
tr* at isapnp? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1
tr* at isa? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
tr* at mca? slot -1
ix0 at isa? port 0x300 size 0 iomem -1 iosiz 0 irq 10 drq -1 drq2 -1
st* at scsibus? target -1 lun -1
st* at atapibus? drive -1
uslsa* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
usb* at ehci?
usb* at gcscehci?
usb* at ohci?
usb* at slhci?
usb* at uhci?
nele0 at isa? port 0x320 size 0 iomem -1 iosiz 0 irq 9 drq 7 drq2 -1
ubt* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
tr0 at isa? port 0xa20 size 0 iomem 0xd8000 iosiz 0 irq -1 drq -1 drq2 -1
tr1 at isa? port 0xa24 size 0 iomem 0xd0000 iosiz 0 irq -1 drq -1 drq2 -1
aic* at pcmcia? function -1
aic* at isapnp? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1
ai0 at isa? port 0x360 size 0 iomem 0xd0000 iosiz 0 irq 7 drq -1 drq2 -1
pseudo-device 	agr	1
aiboost* at acpi?
mlx* at pci? dev -1 function -1
mlx* at eisa? slot -1
aic0 at isa? port 0x340 size 0 iomem -1 iosiz 0 irq 11 drq -1 drq2 -1
lc0 at isa? port 0x320 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
attimer* at acpi?
pceb* at pci? dev -1 function -1
pseudo-device 	tap	1
attimer0 at isa? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
cue* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
axe* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
elmc* at mca? slot -1
dmphy* at mii? phy -1
pcmb* at pci? dev -1 function -1
pseudo-device 	vcoda	4
wm* at pci? dev -1 function -1
hifn* at pci? dev -1 function -1
oboe* at pci? dev -1 function -1
umodem* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
pseudo-device 	md	1
iy0 at isa? port 0x360 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
auich* at pci? dev -1 function -1
rccide* at pci? dev -1 function -1
ess* at isapnp? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1
msk* at mskc?
cmpci* at pci? dev -1 function -1
piixide* at pci? dev -1 function -1
pcmcia* at pcic? controller -1 socket -1
pcmcia* at tcic? controller -1 socket -1
pcmcia* at cardslot? controller -1 socket -1
bge* at pci? dev -1 function -1
amdpm* at pci? dev -1 function -1
glxtphy* at mii? phy -1
ld* at iop? tid -1
ld* at aac? unit -1
ld* at amr? unit -1
ld* at cac? unit -1
ld* at icp? unit -1
ld* at twa? unit -1
ld* at twe? unit -1
ld* at mlx? unit -1
ld* at ataraid? vendtype -1 unit -1
lpt* at acpi?
lpt* at puc? port -1
mly* at pci? dev -1 function -1
wsmouse* at spic? mux 0
wsmouse* at pms? mux 0
wsmouse* at ums? mux 0
wsmouse* at uep? mux 0
wsmouse* at btms? mux 0
wsmouse* at lms? mux 0
wsmouse* at mms? mux 0
ukyopon* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
tqphy* at mii? phy -1
lpt0 at isa? port 0x378 size 0 iomem -1 iosiz 0 irq 7 drq -1 drq2 -1
lpt1 at isa? port 0x278 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
lpt2 at isa? port 0x3bc size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
umct* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
gcscehci* at pci? dev -1 function -1
sf* at pci? dev -1 function -1
siop* at pci? dev -1 function -1
pseudo-device 	vnd	1
igphy* at mii? phy -1
sysbeep0 at pcppi?
acpi0 at mainbus0
pseudo-device 	stf	1
autri* at pci? dev -1 function -1
ikphy* at mii? phy -1
btkbd* at bthidev? reportid -1
iop* at pci? dev -1 function -1
eisa0 at mainbus?
eisa0 at pceb?
sv* at pci? dev -1 function -1
iophy* at mii? phy -1
uep* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
opl* at cmpci?
opl* at eso?
opl* at ess?
opl* at fms?
opl* at sb?
opl* at sv?
opl* at wss?
opl* at yds?
opl* at ym?
edc* at mca? slot -1
exphy* at mii? phy -1
ec0 at isa? port 0x250 size 0 iomem 0xd8000 iosiz 0 irq 9 drq -1 drq2 -1
mskc* at pci? dev -1 function -1
geodegcb* at pci? dev -1 function -1
rtk* at pci? dev -1 function -1
rtk* at cardbus? function -1
le* at pci? dev -1 function -1
le* at isapnp? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1
le* at nele?
le* at bicc?
le* at mca? slot -1
pseudo-device 	veriexec	1
nfsmb* at nfsmbc?
glxsb* at pci? dev -1 function -1
awi* at pcmcia? function -1
pckbc* at acpi?
amhphy* at mii? phy -1
vald* at acpi?
bnx* at pci? dev -1 function -1
pckbc0 at isa? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
ed* at edc? drive -1
ch* at scsibus? target -1 lun -1
pseudo-device 	ataraid	1
pseudo-device 	ksyms	1
rlphy* at mii? phy -1
gsip* at pci? dev -1 function -1
elansc* at pci? dev -1 function -1
piixpcib* at pci? dev -1 function -1
nfe* at pci? dev -1 function -1
pseudo-device 	wsmux	1
pseudo-device 	lockstat	1
scsibus* at scsi? channel -1
nsphyter* at mii? phy -1
uchcom* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
atabus* at ata? channel -1
xge* at pci? dev -1 function -1
pckbd* at pckbc? slot -1
pseudo-device 	cgd	4
bthidev* at bthub?
auixp* at pci? dev -1 function -1
vr* at pci? dev -1 function -1
pseudo-device 	strip	1
sip* at pci? dev -1 function -1
twa* at pci? dev -1 function -1
udav* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
pseudo-device 	bio	1
upl* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
mpt* at pci? dev -1 function -1
iha* at pci? dev -1 function -1
ucom* at umodem? portno -1
ucom* at ubsa? portno -1
ucom* at uchcom? portno -1
ucom* at uftdi? portno -1
ucom* at uipaq? portno -1
ucom* at umct? portno -1
ucom* at uplcom? portno -1
ucom* at uslsa? portno -1
ucom* at uvscom? portno -1
ucom* at uvisor? portno -1
ucom* at ukyopon? portno -1
ucom* at ugensa? portno -1
uhub* at usb? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
uhub* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
mfi* at pci? dev -1 function -1
cy* at pci? dev -1 function -1
pcppi* at acpi?
wsdisplay* at vga? console -1 kbdmux 1
wsdisplay* at pcdisplay? console -1 kbdmux 1
pdcsata* at pci? dev -1 function -1
epic* at pci? dev -1 function -1
pcppi0 at isa? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
urlphy* at mii? phy -1
clcs* at pci? dev -1 function -1
ym* at acpi?
ym* at isapnp? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1
acpiacad* at acpi?
spc* at pcmcia? function -1
cnw* at pcmcia? function -1
fd* at fdc? drive -1
acpitz* at acpi?
fea* at eisa? slot -1
pseudo-device 	tun	1
pcdisplay0 at isa? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
an* at pci? dev -1 function -1
an* at isapnp? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1
an* at pcmcia? function -1
uplcom* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
artsata* at pci? dev -1 function -1
ef0 at isa? port 0x360 size 0 iomem 0xd0000 iosiz 0 irq 7 drq -1 drq2 -1
audio* at audiobus?
azalia* at pci? dev -1 function -1
mpu* at acpi?
mpu* at isapnp? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1
mpu* at cmpci?
mpu* at eso?
mpu* at fms?
mpu* at sb?
mpu* at yds?
mpu* at ym?
slhci* at pcmcia? function -1
fdc0 at isa? port 0x3f0 size 0 iomem -1 iosiz 0 irq 6 drq 2 drq2 -1
ums* at uhidev? reportid -1
ustir* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
txp* at pci? dev -1 function -1
cz* at pci? dev -1 function -1
esh* at pci? dev -1 function -1
siside* at pci? dev -1 function -1
sbp* at ieee1394if? euihi -1 euilo -1
clct* at pci? dev -1 function -1
cac* at eisa? slot -1
cac* at pci? dev -1 function -1
pseudo-device 	vlan	1
puc* at pci? dev -1 function -1
pnaphy* at mii? phy -1
pms* at pckbc? slot -1
slide* at pci? dev -1 function -1
ubsec* at pci? dev -1 function -1
eg0 at isa? port 0x280 size 0 iomem -1 iosiz 0 irq 9 drq -1 drq2 -1
ne* at pci? dev -1 function -1
ne* at isapnp? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1
ne* at pcmcia? function -1
ne* at mca? slot -1
trm* at pci? dev -1 function -1
rum* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
mca0 at mainbus?
ehci* at pci? dev -1 function -1
ehci* at cardbus? function -1
gentbi* at mii? phy -1
ne0 at isa? port 0x280 size 0 iomem -1 iosiz 0 irq 9 drq -1 drq2 -1
ne1 at isa? port 0x300 size 0 iomem -1 iosiz 0 irq 10 drq -1 drq2 -1
btbc* at pcmcia? function -1
ug* at acpi?
ti* at pci? dev -1 function -1
pchb* at pci? dev -1 function -1
sk* at skc?
pseudo-device 	fss	4
pseudo-device 	clockctl	1
uaudio* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
cbb* at pci? dev -1 function -1
cpu* at mainbus? apid -1
acpibut* at acpi?
uhci* at pci? dev -1 function -1
uhci* at cardbus? function -1
bt3c* at pcmcia? function -1
stpcide* at pci? dev -1 function -1
aceride* at pci? dev -1 function -1
wpi* at pci? dev -1 function -1
dge* at pci? dev -1 function -1
stge* at pci? dev -1 function -1
pseudo-device 	gre	1
pseudo-device 	sl	1
bicc0 at isa? port 0x320 size 0 iomem -1 iosiz 0 irq 10 drq 7 drq2 -1
satalink* at pci? dev -1 function -1
ieee1394if* at fwohci?
btsco* at bthub?
wskbd* at pckbd? console -1 mux 1
wskbd* at ukbd? console -1 mux 1
wskbd* at btkbd? console -1 mux 1
wd* at atabus? drive -1
wd* at umass? drive -1
pci* at mainbus? bus -1
pci* at pchb? bus -1
pci* at ppb? bus -1
wss* at acpi?
wss* at isapnp? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1
ex* at pci? dev -1 function -1
ex* at cardbus? function -1
urio* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
udsbr* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
amr* at pci? dev -1 function -1
wss0 at isa? port 0x530 size 0 iomem -1 iosiz 0 irq 10 drq 0 drq2 1
fms* at pci? dev -1 function -1
pseudo-device 	ppp	1
pseudo-device 	nsmb	1
ucycom* at uhidev? reportid -1
twe* at pci? dev -1 function -1
isapnp0 at isa? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
url* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
mbe* at pcmcia? function -1
iteide* at pci? dev -1 function -1
iic* at ichsmb?
iic* at nfsmb?
iic* at piixpm?
pseudo-device 	crypto	1
umidi* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
ate* at mca? slot -1
we* at mca? slot -1
apm* at acpi?
pcib* at pci? dev -1 function -1
uha* at eisa? slot -1
wdc* at isapnp? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1
wdc* at pcmcia? function -1
ate0 at isa? port 0x2a0 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
sm* at pcmcia? function -1
sm* at mhzc?
weasel* at pci? dev -1 function -1
we0 at isa? port 0x280 size 0 iomem 0xd0000 iosiz 0 irq 9 drq -1 drq2 -1
ugensa* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
we1 at isa? port 0x300 size 0 iomem 0xcc000 iosiz 0 irq 10 drq -1 drq2 -1
ixpide* at pci? dev -1 function -1
uha0 at isa? port 0x330 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
wdc0 at isa? port 0x1f0 size 0 iomem -1 iosiz 0 irq 14 drq -1 drq2 -1
kue* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
ulpt* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
uhidev* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
uha1 at isa? port 0x340 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
wdc1 at isa? port 0x170 size 0 iomem -1 iosiz 0 irq 15 drq -1 drq2 -1
irframe* at uirda?
irframe* at stuirda?
irframe* at ustir?
irframe* at oboe?
ukbd* at uhidev? reportid -1
sm0 at isa? port 0x300 size 0 iomem -1 iosiz 0 irq 10 drq -1 drq2 -1
dpt* at pci? dev -1 function -1
dpt* at eisa? slot -1
umass* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
atu* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
bce* at pci? dev -1 function -1
njata* at cardbus? function -1
pseudo-device 	bpfilter	1
gpio* at elansc?
bmtphy* at mii? phy -1
wds0 at isa? port 0x350 size 0 iomem -1 iosiz 0 irq 15 drq 6 drq2 -1
acphy* at mii? phy -1
wds1 at isa? port 0x358 size 0 iomem -1 iosiz 0 irq 11 drq 5 drq2 -1
eap* at pci? dev -1 function -1
piixpm* at pci? dev -1 function -1
agp* at pchb?
pseudo-device 	rnd	1
adv* at pci? dev -1 function -1
adv* at cardbus? function -1
icp* at pci? dev -1 function -1
lmc* at pci? dev -1 function -1
vga* at pci? dev -1 function -1
cypide* at pci? dev -1 function -1
pcmcom* at pcmcia? function -1
pcic* at isapnp? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1
tl* at pci? dev -1 function -1
pseudo-device 	cpuctl	1
adv0 at isa? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
vga0 at isa? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
pcic0 at isa? port 0x3e0 size 0 iomem 0xd0000 iosiz 0x10000 irq -1 drq -1 drq2 -1
pcic0 at pci? dev -1 function -1
pcic1 at isa? port 0x3e2 size 0 iomem 0xe0000 iosiz 0x4000 irq -1 drq -1 drq2 -1
tra* at mca? slot -1
pcic2 at isa? port 0x3e4 size 0 iomem 0xe0000 iosiz 0x4000 irq -1 drq -1 drq2 -1
tcic0 at isa? port 0x240 size 0 iomem 0xd0000 iosiz 0x10000 irq -1 drq -1 drq2 -1
pdcide* at pci? dev -1 function -1
njs* at pci? dev -1 function -1
njs* at cardbus? function -1
ray* at pcmcia? function -1
isp* at pci? dev -1 function -1
radio* at udsbr?
radio* at bktr?
auacer* at pci? dev -1 function -1
hpet* at acpi?
lms0 at isa? port 0x23c size 0 iomem -1 iosiz 0 irq 5 drq -1 drq2 -1
lms1 at isa? port 0x238 size 0 iomem -1 iosiz 0 irq 5 drq -1 drq2 -1
qsphy* at mii? phy -1
geodewdog* at geodegcb?
pseudo-device 	ipfilter	1
pcscp* at pci? dev -1 function -1
atapibus* at atapi?
aue* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
adw* at pci? dev -1 function -1
cardslot* at cbb? slot -1
pseudo-device 	irframetty	1
hptide* at pci? dev -1 function -1
uk* at scsibus? target -1 lun -1
uk* at atapibus? drive -1
skc* at pci? dev -1 function -1
ppb* at pci? dev -1 function -1
isa0 at piixpcib?
isa0 at mainbus?
isa0 at pceb?
isa0 at pcib?
esm* at pci? dev -1 function -1
fmv* at isapnp? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1
sony* at acpi?
svwsata* at pci? dev -1 function -1
iwi* at pci? dev -1 function -1
makphy* at mii? phy -1
atw* at pci? dev -1 function -1
atw* at cardbus? function -1
fxp* at pci? dev -1 function -1
fxp* at cardbus? function -1
fmv0 at isa? port 0x2a0 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
ipw* at pci? dev -1 function -1
utoppy* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
nsphy* at mii? phy -1
gcscide* at pci? dev -1 function -1
gus0 at isa? port 0x220 size 0 iomem -1 iosiz 0 irq 7 drq 1 drq2 6
uirda* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
fwip* at ieee1394if? euihi -1 euilo -1
npx* at acpi?
pseudo-device 	raid	8
el0 at isa? port 0x300 size 0 iomem -1 iosiz 0 irq 9 drq -1 drq2 -1
fpa* at pci? dev -1 function -1
npx0 at isa? port 0xf0 size 0 iomem -1 iosiz 0 irq 13 drq -1 drq2 -1
ciphy* at mii? phy -1
ath* at pci? dev -1 function -1
ath* at cardbus? function -1
uscanner* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
neo* at pci? dev -1 function -1
midi* at midibus?
midi* at pcppi?
gphyter* at mii? phy -1
mtd* at pci? dev -1 function -1
aha* at isapnp? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1
aha* at mca? slot -1
ntwoc* at pci? dev -1 function -1
aha0 at isa? port 0x330 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
pseudo-device 	loop	1
aha1 at isa? port 0x334 size 0 iomem -1 iosiz 0 irq -1 drq -1 drq2 -1
usscanner* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
ciss* at pci? dev -1 function -1
pseudo-device 	pty	1
sqphy* at mii? phy -1
ioapic* at mainbus? apid -1
ichsmb* at pci? dev -1 function -1
acpilid* at acpi?
ral* at pci? dev -1 function -1
ral* at cardbus? function -1
ral* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
com* at acpi?
com* at puc? port -1
com* at isapnp? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1
com* at pcmcia? function -1
com* at pcmcom? slave -1
com* at cardbus? function -1
com* at mca? slot -1
com* at xirc?
com* at mhzc?
sea0 at isa? port -1 size 0 iomem 0xc8000 iosiz 0 irq 5 drq -1 drq2 -1
fwohci* at pci? dev -1 function -1
fwohci* at cardbus? function -1
wi* at pci? dev -1 function -1
wi* at pcmcia? function -1
pcn* at pci? dev -1 function -1
pseudo-device 	bridge	1
com0 at isa? port 0x3f8 size 0 iomem -1 iosiz 0 irq 4 drq -1 drq2 -1
com1 at isa? port 0x2f8 size 0 iomem -1 iosiz 0 irq 3 drq -1 drq2 -1
cmdide* at pci? dev -1 function -1
eso* at pci? dev -1 function -1
com2 at isa? port 0x3e8 size 0 iomem -1 iosiz 0 irq 5 drq -1 drq2 -1
uvisor* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
lxtphy* at mii? phy -1
jmide* at pci? dev -1 function -1
ubsa* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
ahb* at eisa? slot -1
acardide* at pci? dev -1 function -1
pciide* at pci? dev -1 function -1
ugen* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1
spic* at acpi?
icsphy* at mii? phy -1
tlp* at pci? dev -1 function -1
tlp* at eisa? slot -1
tlp* at cardbus? function -1
tlphy* at mii? phy -1
dpti* at iop? tid 0
mms0 at isa? port 0x23c size 0 iomem -1 iosiz 0 irq 5 drq -1 drq2 -1
emuxki* at pci? dev -1 function -1
en* at pci? dev -1 function -1
mms1 at isa? port 0x238 size 0 iomem -1 iosiz 0 irq 5 drq -1 drq2 -1
bthub* at bt3c?
bthub* at btbc?
bthub* at btuart?
bthub* at ubt?
sb* at isapnp? port -1 size 0 iomem -1 iosiz 0 irq -1 drq -1

config netbsd root on ?

--F20q8ig/xCX9TrYX--

--FAjJmzZt7svs8COR
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (NetBSD)

iQEVAwUBRuv6/NgoQloHrPnoAQKXQwf+MdY/wOIw847MvApxblJ/ByPqTQs5au04
Sq9mQLxq9kCiE7uzDHVROPYEMj+3N30dQP9DtidOdriZsgc2ZLVYlUL7CT/+1BuD
cQBPqCH5quSOTz1Wm1Trw+DawttXcqBLizfnQ2GXg4jLuhFQ7TANJS6NMIlHyzUk
DcwTgQHO5fXeSx9kggro7W0Sw+6Pf/Qzl1CTI5WNmSPls0K2+QSF3YppcTWGjnlA
g7F+rYmYInKZmm3k91u6eaJNYDYO3W/dueOR1OUeV2JwdBMmb4exuGLAT8sxtreJ
RhuPDRtMx/todIZB8MnMJkD7Keg+ZBDE5XJpKc+WPgpIU6LNEUWlwg==
=bG0a
-----END PGP SIGNATURE-----

--FAjJmzZt7svs8COR--