Module Name: src Committed By: pooka Date: Mon Mar 8 10:24:37 UTC 2010
Modified Files: src/sys/rump/dev: files.rump src/sys/rump/dev/lib/libucom: UCOM.ioconf ucom_at_usb.c src/sys/rump/dev/lib/libugenhc: Makefile src/sys/rump/dev/lib/libumass: UMASS.ioconf sd_at_scsibus_at_umass.c src/sys/rump/dev/lib/libusb: Makefile src/sys/rump/librump/rumpdev: autoconf.c rump_dev.c Added Files: src/sys/rump/dev/lib/libugenhc: UGENHC.ioconf ugenhc_at_mainbus.c src/sys/rump/dev/lib/libusb: USB.ioconf usb_at_ugenhc.c Removed Files: src/sys/rump/dev/lib/libusb: locators.h Log Message: Use config pseudo-root keyword instead of monolithic configurations starting from root. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/files.rump cvs rdiff -u -r1.3 -r1.4 src/sys/rump/dev/lib/libucom/UCOM.ioconf cvs rdiff -u -r1.4 -r1.5 src/sys/rump/dev/lib/libucom/ucom_at_usb.c cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/lib/libugenhc/Makefile cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/lib/libugenhc/UGENHC.ioconf \ src/sys/rump/dev/lib/libugenhc/ugenhc_at_mainbus.c cvs rdiff -u -r1.2 -r1.3 src/sys/rump/dev/lib/libumass/UMASS.ioconf \ src/sys/rump/dev/lib/libumass/sd_at_scsibus_at_umass.c cvs rdiff -u -r1.3 -r1.4 src/sys/rump/dev/lib/libusb/Makefile cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/lib/libusb/USB.ioconf \ src/sys/rump/dev/lib/libusb/usb_at_ugenhc.c cvs rdiff -u -r1.1 -r0 src/sys/rump/dev/lib/libusb/locators.h cvs rdiff -u -r1.5 -r1.6 src/sys/rump/librump/rumpdev/autoconf.c cvs rdiff -u -r1.17 -r1.18 src/sys/rump/librump/rumpdev/rump_dev.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/rump/dev/files.rump diff -u src/sys/rump/dev/files.rump:1.1 src/sys/rump/dev/files.rump:1.2 --- src/sys/rump/dev/files.rump:1.1 Fri Feb 12 04:20:51 2010 +++ src/sys/rump/dev/files.rump Mon Mar 8 10:24:37 2010 @@ -1,24 +1,8 @@ -# $NetBSD: files.rump,v 1.1 2010/02/12 04:20:51 pooka Exp $ +# $NetBSD: files.rump,v 1.2 2010/03/08 10:24:37 pooka Exp $ # device mainbus { } attach mainbus at root + device ugenhc: usbus, usbroothub attach ugenhc at mainbus - -# ugen0 - ugen3 -mainbus0 at root -ugenhc0 at mainbus0 -ugenhc1 at mainbus0 -ugenhc2 at mainbus0 -ugenhc3 at mainbus0 - -# USB bus support -usb* at ugenhc? - -# USB ROOT Hub -# -# Do *NOT* configure uhub @ uhub. -# That is not compatible with ugen. -# -uhub* at usb? Index: src/sys/rump/dev/lib/libucom/UCOM.ioconf diff -u src/sys/rump/dev/lib/libucom/UCOM.ioconf:1.3 src/sys/rump/dev/lib/libucom/UCOM.ioconf:1.4 --- src/sys/rump/dev/lib/libucom/UCOM.ioconf:1.3 Mon Mar 1 11:34:27 2010 +++ src/sys/rump/dev/lib/libucom/UCOM.ioconf Mon Mar 8 10:24:37 2010 @@ -1,4 +1,4 @@ -# $NetBSD: UCOM.ioconf,v 1.3 2010/03/01 11:34:27 pooka Exp $ +# $NetBSD: UCOM.ioconf,v 1.4 2010/03/08 10:24:37 pooka Exp $ # ioconf ucom @@ -7,6 +7,8 @@ include "dev/usb/files.usb" include "rump/dev/files.rump" +pseudo-root uhub* + # I/O DATA USB-RSAQ2 serial adapter uplcom* at uhub? ucom* at uplcom? portno ? Index: src/sys/rump/dev/lib/libucom/ucom_at_usb.c diff -u src/sys/rump/dev/lib/libucom/ucom_at_usb.c:1.4 src/sys/rump/dev/lib/libucom/ucom_at_usb.c:1.5 --- src/sys/rump/dev/lib/libucom/ucom_at_usb.c:1.4 Sun Mar 7 17:44:40 2010 +++ src/sys/rump/dev/lib/libucom/ucom_at_usb.c Mon Mar 8 10:24:37 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: ucom_at_usb.c,v 1.4 2010/03/07 17:44:40 pooka Exp $ */ +/* $NetBSD: ucom_at_usb.c,v 1.5 2010/03/08 10:24:37 pooka Exp $ */ #include <sys/param.h> #include <sys/types.h> @@ -29,15 +29,6 @@ FLAWLESSCALL(config_cfdata_attach(cfdata_ucom, 0)); - FLAWLESSCALL(config_cfdriver_attach(&mainbus_cd)); - FLAWLESSCALL(config_cfattach_attach("mainbus", &mainbus_ca)); - - FLAWLESSCALL(config_cfdriver_attach(&ugenhc_cd)); - FLAWLESSCALL(config_cfattach_attach("ugenhc", &ugenhc_ca)); - - FLAWLESSCALL(config_cfdriver_attach(&usb_cd)); - FLAWLESSCALL(config_cfattach_attach("usb", &usb_ca)); - FLAWLESSCALL(config_cfdriver_attach(&uplcom_cd)); FLAWLESSCALL(config_cfattach_attach("uplcom", &uplcom_ca)); @@ -50,9 +41,6 @@ FLAWLESSCALL(config_cfdriver_attach(&ucom_cd)); FLAWLESSCALL(config_cfattach_attach("ucom", &ucom_ca)); - FLAWLESSCALL(config_cfdriver_attach(&uhub_cd)); - FLAWLESSCALL(config_cfattach_attach("uhub", &uroothub_ca)); - bmaj = cmaj = -1; FLAWLESSCALL(devsw_attach("ucom", NULL, &bmaj, &ucom_cdevsw, &cmaj)); Index: src/sys/rump/dev/lib/libugenhc/Makefile diff -u src/sys/rump/dev/lib/libugenhc/Makefile:1.1 src/sys/rump/dev/lib/libugenhc/Makefile:1.2 --- src/sys/rump/dev/lib/libugenhc/Makefile:1.1 Thu Feb 11 02:22:09 2010 +++ src/sys/rump/dev/lib/libugenhc/Makefile Mon Mar 8 10:24:37 2010 @@ -1,9 +1,10 @@ -# $NetBSD: Makefile,v 1.1 2010/02/11 02:22:09 pooka Exp $ +# $NetBSD: Makefile,v 1.2 2010/03/08 10:24:37 pooka Exp $ # LIB= rumpdev_ugenhc +IOCONF= UGENHC.ioconf -SRCS= ugenhc.c +SRCS= ugenhc.c ugenhc_at_mainbus.c CPPFLAGS+= -I${RUMPTOP}/librump/rumpkern Index: src/sys/rump/dev/lib/libumass/UMASS.ioconf diff -u src/sys/rump/dev/lib/libumass/UMASS.ioconf:1.2 src/sys/rump/dev/lib/libumass/UMASS.ioconf:1.3 --- src/sys/rump/dev/lib/libumass/UMASS.ioconf:1.2 Fri Feb 12 04:20:51 2010 +++ src/sys/rump/dev/lib/libumass/UMASS.ioconf Mon Mar 8 10:24:37 2010 @@ -1,4 +1,4 @@ -# $NetBSD: UMASS.ioconf,v 1.2 2010/02/12 04:20:51 pooka Exp $ +# $NetBSD: UMASS.ioconf,v 1.3 2010/03/08 10:24:37 pooka Exp $ # # @@ -15,6 +15,8 @@ include "dev/scsipi/files.scsipi" include "rump/dev/files.rump" +pseudo-root uhub* + # USB Mass Storage umass* at uhub? port ? configuration ? interface ? Index: src/sys/rump/dev/lib/libumass/sd_at_scsibus_at_umass.c diff -u src/sys/rump/dev/lib/libumass/sd_at_scsibus_at_umass.c:1.2 src/sys/rump/dev/lib/libumass/sd_at_scsibus_at_umass.c:1.3 --- src/sys/rump/dev/lib/libumass/sd_at_scsibus_at_umass.c:1.2 Mon Mar 1 13:12:20 2010 +++ src/sys/rump/dev/lib/libumass/sd_at_scsibus_at_umass.c Mon Mar 8 10:24:37 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: sd_at_scsibus_at_umass.c,v 1.2 2010/03/01 13:12:20 pooka Exp $ */ +/* $NetBSD: sd_at_scsibus_at_umass.c,v 1.3 2010/03/08 10:24:37 pooka Exp $ */ #include <sys/param.h> #include <sys/conf.h> @@ -21,8 +21,7 @@ RUMP_COMPONENT(RUMP_COMPONENT_DEV) { - extern struct cfattach ugenhc_ca; - extern struct cfattach usb_ca, uhub_ca, uroothub_ca, umass_ca; + extern struct cfattach umass_ca; extern struct cfattach scsibus_ca, atapibus_ca, sd_ca, cd_ca; extern struct bdevsw sd_bdevsw, cd_bdevsw; extern struct cdevsw sd_cdevsw, cd_cdevsw; @@ -30,18 +29,6 @@ FLAWLESSCALL(config_cfdata_attach(cfdata_umass, 0)); - FLAWLESSCALL(config_cfdriver_attach(&mainbus_cd)); - FLAWLESSCALL(config_cfattach_attach("mainbus", &mainbus_ca)); - - FLAWLESSCALL(config_cfdriver_attach(&ugenhc_cd)); - FLAWLESSCALL(config_cfattach_attach("ugenhc", &ugenhc_ca)); - - FLAWLESSCALL(config_cfdriver_attach(&usb_cd)); - FLAWLESSCALL(config_cfattach_attach("usb", &usb_ca)); - - FLAWLESSCALL(config_cfdriver_attach(&uhub_cd)); - FLAWLESSCALL(config_cfattach_attach("uhub", &uhub_ca)); - FLAWLESSCALL(config_cfdriver_attach(&umass_cd)); FLAWLESSCALL(config_cfattach_attach("umass", &umass_ca)); @@ -57,8 +44,6 @@ FLAWLESSCALL(config_cfdriver_attach(&cd_cd)); FLAWLESSCALL(config_cfattach_attach("cd", &cd_ca)); - FLAWLESSCALL(config_cfattach_attach("uhub", &uroothub_ca)); - bmaj = cmaj = -1; FLAWLESSCALL(devsw_attach("sd", &sd_bdevsw, &bmaj, &sd_cdevsw, &cmaj)); Index: src/sys/rump/dev/lib/libusb/Makefile diff -u src/sys/rump/dev/lib/libusb/Makefile:1.3 src/sys/rump/dev/lib/libusb/Makefile:1.4 --- src/sys/rump/dev/lib/libusb/Makefile:1.3 Tue Feb 16 20:42:45 2010 +++ src/sys/rump/dev/lib/libusb/Makefile Mon Mar 8 10:24:37 2010 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.3 2010/02/16 20:42:45 pooka Exp $ +# $NetBSD: Makefile,v 1.4 2010/03/08 10:24:37 pooka Exp $ # .PATH: ${.CURDIR}/../../../../dev/usb @@ -6,8 +6,11 @@ LIB= rumpdev_usb .if ${MACHINE} == "i386" +IOCONF= USB.ioconf + SRCS= usb.c usbdi.c usbdi_util.c usb_mem.c usb_subr.c usb_quirks.c \ uhub.c usbroothub_subr.c +SRCS+= usb_at_ugenhc.c .else SRCS= dummy.c .endif Index: src/sys/rump/librump/rumpdev/autoconf.c diff -u src/sys/rump/librump/rumpdev/autoconf.c:1.5 src/sys/rump/librump/rumpdev/autoconf.c:1.6 --- src/sys/rump/librump/rumpdev/autoconf.c:1.5 Wed Feb 3 21:35:22 2010 +++ src/sys/rump/librump/rumpdev/autoconf.c Mon Mar 8 10:24:37 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: autoconf.c,v 1.5 2010/02/03 21:35:22 pooka Exp $ */ +/* $NetBSD: autoconf.c,v 1.6 2010/03/08 10:24:37 pooka Exp $ */ /* * Copyright (c) 2009 Antti Kantee. All Rights Reserved. @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.5 2010/02/03 21:35:22 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.6 2010/03/08 10:24:37 pooka Exp $"); #include <sys/param.h> #include <sys/device.h> @@ -55,6 +55,17 @@ NULL }; +static const struct cfiattrdata mainbuscf_iattrdata = { + "mainbus", 0, { + { NULL, NULL, 0 }, + } +}; +static const struct cfiattrdata * const mainbus_attrs[] = { + &mainbuscf_iattrdata, + NULL +}; +CFDRIVER_DECL(mainbus, DV_DULL, mainbus_attrs); + CFATTACH_DECL_NEW(mainbus, sizeof(struct mainbus_softc), mainbus_match, mainbus_attach, NULL, NULL); Index: src/sys/rump/librump/rumpdev/rump_dev.c diff -u src/sys/rump/librump/rumpdev/rump_dev.c:1.17 src/sys/rump/librump/rumpdev/rump_dev.c:1.18 --- src/sys/rump/librump/rumpdev/rump_dev.c:1.17 Sun Mar 7 16:55:44 2010 +++ src/sys/rump/librump/rumpdev/rump_dev.c Mon Mar 8 10:24:37 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: rump_dev.c,v 1.17 2010/03/07 16:55:44 pooka Exp $ */ +/* $NetBSD: rump_dev.c,v 1.18 2010/03/08 10:24:37 pooka Exp $ */ /* * Copyright (c) 2009 Antti Kantee. All Rights Reserved. @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rump_dev.c,v 1.17 2010/03/07 16:55:44 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rump_dev.c,v 1.18 2010/03/08 10:24:37 pooka Exp $"); #include <sys/param.h> #include <sys/device.h> @@ -59,6 +59,13 @@ cold = 0; if (rump_component_count(RUMP_COMPONENT_DEV) > 0) { + extern struct cfdriver mainbus_cd; + extern struct cfattach mainbus_ca; + extern struct cfdata cfdata[]; + + config_cfdata_attach(cfdata, 0); + config_cfdriver_attach(&mainbus_cd); + config_cfattach_attach("mainbus", &mainbus_ca); if (config_rootfound("mainbus", NULL) == NULL) panic("no mainbus"); Added files: Index: src/sys/rump/dev/lib/libugenhc/UGENHC.ioconf diff -u /dev/null src/sys/rump/dev/lib/libugenhc/UGENHC.ioconf:1.1 --- /dev/null Mon Mar 8 10:24:38 2010 +++ src/sys/rump/dev/lib/libugenhc/UGENHC.ioconf Mon Mar 8 10:24:37 2010 @@ -0,0 +1,15 @@ +# $NetBSD: UGENHC.ioconf,v 1.1 2010/03/08 10:24:37 pooka Exp $ +# + +ioconf ugenhc + +include "conf/files" +include "dev/usb/files.usb" +include "rump/dev/files.rump" + +pseudo-root mainbus* + +ugenhc0 at mainbus? +ugenhc1 at mainbus? +ugenhc2 at mainbus? +ugenhc3 at mainbus? Index: src/sys/rump/dev/lib/libugenhc/ugenhc_at_mainbus.c diff -u /dev/null src/sys/rump/dev/lib/libugenhc/ugenhc_at_mainbus.c:1.1 --- /dev/null Mon Mar 8 10:24:38 2010 +++ src/sys/rump/dev/lib/libugenhc/ugenhc_at_mainbus.c Mon Mar 8 10:24:37 2010 @@ -0,0 +1,31 @@ +/* $NetBSD: ugenhc_at_mainbus.c,v 1.1 2010/03/08 10:24:37 pooka Exp $ */ + +#include <sys/param.h> +#include <sys/types.h> +#include <sys/conf.h> +#include <sys/device.h> +#include <sys/kmem.h> +#include <sys/stat.h> + +#include "ioconf.c" + +#include "rump_private.h" +#include "rump_dev_private.h" + +#define FLAWLESSCALL(call) \ +do { \ + int att_error; \ + if ((att_error = call) != 0) \ + panic("\"%s\" failed", #call); \ +} while (/*CONSTCOND*/0) + +void tty_init(void); + +RUMP_COMPONENT(RUMP_COMPONENT_DEV) +{ + + FLAWLESSCALL(config_cfdata_attach(cfdata_ugenhc, 0)); + + FLAWLESSCALL(config_cfdriver_attach(&ugenhc_cd)); + FLAWLESSCALL(config_cfattach_attach("ugenhc", &ugenhc_ca)); +} Index: src/sys/rump/dev/lib/libusb/USB.ioconf diff -u /dev/null src/sys/rump/dev/lib/libusb/USB.ioconf:1.1 --- /dev/null Mon Mar 8 10:24:38 2010 +++ src/sys/rump/dev/lib/libusb/USB.ioconf Mon Mar 8 10:24:37 2010 @@ -0,0 +1,20 @@ +# $NetBSD: USB.ioconf,v 1.1 2010/03/08 10:24:37 pooka Exp $ +# + +ioconf usb + +include "conf/files" +include "dev/usb/files.usb" +include "rump/dev/files.rump" + +pseudo-root ugenhc* + +# USB bus support +usb* at ugenhc? + +# USB ROOT Hub +# +# Do *NOT* configure uhub @ uhub. +# That is not compatible with ugen. +# +uhub* at usb? Index: src/sys/rump/dev/lib/libusb/usb_at_ugenhc.c diff -u /dev/null src/sys/rump/dev/lib/libusb/usb_at_ugenhc.c:1.1 --- /dev/null Mon Mar 8 10:24:38 2010 +++ src/sys/rump/dev/lib/libusb/usb_at_ugenhc.c Mon Mar 8 10:24:37 2010 @@ -0,0 +1,34 @@ +/* $NetBSD: usb_at_ugenhc.c,v 1.1 2010/03/08 10:24:37 pooka Exp $ */ + +#include <sys/param.h> +#include <sys/types.h> +#include <sys/conf.h> +#include <sys/device.h> +#include <sys/kmem.h> +#include <sys/stat.h> + +#include "ioconf.c" + +#include "rump_private.h" +#include "rump_dev_private.h" + +#define FLAWLESSCALL(call) \ +do { \ + int att_error; \ + if ((att_error = call) != 0) \ + panic("\"%s\" failed", #call); \ +} while (/*CONSTCOND*/0) + +void tty_init(void); + +RUMP_COMPONENT(RUMP_COMPONENT_DEV) +{ + + FLAWLESSCALL(config_cfdata_attach(cfdata_usb, 0)); + + FLAWLESSCALL(config_cfdriver_attach(&usb_cd)); + FLAWLESSCALL(config_cfattach_attach("usb", &usb_ca)); + + FLAWLESSCALL(config_cfdriver_attach(&uhub_cd)); + FLAWLESSCALL(config_cfattach_attach("uhub", &uroothub_ca)); +}