CVS commit: src/sys/rump/dev/wip

2015-08-24 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Mon Aug 24 23:21:16 UTC 2015

Removed Files:
src/sys/rump/dev/wip: Makefile Makefile.inc
src/sys/rump/dev/wip/libukbd: Makefile UKBD.ioconf ukbd_at_usb.c
src/sys/rump/dev/wip/libums: Makefile UMS.ioconf ums_at_usb.c
src/sys/rump/dev/wip/libusbrum: Makefile rum_at_usb.c

Log Message:
These wip components have been in progress for 5 years.  There hasn't
been much progress.  Let's just kill them, they're not even build-tested.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r0 src/sys/rump/dev/wip/Makefile
cvs rdiff -u -r1.2 -r0 src/sys/rump/dev/wip/Makefile.inc
cvs rdiff -u -r1.4 -r0 src/sys/rump/dev/wip/libukbd/Makefile \
src/sys/rump/dev/wip/libukbd/UKBD.ioconf
cvs rdiff -u -r1.5 -r0 src/sys/rump/dev/wip/libukbd/ukbd_at_usb.c
cvs rdiff -u -r1.4 -r0 src/sys/rump/dev/wip/libums/Makefile \
src/sys/rump/dev/wip/libums/UMS.ioconf
cvs rdiff -u -r1.5 -r0 src/sys/rump/dev/wip/libums/ums_at_usb.c
cvs rdiff -u -r1.2 -r0 src/sys/rump/dev/wip/libusbrum/Makefile
cvs rdiff -u -r1.4 -r0 src/sys/rump/dev/wip/libusbrum/rum_at_usb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/rump/dev/wip/librumpusbhc

2010-02-09 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Tue Feb  9 18:27:17 UTC 2010

Modified Files:
src/sys/rump/dev/wip/librumpusbhc: rumpusbhc.c

Log Message:
* UR_CBI_ADSC ctrl req fails with EIO sometime for unknown reasons.
  Let it instead of panicking.  Doesn't seem to affect functionality.
* process pipe queue only until it is empty


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.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/wip/librumpusbhc/rumpusbhc.c
diff -u src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.14 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.15
--- src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.14	Wed Feb  3 21:18:38 2010
+++ src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c	Tue Feb  9 18:27:17 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumpusbhc.c,v 1.14 2010/02/03 21:18:38 pooka Exp $	*/
+/*	$NetBSD: rumpusbhc.c,v 1.15 2010/02/09 18:27:17 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -61,7 +61,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: rumpusbhc.c,v 1.14 2010/02/03 21:18:38 pooka Exp $);
+__KERNEL_RCSID(0, $NetBSD: rumpusbhc.c,v 1.15 2010/02/09 18:27:17 pooka Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -365,7 +365,7 @@
 	int len, totlen;
 	int value;
 	int err = 0;
-	int ru_error;
+	int ru_error, mightfail = 0;
 
 	len = totlen = UGETW(req-wLength);
 	if (len)
@@ -462,9 +462,20 @@
 		}
 
 	/*
+	 * This request might fail unknown reasons.  EIO doesn't
+	 * give much help, and debugging the host ugen would be
+	 * necessary.  However, since it doesn't seem to really
+	 * affect anything, just let it fail for now.
+	 */
+	case C(0x00, UT_WRITE_CLASS_INTERFACE):
+		mightfail = 1;
+		/*FALLTHROUGH*/
+
+	/*
 	 * XXX: don't wildcard these yet.  I want to better figure
 	 * out what to trap here.  This is kinda silly, though ...
 	 */
+
 	case C(0x01, UT_WRITE_VENDOR_DEVICE):
 	case C(0x06, UT_WRITE_VENDOR_DEVICE):
 	case C(0x07, UT_READ_VENDOR_DEVICE):
@@ -475,7 +486,6 @@
 	case C(UR_GET_STATUS, UT_READ_CLASS_DEVICE):
 	case C(UR_GET_DESCRIPTOR, UT_READ_CLASS_DEVICE):
 	case C(UR_GET_DESCRIPTOR, UT_READ_INTERFACE):
-	case C(0x00, UT_WRITE_CLASS_INTERFACE):
 	case C(0xff, UT_WRITE_CLASS_INTERFACE):
 	case C(0x20, UT_WRITE_CLASS_INTERFACE):
 	case C(0x22, UT_WRITE_CLASS_INTERFACE):
@@ -491,7 +501,10 @@
 		ucr.ucr_data = buf;
 		if (rumpuser_ioctl(sc-sc_ugenfd[UGEN_EPT_CTRL],
 		USB_DO_REQUEST, ucr, ru_error) == -1) {
-			panic(request failed);
+			if (!mightfail)
+panic(request failed: %d, ru_error);
+			else
+err = ru_error;
 		}
 		}
 		break;
@@ -715,17 +728,10 @@
 doxfer_kth(void *arg)
 {
 	usbd_xfer_handle xfer = arg;
-	usb_endpoint_descriptor_t *ed = xfer-pipe-endpoint-edesc;
-	bool repeat;
-
-	if ((ed-bmAttributes  UE_XFERTYPE) == UE_INTERRUPT)
-		repeat = true;
-	else
-		repeat = false;
 
 	do {
 		rumpusb_device_bulk_start(SIMPLEQ_FIRST(xfer-pipe-queue));
-	} while (repeat);
+	} while (!SIMPLEQ_EMPTY(xfer-pipe-queue));
 	kthread_exit(0);
 }
 



CVS commit: src/sys/rump/dev/wip/libumass

2010-02-09 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Tue Feb  9 19:02:19 UTC 2010

Modified Files:
src/sys/rump/dev/wip/libumass: Makefile UMASS.ioconf
sd_at_scsibus_at_umass.c

Log Message:
add c...@scsi and c...@atapi (untested. if you have a usb cd drive, let me know)


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/rump/dev/wip/libumass/Makefile
cvs rdiff -u -r1.2 -r1.3 src/sys/rump/dev/wip/libumass/UMASS.ioconf
cvs rdiff -u -r1.7 -r1.8 \
src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.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/wip/libumass/Makefile
diff -u src/sys/rump/dev/wip/libumass/Makefile:1.3 src/sys/rump/dev/wip/libumass/Makefile:1.4
--- src/sys/rump/dev/wip/libumass/Makefile:1.3	Wed Feb  3 21:18:38 2010
+++ src/sys/rump/dev/wip/libumass/Makefile	Tue Feb  9 19:02:19 2010
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.3 2010/02/03 21:18:38 pooka Exp $
+#	$NetBSD: Makefile,v 1.4 2010/02/09 19:02:19 pooka Exp $
 #
 #
 # umass.  includes scsibus+sd for simplicity due to the umass code
@@ -10,9 +10,11 @@
 LIB=	rumpdev_umass
 
 SRCS=	umass.c umass_isdata.c umass_quirks.c umass_scsipi.c
-SRCS+=	scsipiconf.c scsipi_base.c scsipi_ioctl.c scsi_base.c scsiconf.c sd.c
+SRCS+=	scsipiconf.c scsipi_base.c scsipi_ioctl.c scsi_base.c scsiconf.c
 SRCS+=	atapi_base.c atapiconf.c
 
+SRCS+=	cd.c sd.c
+
 SRCS+=	sd_at_scsibus_at_umass.c
 
 IOCONFIG= UMASS.ioconf

Index: src/sys/rump/dev/wip/libumass/UMASS.ioconf
diff -u src/sys/rump/dev/wip/libumass/UMASS.ioconf:1.2 src/sys/rump/dev/wip/libumass/UMASS.ioconf:1.3
--- src/sys/rump/dev/wip/libumass/UMASS.ioconf:1.2	Thu Feb  4 00:37:08 2010
+++ src/sys/rump/dev/wip/libumass/UMASS.ioconf	Tue Feb  9 19:02:19 2010
@@ -1,4 +1,11 @@
-#	$NetBSD: UMASS.ioconf,v 1.2 2010/02/04 00:37:08 pooka Exp $
+#	$NetBSD: UMASS.ioconf,v 1.3 2010/02/09 19:02:19 pooka Exp $
+#
+
+#
+# Technically we should not have drive components (sd, cd) in here,
+# since in the future we might want to attach them via a completely
+# separate mechanism (say, with the scsi host controller in rump).
+# But, bundle them up for now.
 #
 
 ioconf umass
@@ -10,8 +17,15 @@
 
 # USB Mass Storage
 umass*	at uhub? port ? configuration ? interface ?
+
+# SCSI support
 scsibus* at scsi?
 sd*	at scsibus? target ? lun ?
 
+# ATAPI support
 atapibus* at atapi?
-sd*	at atapibus? drive ?
+sd*	at atapibus? drive ? flags 0x
+
+# cd drives (untested!)
+cd*	at scsibus? target ? lun ?
+cd*	at atapibus? drive ? flags 0x

Index: src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c
diff -u src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.7 src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.8
--- src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.7	Wed Feb  3 21:18:38 2010
+++ src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c	Tue Feb  9 19:02:19 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: sd_at_scsibus_at_umass.c,v 1.7 2010/02/03 21:18:38 pooka Exp $	*/
+/*	$NetBSD: sd_at_scsibus_at_umass.c,v 1.8 2010/02/09 19:02:19 pooka Exp $	*/
 
 #include sys/param.h
 #include sys/conf.h
@@ -23,7 +23,7 @@
 {
 	extern struct cfattach rumpusbhc_ca;
 	extern struct cfattach usb_ca, uhub_ca, uroothub_ca, umass_ca;
-	extern struct cfattach scsibus_ca, atapibus_ca, sd_ca;
+	extern struct cfattach scsibus_ca, atapibus_ca, sd_ca, cd_ca;
 	extern struct bdevsw sd_bdevsw;
 	extern struct cdevsw sd_cdevsw;
 	devmajor_t bmaj, cmaj;
@@ -54,6 +54,9 @@
 	FLAWLESSCALL(config_cfdriver_attach(sd_cd));
 	FLAWLESSCALL(config_cfattach_attach(sd, sd_ca));
 
+	FLAWLESSCALL(config_cfdriver_attach(cd_cd));
+	FLAWLESSCALL(config_cfattach_attach(cd, cd_ca));
+
 	FLAWLESSCALL(config_cfattach_attach(uhub, uroothub_ca));
 
 	bmaj = cmaj = -1;



CVS commit: src/sys/rump/dev/wip/libumass

2010-02-09 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Wed Feb 10 02:08:34 UTC 2010

Modified Files:
src/sys/rump/dev/wip/libumass: sd_at_scsibus_at_umass.c

Log Message:
The first step to having cd work is to remember to attach it and
go devfs on it.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \
src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.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/wip/libumass/sd_at_scsibus_at_umass.c
diff -u src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.8 src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.9
--- src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.8	Tue Feb  9 19:02:19 2010
+++ src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c	Wed Feb 10 02:08:34 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: sd_at_scsibus_at_umass.c,v 1.8 2010/02/09 19:02:19 pooka Exp $	*/
+/*	$NetBSD: sd_at_scsibus_at_umass.c,v 1.9 2010/02/10 02:08:34 pooka Exp $	*/
 
 #include sys/param.h
 #include sys/conf.h
@@ -24,8 +24,8 @@
 	extern struct cfattach rumpusbhc_ca;
 	extern struct cfattach usb_ca, uhub_ca, uroothub_ca, umass_ca;
 	extern struct cfattach scsibus_ca, atapibus_ca, sd_ca, cd_ca;
-	extern struct bdevsw sd_bdevsw;
-	extern struct cdevsw sd_cdevsw;
+	extern struct bdevsw sd_bdevsw, cd_bdevsw;
+	extern struct cdevsw sd_cdevsw, cd_cdevsw;
 	devmajor_t bmaj, cmaj;
 
 	FLAWLESSCALL(config_cfdata_attach(cfdata_umass, 0));
@@ -66,4 +66,12 @@
 	bmaj, 0, 8));
 	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, /dev/rsd0, 'a',
 	cmaj, 0, 8));
+
+	bmaj = cmaj = -1;
+	FLAWLESSCALL(devsw_attach(cd, cd_bdevsw, bmaj, cd_cdevsw, cmaj));
+
+	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFBLK, /dev/cd0, 'a',
+	bmaj, 0, 8));
+	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, /dev/rcd0, 'a',
+	cmaj, 0, 8));
 }



CVS commit: src/sys/rump/dev/wip

2010-02-09 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Wed Feb 10 02:26:24 UTC 2010

Modified Files:
src/sys/rump/dev/wip: Makefile files.rump
src/sys/rump/dev/wip/libucom: ucom_at_usb.c
src/sys/rump/dev/wip/libukbd: ukbd_at_usb.c
src/sys/rump/dev/wip/libulpt: ulpt_at_usb.c
src/sys/rump/dev/wip/libumass: sd_at_scsibus_at_umass.c
src/sys/rump/dev/wip/libums: ums_at_usb.c
src/sys/rump/dev/wip/libusbrum: rum_at_usb.c
src/sys/rump/dev/wip/libwscons: component.c
Added Files:
src/sys/rump/dev/wip/libugenhc: Makefile shlib_version ugenhc.c
Removed Files:
src/sys/rump/dev/wip/librumpusbhc: Makefile rumpusbhc.c shlib_version

Log Message:
Rename rumpusbhc to ugenhc, as that better describes what it does.
(the full component name is rumpdev_ugenhc)


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/rump/dev/wip/Makefile
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/wip/files.rump
cvs rdiff -u -r1.2 -r0 src/sys/rump/dev/wip/librumpusbhc/Makefile
cvs rdiff -u -r1.15 -r0 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c
cvs rdiff -u -r1.1 -r0 src/sys/rump/dev/wip/librumpusbhc/shlib_version
cvs rdiff -u -r1.3 -r1.4 src/sys/rump/dev/wip/libucom/ucom_at_usb.c
cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/wip/libugenhc/Makefile \
src/sys/rump/dev/wip/libugenhc/shlib_version \
src/sys/rump/dev/wip/libugenhc/ugenhc.c
cvs rdiff -u -r1.2 -r1.3 src/sys/rump/dev/wip/libukbd/ukbd_at_usb.c
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/wip/libulpt/ulpt_at_usb.c
cvs rdiff -u -r1.9 -r1.10 \
src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c
cvs rdiff -u -r1.2 -r1.3 src/sys/rump/dev/wip/libums/ums_at_usb.c
cvs rdiff -u -r1.2 -r1.3 src/sys/rump/dev/wip/libusbrum/rum_at_usb.c
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/wip/libwscons/component.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/wip/Makefile
diff -u src/sys/rump/dev/wip/Makefile:1.5 src/sys/rump/dev/wip/Makefile:1.6
--- src/sys/rump/dev/wip/Makefile:1.5	Fri Feb  5 22:01:38 2010
+++ src/sys/rump/dev/wip/Makefile	Wed Feb 10 02:26:23 2010
@@ -1,7 +1,7 @@
-#	$NetBSD: Makefile,v 1.5 2010/02/05 22:01:38 pooka Exp $
+#	$NetBSD: Makefile,v 1.6 2010/02/10 02:26:23 pooka Exp $
 #
 
-SUBDIR=	librumpusbhc libucom libumass libulpt libusb libusbrum
+SUBDIR=	libugenhc libucom libumass libulpt libusb libusbrum
 SUBDIR+=libums libukbd
 
 SUBDIR+=libwscons

Index: src/sys/rump/dev/wip/files.rump
diff -u src/sys/rump/dev/wip/files.rump:1.1 src/sys/rump/dev/wip/files.rump:1.2
--- src/sys/rump/dev/wip/files.rump:1.1	Thu Feb  4 00:37:08 2010
+++ src/sys/rump/dev/wip/files.rump	Wed Feb 10 02:26:23 2010
@@ -1,20 +1,20 @@
-#	$NetBSD: files.rump,v 1.1 2010/02/04 00:37:08 pooka Exp $
+#	$NetBSD: files.rump,v 1.2 2010/02/10 02:26:23 pooka Exp $
 #
 
 device mainbus { }
 attach mainbus at root
-device rumpusbhc: usbus, usbroothub
-attach rumpusbhc at mainbus
+device ugenhc: usbus, usbroothub
+attach ugenhc at mainbus
 
 # ugen0 - ugen3
 mainbus0 at root
-rumpusbhc0 at mainbus0
-rumpusbhc1 at mainbus0
-rumpusbhc2 at mainbus0
-rumpusbhc3 at mainbus0
+ugenhc0 at mainbus0
+ugenhc1 at mainbus0
+ugenhc2 at mainbus0
+ugenhc3 at mainbus0
 
 # USB bus support
-usb*at rumpusbhc?
+usb*at ugenhc?
 
 # USB ROOT Hub
 #

Index: src/sys/rump/dev/wip/libucom/ucom_at_usb.c
diff -u src/sys/rump/dev/wip/libucom/ucom_at_usb.c:1.3 src/sys/rump/dev/wip/libucom/ucom_at_usb.c:1.4
--- src/sys/rump/dev/wip/libucom/ucom_at_usb.c:1.3	Wed Feb  3 21:18:38 2010
+++ src/sys/rump/dev/wip/libucom/ucom_at_usb.c	Wed Feb 10 02:26:23 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: ucom_at_usb.c,v 1.3 2010/02/03 21:18:38 pooka Exp $	*/
+/*	$NetBSD: ucom_at_usb.c,v 1.4 2010/02/10 02:26:23 pooka Exp $	*/
 
 #include sys/param.h
 #include sys/types.h
@@ -32,8 +32,8 @@
 	FLAWLESSCALL(config_cfdriver_attach(mainbus_cd));
 	FLAWLESSCALL(config_cfattach_attach(mainbus, mainbus_ca));
 
-	FLAWLESSCALL(config_cfdriver_attach(rumpusbhc_cd));
-	FLAWLESSCALL(config_cfattach_attach(rumpusbhc, rumpusbhc_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));

Index: src/sys/rump/dev/wip/libukbd/ukbd_at_usb.c
diff -u src/sys/rump/dev/wip/libukbd/ukbd_at_usb.c:1.2 src/sys/rump/dev/wip/libukbd/ukbd_at_usb.c:1.3
--- src/sys/rump/dev/wip/libukbd/ukbd_at_usb.c:1.2	Wed Feb  3 21:18:38 2010
+++ src/sys/rump/dev/wip/libukbd/ukbd_at_usb.c	Wed Feb 10 02:26:23 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: ukbd_at_usb.c,v 1.2 2010/02/03 21:18:38 pooka Exp $	*/
+/*	$NetBSD: ukbd_at_usb.c,v 1.3 2010/02/10 02:26:23 pooka Exp $	*/
 
 #include sys/param.h
 #include sys/conf.h
@@ -28,8 +28,8 @@
 	FLAWLESSCALL(config_cfdriver_attach(mainbus_cd));
 	FLAWLESSCALL(config_cfattach_attach(mainbus, mainbus_ca));
 
-	

CVS commit: src/sys/rump/dev/wip

2010-02-03 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Thu Feb  4 00:37:08 UTC 2010

Modified Files:
src/sys/rump/dev/wip/libucom: UCOM.ioconf
src/sys/rump/dev/wip/libukbd: UKBD.ioconf
src/sys/rump/dev/wip/libulpt: ULPT.ioconf
src/sys/rump/dev/wip/libumass: UMASS.ioconf
src/sys/rump/dev/wip/libums: UMS.ioconf
Added Files:
src/sys/rump/dev/wip: files.rump

Log Message:
Put common stuff in a single file which can be included.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/wip/files.rump
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/wip/libucom/UCOM.ioconf
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/wip/libukbd/UKBD.ioconf
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/wip/libulpt/ULPT.ioconf
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/wip/libumass/UMASS.ioconf
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/wip/libums/UMS.ioconf

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/wip/libucom/UCOM.ioconf
diff -u src/sys/rump/dev/wip/libucom/UCOM.ioconf:1.1 src/sys/rump/dev/wip/libucom/UCOM.ioconf:1.2
--- src/sys/rump/dev/wip/libucom/UCOM.ioconf:1.1	Wed Feb  3 21:18:38 2010
+++ src/sys/rump/dev/wip/libucom/UCOM.ioconf	Thu Feb  4 00:37:08 2010
@@ -1,33 +1,11 @@
-#	$NetBSD: UCOM.ioconf,v 1.1 2010/02/03 21:18:38 pooka Exp $
+#	$NetBSD: UCOM.ioconf,v 1.2 2010/02/04 00:37:08 pooka Exp $
 #
 
 ioconf ucom
 
 include conf/files
 include dev/usb/files.usb
-include dev/scsipi/files.scsipi
-
-device mainbus { }
-attach mainbus at root
-device rumpusbhc: usbus, usbroothub
-attach rumpusbhc at mainbus
-
-# ugen0 - ugen3
-mainbus0 at root
-rumpusbhc0 at mainbus0
-rumpusbhc1 at mainbus0
-rumpusbhc2 at mainbus0
-rumpusbhc3 at mainbus0
-
-# USB bus support
-usb*at rumpusbhc?
-
-# USB ROOT Hub
-#
-# Do *NOT* configure uhub @ uhub.
-# That is not compatible with ugen.
-#
-uhub*   at usb?
+include rump/dev/wip/files.rump
 
 uplcom*	at uhub?
 ucom*	at uplcom? portno ?

Index: src/sys/rump/dev/wip/libukbd/UKBD.ioconf
diff -u src/sys/rump/dev/wip/libukbd/UKBD.ioconf:1.1 src/sys/rump/dev/wip/libukbd/UKBD.ioconf:1.2
--- src/sys/rump/dev/wip/libukbd/UKBD.ioconf:1.1	Wed Feb  3 21:18:38 2010
+++ src/sys/rump/dev/wip/libukbd/UKBD.ioconf	Thu Feb  4 00:37:08 2010
@@ -1,32 +1,11 @@
-#	$NetBSD: UKBD.ioconf,v 1.1 2010/02/03 21:18:38 pooka Exp $
+#	$NetBSD: UKBD.ioconf,v 1.2 2010/02/04 00:37:08 pooka Exp $
 #
 
 ioconf ukbd
 
 include conf/files
 include dev/usb/files.usb
-
-device mainbus { }
-attach mainbus at root
-device rumpusbhc: usbus, usbroothub
-attach rumpusbhc at mainbus
-
-# ugen0 - ugen3
-mainbus0 at root
-rumpusbhc0 at mainbus0
-rumpusbhc1 at mainbus0
-rumpusbhc2 at mainbus0
-rumpusbhc3 at mainbus0
-
-# USB bus support
-usb*at rumpusbhc?
-
-# USB ROOT Hub
-#
-# Do *NOT* configure uhub @ uhub.
-# That is not compatible with ugen.
-#
-uhub*   at usb?
+include rump/dev/wip/files.rump
 
 # USB HID device
 uhidev* at uhub? port ? configuration ? interface ?

Index: src/sys/rump/dev/wip/libulpt/ULPT.ioconf
diff -u src/sys/rump/dev/wip/libulpt/ULPT.ioconf:1.1 src/sys/rump/dev/wip/libulpt/ULPT.ioconf:1.2
--- src/sys/rump/dev/wip/libulpt/ULPT.ioconf:1.1	Wed Feb  3 21:18:38 2010
+++ src/sys/rump/dev/wip/libulpt/ULPT.ioconf	Thu Feb  4 00:37:08 2010
@@ -1,31 +1,10 @@
-#	$NetBSD: ULPT.ioconf,v 1.1 2010/02/03 21:18:38 pooka Exp $
+#	$NetBSD: ULPT.ioconf,v 1.2 2010/02/04 00:37:08 pooka Exp $
 #
 
 ioconf ulpt
 
 include conf/files
 include dev/usb/files.usb
-
-device mainbus { }
-attach mainbus at root
-device rumpusbhc: usbus, usbroothub
-attach rumpusbhc at mainbus
-
-# ugen0 - ugen3
-mainbus0 at root
-rumpusbhc0 at mainbus0
-rumpusbhc1 at mainbus0
-rumpusbhc2 at mainbus0
-rumpusbhc3 at mainbus0
-
-# USB bus support
-usb*at rumpusbhc?
-
-# USB ROOT Hub
-#
-# Do *NOT* configure uhub @ uhub.
-# That is not compatible with ugen.
-#
-uhub*   at usb?
+include rump/dev/wip/files.rump
 
 ulpt*   at uhub? port ? configuration ? interface ?

Index: src/sys/rump/dev/wip/libumass/UMASS.ioconf
diff -u src/sys/rump/dev/wip/libumass/UMASS.ioconf:1.1 src/sys/rump/dev/wip/libumass/UMASS.ioconf:1.2
--- src/sys/rump/dev/wip/libumass/UMASS.ioconf:1.1	Wed Feb  3 21:18:38 2010
+++ src/sys/rump/dev/wip/libumass/UMASS.ioconf	Thu Feb  4 00:37:08 2010
@@ -1,4 +1,4 @@
-#	$NetBSD: UMASS.ioconf,v 1.1 2010/02/03 21:18:38 pooka Exp $
+#	$NetBSD: UMASS.ioconf,v 1.2 2010/02/04 00:37:08 pooka Exp $
 #
 
 ioconf umass
@@ -6,28 +6,7 @@
 include conf/files
 include dev/usb/files.usb
 include dev/scsipi/files.scsipi
-
-device mainbus { }
-attach mainbus at root
-device rumpusbhc: usbus, usbroothub
-attach rumpusbhc at mainbus
-
-# ugen0 - ugen3
-mainbus0 at root
-rumpusbhc0 at mainbus0
-rumpusbhc1 at mainbus0
-rumpusbhc2 at mainbus0
-rumpusbhc3 at mainbus0
-
-# USB bus support
-usb*at rumpusbhc?
-
-# USB ROOT Hub
-#
-# Do *NOT* configure uhub @ uhub.
-# That is not compatible with ugen.
-#
-uhub*   at 

CVS commit: src/sys/rump/dev/wip/librumpusbhc

2010-01-10 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Sun Jan 10 21:30:16 UTC 2010

Modified Files:
src/sys/rump/dev/wip/librumpusbhc: rumpusbhc.c

Log Message:
pass a few more requests through to ugen


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.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/wip/librumpusbhc/rumpusbhc.c
diff -u src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.10 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.11
--- src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.10	Sun Dec 20 15:32:46 2009
+++ src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c	Sun Jan 10 21:30:16 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumpusbhc.c,v 1.10 2009/12/20 15:32:46 pooka Exp $	*/
+/*	$NetBSD: rumpusbhc.c,v 1.11 2010/01/10 21:30:16 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -61,7 +61,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: rumpusbhc.c,v 1.10 2009/12/20 15:32:46 pooka Exp $);
+__KERNEL_RCSID(0, $NetBSD: rumpusbhc.c,v 1.11 2010/01/10 21:30:16 pooka Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -74,6 +74,7 @@
 
 #include dev/usb/usb.h
 #include dev/usb/usbdi.h
+#include dev/usb/usbhid.h
 #include dev/usb/usbdivar.h
 #include dev/usb/usb_mem.h
 #include dev/usb/usbroothub_subr.h
@@ -134,6 +135,7 @@
 	{ rumpusbhc, rumpusbhc, 1, FSTATE_NOTFOUND, NULL, 0, rumpusbhcpar},
 	{ rumpusbhc, rumpusbhc, 2, FSTATE_NOTFOUND, NULL, 0, rumpusbhcpar},
 	{ rumpusbhc, rumpusbhc, 3, FSTATE_NOTFOUND, NULL, 0, rumpusbhcpar},
+	{ NULL,		NULL,	0, 0,		NULL, 0, NULL },
 };
 
 #define UGENDEV_BASESTR /dev/ugen
@@ -498,11 +500,14 @@
 	case C(UR_GET_STATUS, UT_READ_CLASS_OTHER):
 	case C(UR_GET_STATUS, UT_READ_CLASS_DEVICE):
 	case C(UR_GET_DESCRIPTOR, UT_READ_CLASS_DEVICE):
+	case C(UR_GET_DESCRIPTOR, UT_READ_INTERFACE):
 	case C(0xff, UT_WRITE_CLASS_INTERFACE):
 	case C(0x20, UT_WRITE_CLASS_INTERFACE):
 	case C(0x22, UT_WRITE_CLASS_INTERFACE):
+	case C(0x0a, UT_WRITE_CLASS_INTERFACE):
 	case C(UR_SET_FEATURE, UT_WRITE_CLASS_OTHER):
 	case C(UR_CLEAR_FEATURE, UT_WRITE_CLASS_OTHER):
+	case C(UR_SET_REPORT, UT_WRITE_CLASS_INTERFACE):
 	case C(UR_CLEAR_FEATURE, UT_WRITE_ENDPOINT):
 		{
 		struct usb_ctl_request ucr;



CVS commit: src/sys/rump/dev/wip/librumpusbhc

2010-01-10 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Sun Jan 10 22:13:18 UTC 2010

Modified Files:
src/sys/rump/dev/wip/librumpusbhc: rumpusbhc.c

Log Message:
Add a simple hack to make interrupt pipes work (can't close them
yet ... except with SIGINT.  muah).


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.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/wip/librumpusbhc/rumpusbhc.c
diff -u src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.11 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.12
--- src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.11	Sun Jan 10 21:30:16 2010
+++ src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c	Sun Jan 10 22:13:18 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumpusbhc.c,v 1.11 2010/01/10 21:30:16 pooka Exp $	*/
+/*	$NetBSD: rumpusbhc.c,v 1.12 2010/01/10 22:13:18 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -61,7 +61,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: rumpusbhc.c,v 1.11 2010/01/10 21:30:16 pooka Exp $);
+__KERNEL_RCSID(0, $NetBSD: rumpusbhc.c,v 1.12 2010/01/10 22:13:18 pooka Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -740,8 +740,17 @@
 doxfer_kth(void *arg)
 {
 	usbd_xfer_handle xfer = arg;
+	usb_endpoint_descriptor_t *ed = xfer-pipe-endpoint-edesc;
+	bool repeat;
 
-	rumpusb_device_bulk_start(SIMPLEQ_FIRST(xfer-pipe-queue));
+	if ((ed-bmAttributes  UE_XFERTYPE) == UE_INTERRUPT)
+		repeat = true;
+	else
+		repeat = false;
+
+	do {
+		rumpusb_device_bulk_start(SIMPLEQ_FIRST(xfer-pipe-queue));
+	} while (repeat);
 	kthread_exit(0);
 }
 
@@ -857,8 +866,9 @@
 		case UE_CONTROL:
 			pipe-methods = rumpusb_device_ctrl_methods;
 			break;
-		case UE_BULK:
 		case UE_INTERRUPT:
+		case UE_BULK:
+			pipe-methods = rumpusb_device_bulk_methods;
 			endpt = pipe-endpoint-edesc-bEndpointAddress;
 			if (UE_GET_DIR(endpt) == UE_DIR_IN) {
 oflags = O_RDONLY;
@@ -866,7 +876,6 @@
 oflags = O_WRONLY;
 			}
 			endpt = UE_GET_ADDR(endpt);
-			pipe-methods = rumpusb_device_bulk_methods;
 
 			if (sc-sc_fdmodes[endpt] == oflags
 			|| sc-sc_fdmodes[endpt] == O_RDWR)



CVS commit: src/sys/rump/dev/wip/libwscons

2010-01-10 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Mon Jan 11 02:12:52 UTC 2010

Added Files:
src/sys/rump/dev/wip/libwscons: Makefile component.c locators.h
shlib_version
src/sys/rump/dev/wip/libwscons/opt: opt_wsdisplay_compat.h wsdisplay.h
wskbd.h wsmouse.h wsmux.h

Log Message:
Add wscons rump component.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/wip/libwscons/Makefile \
src/sys/rump/dev/wip/libwscons/component.c \
src/sys/rump/dev/wip/libwscons/locators.h \
src/sys/rump/dev/wip/libwscons/shlib_version
cvs rdiff -u -r0 -r1.1 \
src/sys/rump/dev/wip/libwscons/opt/opt_wsdisplay_compat.h \
src/sys/rump/dev/wip/libwscons/opt/wsdisplay.h \
src/sys/rump/dev/wip/libwscons/opt/wskbd.h \
src/sys/rump/dev/wip/libwscons/opt/wsmouse.h \
src/sys/rump/dev/wip/libwscons/opt/wsmux.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/sys/rump/dev/wip/libwscons/Makefile
diff -u /dev/null src/sys/rump/dev/wip/libwscons/Makefile:1.1
--- /dev/null	Mon Jan 11 02:12:52 2010
+++ src/sys/rump/dev/wip/libwscons/Makefile	Mon Jan 11 02:12:51 2010
@@ -0,0 +1,16 @@
+#	$NetBSD: Makefile,v 1.1 2010/01/11 02:12:51 pooka Exp $
+#
+
+.PATH:	${.CURDIR}/../../../../dev/wscons
+
+LIB=	rumpdev_wscons
+
+SRCS=   wsevent.c wskbd.c wskbdutil.c wsmouse.c
+
+SRCS+=	component.c
+
+CPPFLAGS+=	-Wno-pointer-sign
+CPPFLAGS+=	-I${RUMPTOP}/librump/rumpvfs -I${.CURDIR}/opt
+
+.include bsd.lib.mk
+.include bsd.klinks.mk
Index: src/sys/rump/dev/wip/libwscons/component.c
diff -u /dev/null src/sys/rump/dev/wip/libwscons/component.c:1.1
--- /dev/null	Mon Jan 11 02:12:52 2010
+++ src/sys/rump/dev/wip/libwscons/component.c	Mon Jan 11 02:12:51 2010
@@ -0,0 +1,461 @@
+/*	$NetBSD: component.c,v 1.1 2010/01/11 02:12:51 pooka Exp $	*/
+
+/*
+ * MACHINE GENERATED: DO NOT EDIT
+ *
+ * ioconf.c, from TESTI_wscons
+ */
+
+#include sys/param.h
+#include sys/conf.h
+#include sys/device.h
+#include sys/mount.h
+
+static const struct cfiattrdata gpibdevcf_iattrdata = {
+	gpibdev, 1,
+	{
+		{ address, -1, -1 },
+	}
+};
+static const struct cfiattrdata acpibuscf_iattrdata = {
+	acpibus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata caccf_iattrdata = {
+	cac, 1,
+	{
+		{ unit, -1, -1 },
+	}
+};
+static const struct cfiattrdata spicf_iattrdata = {
+	spi, 1,
+	{
+		{ slave, NULL, 0 },
+	}
+};
+static const struct cfiattrdata radiodevcf_iattrdata = {
+	radiodev, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata mlxcf_iattrdata = {
+	mlx, 1,
+	{
+		{ unit, -1, -1 },
+	}
+};
+static const struct cfiattrdata scsibuscf_iattrdata = {
+	scsibus, 2,
+	{
+		{ target, -1, -1 },
+		{ lun, -1, -1 },
+	}
+};
+static const struct cfiattrdata ucombuscf_iattrdata = {
+	ucombus, 1,
+	{
+		{ portno, -1, -1 },
+	}
+};
+static const struct cfiattrdata videobuscf_iattrdata = {
+	videobus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata isabuscf_iattrdata = {
+	isabus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata i2cbuscf_iattrdata = {
+	i2cbus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata ata_hlcf_iattrdata = {
+	ata_hl, 1,
+	{
+		{ drive, -1, -1 },
+	}
+};
+static const struct cfiattrdata mainbuscf_iattrdata = {
+	mainbus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata depcacf_iattrdata = {
+	depca, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata ppbuscf_iattrdata = {
+	ppbus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata eisabuscf_iattrdata = {
+	eisabus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata atapicf_iattrdata = {
+	atapi, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata atapibuscf_iattrdata = {
+	atapibus, 1,
+	{
+		{ drive, -1, -1 },
+	}
+};
+static const struct cfiattrdata usbroothubifcf_iattrdata = {
+	usbroothubif, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata altmemdevcf_iattrdata = {
+	altmemdev, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata tcbuscf_iattrdata = {
+	tcbus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata onewirebuscf_iattrdata = {
+	onewirebus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata gpiocf_iattrdata = {
+	gpio, 2,
+	{
+		{ offset, -1, -1 },
+		{ mask, 0, 0 },
+	}
+};
+static const struct cfiattrdata cbbuscf_iattrdata = {
+	cbbus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata gpiobuscf_iattrdata = {
+	gpiobus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata drmcf_iattrdata = {
+	drm, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata pckbportcf_iattrdata = {
+	pckbport, 1,
+	{
+		{ slot, -1, -1 },
+	}
+};
+static const struct cfiattrdata irbuscf_iattrdata = {
+	irbus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const 

CVS commit: src/sys/rump/dev/wip

2010-01-10 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Mon Jan 11 02:15:20 UTC 2010

Added Files:
src/sys/rump/dev/wip/libukbd: Makefile locators.h shlib_version
ukbd_at_usb.c
src/sys/rump/dev/wip/libums: Makefile locators.h shlib_version
ums_at_usb.c

Log Message:
Support ums (usb mouse) and ukbd (usb keyboard) drivers in rump.
(both components include tty support and uhid currently.  they should
be split out to separate ones.  i'll do that soon'ish).


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/wip/libukbd/Makefile \
src/sys/rump/dev/wip/libukbd/locators.h \
src/sys/rump/dev/wip/libukbd/shlib_version \
src/sys/rump/dev/wip/libukbd/ukbd_at_usb.c
cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/wip/libums/Makefile \
src/sys/rump/dev/wip/libums/locators.h \
src/sys/rump/dev/wip/libums/shlib_version \
src/sys/rump/dev/wip/libums/ums_at_usb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/sys/rump/dev/wip/libukbd/Makefile
diff -u /dev/null src/sys/rump/dev/wip/libukbd/Makefile:1.1
--- /dev/null	Mon Jan 11 02:15:20 2010
+++ src/sys/rump/dev/wip/libukbd/Makefile	Mon Jan 11 02:15:20 2010
@@ -0,0 +1,21 @@
+#	$NetBSD: Makefile,v 1.1 2010/01/11 02:15:20 pooka Exp $
+#
+
+.PATH:	${.CURDIR}/../../../../dev/usb ${.CURDIR}/../../../../kern	\
+	${.CURDIR}/../../../../dev/wscons
+
+LIB=	rumpdev_ukbd
+
+SRCS=	ukbd.c ukbdmap.c
+
+SRCS+=  hid.c uhidev.c uhid.c
+SRCS+=	ukbd_at_usb.c
+
+# XXX
+SRCS+=  tty.c tty_conf.c tty_tty.c tty_subr.c
+
+CFLAGS+=	-Wno-pointer-sign
+CPPFLAGS+=	-I${RUMPTOP}/librump/rumpvfs
+
+.include bsd.lib.mk
+.include bsd.klinks.mk
Index: src/sys/rump/dev/wip/libukbd/locators.h
diff -u /dev/null src/sys/rump/dev/wip/libukbd/locators.h:1.1
--- /dev/null	Mon Jan 11 02:15:20 2010
+++ src/sys/rump/dev/wip/libukbd/locators.h	Mon Jan 11 02:15:20 2010
@@ -0,0 +1,3 @@
+#define UHIDBUSCF_REPORTID 0
+#define UHIDBUSCF_REPORTID_DEFAULT -1
+#define UHIDBUSCF_NLOCS 1
Index: src/sys/rump/dev/wip/libukbd/shlib_version
diff -u /dev/null src/sys/rump/dev/wip/libukbd/shlib_version:1.1
--- /dev/null	Mon Jan 11 02:15:20 2010
+++ src/sys/rump/dev/wip/libukbd/shlib_version	Mon Jan 11 02:15:20 2010
@@ -0,0 +1,4 @@
+#	$NetBSD: shlib_version,v 1.1 2010/01/11 02:15:20 pooka Exp $
+#
+major=0
+minor=0
Index: src/sys/rump/dev/wip/libukbd/ukbd_at_usb.c
diff -u /dev/null src/sys/rump/dev/wip/libukbd/ukbd_at_usb.c:1.1
--- /dev/null	Mon Jan 11 02:15:20 2010
+++ src/sys/rump/dev/wip/libukbd/ukbd_at_usb.c	Mon Jan 11 02:15:20 2010
@@ -0,0 +1,473 @@
+/*	$NetBSD: ukbd_at_usb.c,v 1.1 2010/01/11 02:15:20 pooka Exp $	*/
+
+/*
+ * MACHINE GENERATED: DO NOT EDIT
+ *
+ * ioconf.c, from TESTI_wskbd
+ */
+
+#include sys/param.h
+#include sys/conf.h
+#include sys/device.h
+#include sys/mount.h
+
+static const struct cfiattrdata gpibdevcf_iattrdata = {
+	gpibdev, 1,
+	{
+		{ address, -1, -1 },
+	}
+};
+static const struct cfiattrdata acpibuscf_iattrdata = {
+	acpibus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata caccf_iattrdata = {
+	cac, 1,
+	{
+		{ unit, -1, -1 },
+	}
+};
+static const struct cfiattrdata spicf_iattrdata = {
+	spi, 1,
+	{
+		{ slave, NULL, 0 },
+	}
+};
+static const struct cfiattrdata radiodevcf_iattrdata = {
+	radiodev, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata mlxcf_iattrdata = {
+	mlx, 1,
+	{
+		{ unit, -1, -1 },
+	}
+};
+static const struct cfiattrdata scsibuscf_iattrdata = {
+	scsibus, 2,
+	{
+		{ target, -1, -1 },
+		{ lun, -1, -1 },
+	}
+};
+static const struct cfiattrdata ucombuscf_iattrdata = {
+	ucombus, 1,
+	{
+		{ portno, -1, -1 },
+	}
+};
+static const struct cfiattrdata videobuscf_iattrdata = {
+	videobus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata isabuscf_iattrdata = {
+	isabus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata i2cbuscf_iattrdata = {
+	i2cbus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata ata_hlcf_iattrdata = {
+	ata_hl, 1,
+	{
+		{ drive, -1, -1 },
+	}
+};
+static const struct cfiattrdata mainbuscf_iattrdata = {
+	mainbus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata depcacf_iattrdata = {
+	depca, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata ppbuscf_iattrdata = {
+	ppbus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata eisabuscf_iattrdata = {
+	eisabus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata atapicf_iattrdata = {
+	atapi, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata atapibuscf_iattrdata = {
+	atapibus, 1,
+	{
+		{ drive, -1, -1 },
+	}
+};
+static const struct cfiattrdata usbroothubifcf_iattrdata = {
+	usbroothubif, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata altmemdevcf_iattrdata = {
+	altmemdev, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata 

CVS commit: src/sys/rump/dev/wip

2010-01-10 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Mon Jan 11 02:15:38 UTC 2010

Modified Files:
src/sys/rump/dev/wip: Makefile

Log Message:
decend into ums, ukbd and wscons


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/rump/dev/wip/Makefile

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/wip/Makefile
diff -u src/sys/rump/dev/wip/Makefile:1.3 src/sys/rump/dev/wip/Makefile:1.4
--- src/sys/rump/dev/wip/Makefile:1.3	Sun Dec 20 15:43:57 2009
+++ src/sys/rump/dev/wip/Makefile	Mon Jan 11 02:15:38 2010
@@ -1,6 +1,9 @@
-#	$NetBSD: Makefile,v 1.3 2009/12/20 15:43:57 pooka Exp $
+#	$NetBSD: Makefile,v 1.4 2010/01/11 02:15:38 pooka Exp $
 #
 
 SUBDIR=	libnet80211 librumpusbhc libucom libumass libulpt libusb libusbrum
+SUBDIR+=libums libukbd
+
+SUBDIR+=libwscons
 
 .include bsd.subdir.mk



CVS commit: src/sys/rump/dev/wip/libumass

2009-12-22 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Tue Dec 22 13:34:35 UTC 2009

Modified Files:
src/sys/rump/dev/wip/libumass: sd_at_scsibus_at_umass.c

Log Message:
Create sashimi nodes too.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \
src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.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/wip/libumass/sd_at_scsibus_at_umass.c
diff -u src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.5 src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.6
--- src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.5	Sat Dec 19 11:55:23 2009
+++ src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c	Tue Dec 22 13:34:35 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: sd_at_scsibus_at_umass.c,v 1.5 2009/12/19 11:55:23 pooka Exp $	*/
+/*	$NetBSD: sd_at_scsibus_at_umass.c,v 1.6 2009/12/22 13:34:35 pooka Exp $	*/
 
 /*
  * MACHINE GENERATED: DO NOT EDIT
@@ -503,4 +503,6 @@
 
 	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFBLK, /dev/sd0, 'a',
 	bmaj, 0, 8));
+	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, /dev/rsd0, 'a',
+	cmaj, 0, 8));
 }



CVS commit: src/sys/rump/dev/wip/librumpusbhc

2009-12-20 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Sun Dec 20 15:32:47 UTC 2009

Modified Files:
src/sys/rump/dev/wip/librumpusbhc: rumpusbhc.c

Log Message:
Improve bulk transfer implementation by adding more complete
support for short reads.

Ironically, in some cases this works *worse* than the previous
incorrect implementation which silently ignored short reads.
Namely, I can now probe my s...@umass USB stick only once without
having to replug it.  Some ugen bus reset is probably needed,
but what exactly is unknown, and manual handjobs will have to
suffice for now.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.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/wip/librumpusbhc/rumpusbhc.c
diff -u src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.9 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.10
--- src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.9	Tue Dec 15 15:50:37 2009
+++ src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c	Sun Dec 20 15:32:46 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumpusbhc.c,v 1.9 2009/12/15 15:50:37 pooka Exp $	*/
+/*	$NetBSD: rumpusbhc.c,v 1.10 2009/12/20 15:32:46 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -61,7 +61,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: rumpusbhc.c,v 1.9 2009/12/15 15:50:37 pooka Exp $);
+__KERNEL_RCSID(0, $NetBSD: rumpusbhc.c,v 1.10 2009/12/20 15:32:46 pooka Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -499,6 +499,8 @@
 	case C(UR_GET_STATUS, UT_READ_CLASS_DEVICE):
 	case C(UR_GET_DESCRIPTOR, UT_READ_CLASS_DEVICE):
 	case C(0xff, UT_WRITE_CLASS_INTERFACE):
+	case C(0x20, UT_WRITE_CLASS_INTERFACE):
+	case C(0x22, UT_WRITE_CLASS_INTERFACE):
 	case C(UR_SET_FEATURE, UT_WRITE_CLASS_OTHER):
 	case C(UR_CLEAR_FEATURE, UT_WRITE_CLASS_OTHER):
 	case C(UR_CLEAR_FEATURE, UT_WRITE_ENDPOINT):
@@ -659,9 +661,12 @@
 {
 	struct rumpusbhc_softc *sc = xfer-pipe-device-bus-hci_private;
 	ssize_t n;
+	ssize_t done;
 	bool isread;
 	int len, error, endpt;
 	uint8_t *buf;
+	int xfererr = 0;
+	int val;
 
 	endpt = xfer-pipe-endpoint-edesc-bEndpointAddress;
 	isread = UE_GET_DIR(endpt) == UE_DIR_IN;
@@ -671,34 +676,57 @@
 	KASSERT(xfer-length);
 	len = xfer-length;
 	buf = KERNADDR(xfer-dmabuf, 0);
+	done = 0;
 
 	while (RUSB(xfer)-rusb_status == 0) {
 		if (isread) {
+			if (xfer-flags  USBD_SHORT_XFER_OK)
+val = 1;
+			else
+val = 0;
+			rumpuser_ioctl(sc-sc_ugenfd[endpt],
+			USB_SET_SHORT_XFER, val, error);
 			n = rumpuser_read(sc-sc_ugenfd[endpt],
-			buf, len, error);
-			if (n == len)
-break;
-			if (error != EAGAIN) {
+			buf+done, len-done, error);
+			if (n == -1) {
+if (error == ETIMEDOUT)
+	continue;
 n = 0;
-break;
+xfer-status = USBD_IOERROR;
+goto out;
 			}
+			done += n;
+			if (done == len)
+break;
 		} else {
 			n = rumpuser_write(sc-sc_ugenfd[endpt],
 			buf, len, error);
-			if (n == len)
+			done = n;
+			if (done == len)
 break;
 			else
 panic(short write);
 		}
+
+		if (xfer-flags  USBD_SHORT_XFER_OK)
+			break;
 	}
 
 	if (RUSB(xfer)-rusb_status == 0) {
-		xfer-actlen = n;
+		xfer-actlen = done;
 		xfer-status = USBD_NORMAL_COMPLETION;
+		/* override */
+		if (xfererr) {
+			printf(err!\n);
+			xfer-status = xfererr;
+		}
 	} else {
 		xfer-status = USBD_CANCELLED;
 		RUSB(xfer)-rusb_status = 2;
 	}
+ out:
+	val = 0;
+	rumpuser_ioctl(sc-sc_ugenfd[endpt], USB_SET_SHORT_XFER, val, error);
 	usb_transfer_complete(xfer);
 	return (USBD_IN_PROGRESS);
 }



CVS commit: src/sys/rump/dev/wip

2009-12-20 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Sun Dec 20 15:43:13 UTC 2009

Modified Files:
src/sys/rump/dev/wip: Makefile
Added Files:
src/sys/rump/dev/wip/libucom: Makefile locators.h shlib_version ucom.h
ucom_at_usb.c

Log Message:
Add u...@usb support.  This uses the uplcom hardware driver currently
(because that's the hardware I happen to have), but others can just
be plugged in if a need arises.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/wip/Makefile
cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/wip/libucom/Makefile \
src/sys/rump/dev/wip/libucom/locators.h \
src/sys/rump/dev/wip/libucom/shlib_version \
src/sys/rump/dev/wip/libucom/ucom.h \
src/sys/rump/dev/wip/libucom/ucom_at_usb.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/wip/Makefile
diff -u src/sys/rump/dev/wip/Makefile:1.1 src/sys/rump/dev/wip/Makefile:1.2
--- src/sys/rump/dev/wip/Makefile:1.1	Wed Nov 11 13:54:54 2009
+++ src/sys/rump/dev/wip/Makefile	Sun Dec 20 15:43:13 2009
@@ -1,6 +1,6 @@
-#	$NetBSD: Makefile,v 1.1 2009/11/11 13:54:54 pooka Exp $
+#	$NetBSD: Makefile,v 1.2 2009/12/20 15:43:13 pooka Exp $
 #
 
-SUBDIR=	libnet80211 librumpusbhc libumass libusb libusbrum
+SUBDIR=	libnet80211 librumpusbhc libucom libumass libusb libusbrum
 
 .include bsd.subdir.mk

Added files:

Index: src/sys/rump/dev/wip/libucom/Makefile
diff -u /dev/null src/sys/rump/dev/wip/libucom/Makefile:1.1
--- /dev/null	Sun Dec 20 15:43:13 2009
+++ src/sys/rump/dev/wip/libucom/Makefile	Sun Dec 20 15:43:13 2009
@@ -0,0 +1,16 @@
+#	$NetBSD: Makefile,v 1.1 2009/12/20 15:43:13 pooka Exp $
+#
+
+.PATH:	${.CURDIR}/../../../../dev/usb
+
+LIB=	rumpdev_ucom
+
+SRCS=	ucom.c uplcom.c
+
+SRCS+=	ucom_at_usb.c
+
+CFLAGS+=	-Wno-pointer-sign
+CPPFLAGS+=	-I${RUMPTOP}/librump/rumpvfs
+
+.include bsd.lib.mk
+.include bsd.klinks.mk
Index: src/sys/rump/dev/wip/libucom/locators.h
diff -u /dev/null src/sys/rump/dev/wip/libucom/locators.h:1.1
--- /dev/null	Sun Dec 20 15:43:13 2009
+++ src/sys/rump/dev/wip/libucom/locators.h	Sun Dec 20 15:43:13 2009
@@ -0,0 +1,7 @@
+/*	$NetBSD: locators.h,v 1.1 2009/12/20 15:43:13 pooka Exp $	*/
+
+/* locators borrowed from config.  redo properly some day */
+
+#define UCOMBUSCF_PORTNO 0
+#define UCOMBUSCF_PORTNO_DEFAULT -1
+#define UCOMBUSCF_NLOCS 1
Index: src/sys/rump/dev/wip/libucom/shlib_version
diff -u /dev/null src/sys/rump/dev/wip/libucom/shlib_version:1.1
--- /dev/null	Sun Dec 20 15:43:13 2009
+++ src/sys/rump/dev/wip/libucom/shlib_version	Sun Dec 20 15:43:13 2009
@@ -0,0 +1,4 @@
+#	$NetBSD: shlib_version,v 1.1 2009/12/20 15:43:13 pooka Exp $
+#
+major=0
+minor=0
Index: src/sys/rump/dev/wip/libucom/ucom.h
diff -u /dev/null src/sys/rump/dev/wip/libucom/ucom.h:1.1
--- /dev/null	Sun Dec 20 15:43:13 2009
+++ src/sys/rump/dev/wip/libucom/ucom.h	Sun Dec 20 15:43:13 2009
@@ -0,0 +1,3 @@
+/*	$NetBSD: ucom.h,v 1.1 2009/12/20 15:43:13 pooka Exp $	*/
+
+#define NUCOM 1
Index: src/sys/rump/dev/wip/libucom/ucom_at_usb.c
diff -u /dev/null src/sys/rump/dev/wip/libucom/ucom_at_usb.c:1.1
--- /dev/null	Sun Dec 20 15:43:13 2009
+++ src/sys/rump/dev/wip/libucom/ucom_at_usb.c	Sun Dec 20 15:43:13 2009
@@ -0,0 +1,445 @@
+/*	$NetBSD: ucom_at_usb.c,v 1.1 2009/12/20 15:43:13 pooka Exp $	*/
+
+#include sys/param.h
+#include sys/types.h
+#include sys/conf.h
+#include sys/device.h
+#include sys/kmem.h
+
+/*
+ * MACHINE GENERATED: DO NOT EDIT
+ *
+ * ioconf.c, from TESTI_ucom
+ */
+
+#include sys/param.h
+#include sys/conf.h
+#include sys/device.h
+#include sys/mount.h
+
+static const struct cfiattrdata gpibdevcf_iattrdata = {
+	gpibdev, 1,
+	{
+		{ address, -1, -1 },
+	}
+};
+static const struct cfiattrdata acpibuscf_iattrdata = {
+	acpibus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata caccf_iattrdata = {
+	cac, 1,
+	{
+		{ unit, -1, -1 },
+	}
+};
+static const struct cfiattrdata spicf_iattrdata = {
+	spi, 1,
+	{
+		{ slave, NULL, 0 },
+	}
+};
+static const struct cfiattrdata radiodevcf_iattrdata = {
+	radiodev, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata mlxcf_iattrdata = {
+	mlx, 1,
+	{
+		{ unit, -1, -1 },
+	}
+};
+static const struct cfiattrdata ucombuscf_iattrdata = {
+	ucombus, 1,
+	{
+		{ portno, -1, -1 },
+	}
+};
+static const struct cfiattrdata videobuscf_iattrdata = {
+	videobus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata isabuscf_iattrdata = {
+	isabus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata i2cbuscf_iattrdata = {
+	i2cbus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata ata_hlcf_iattrdata = {
+	ata_hl, 1,
+	{
+		{ drive, -1, -1 },
+	}
+};
+static const struct cfiattrdata depcacf_iattrdata = {
+	depca, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata ppbuscf_iattrdata = {
+	ppbus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct 

CVS commit: src/sys/rump/dev/wip

2009-12-20 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Sun Dec 20 15:43:57 UTC 2009

Modified Files:
src/sys/rump/dev/wip: Makefile

Log Message:
+libulpt


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/rump/dev/wip/Makefile

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/wip/Makefile
diff -u src/sys/rump/dev/wip/Makefile:1.2 src/sys/rump/dev/wip/Makefile:1.3
--- src/sys/rump/dev/wip/Makefile:1.2	Sun Dec 20 15:43:13 2009
+++ src/sys/rump/dev/wip/Makefile	Sun Dec 20 15:43:57 2009
@@ -1,6 +1,6 @@
-#	$NetBSD: Makefile,v 1.2 2009/12/20 15:43:13 pooka Exp $
+#	$NetBSD: Makefile,v 1.3 2009/12/20 15:43:57 pooka Exp $
 #
 
-SUBDIR=	libnet80211 librumpusbhc libucom libumass libusb libusbrum
+SUBDIR=	libnet80211 librumpusbhc libucom libumass libulpt libusb libusbrum
 
 .include bsd.subdir.mk



CVS commit: src/sys/rump/dev/wip/libucom

2009-12-20 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Sun Dec 20 19:44:21 UTC 2009

Modified Files:
src/sys/rump/dev/wip/libucom: Makefile ucom_at_usb.c

Log Message:
Include tty driver here for now to make this usable.  Will disappear
from here later when I figure out the proper place.
(I'd commit it as a separate component, but I can't figure out how
to classify it, since it's logically none of vfs/net/dev)


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/wip/libucom/Makefile \
src/sys/rump/dev/wip/libucom/ucom_at_usb.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/wip/libucom/Makefile
diff -u src/sys/rump/dev/wip/libucom/Makefile:1.1 src/sys/rump/dev/wip/libucom/Makefile:1.2
--- src/sys/rump/dev/wip/libucom/Makefile:1.1	Sun Dec 20 15:43:13 2009
+++ src/sys/rump/dev/wip/libucom/Makefile	Sun Dec 20 19:44:21 2009
@@ -1,13 +1,14 @@
-#	$NetBSD: Makefile,v 1.1 2009/12/20 15:43:13 pooka Exp $
+#	$NetBSD: Makefile,v 1.2 2009/12/20 19:44:21 pooka Exp $
 #
 
-.PATH:	${.CURDIR}/../../../../dev/usb
+.PATH:	${.CURDIR}/../../../../dev/usb ${.CURDIR}/../../../../kern
 
 LIB=	rumpdev_ucom
 
 SRCS=	ucom.c uplcom.c
 
 SRCS+=	ucom_at_usb.c
+SRCS+=	tty.c tty_conf.c tty_tty.c tty_subr.c
 
 CFLAGS+=	-Wno-pointer-sign
 CPPFLAGS+=	-I${RUMPTOP}/librump/rumpvfs
Index: src/sys/rump/dev/wip/libucom/ucom_at_usb.c
diff -u src/sys/rump/dev/wip/libucom/ucom_at_usb.c:1.1 src/sys/rump/dev/wip/libucom/ucom_at_usb.c:1.2
--- src/sys/rump/dev/wip/libucom/ucom_at_usb.c:1.1	Sun Dec 20 15:43:13 2009
+++ src/sys/rump/dev/wip/libucom/ucom_at_usb.c	Sun Dec 20 19:44:21 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: ucom_at_usb.c,v 1.1 2009/12/20 15:43:13 pooka Exp $	*/
+/*	$NetBSD: ucom_at_usb.c,v 1.2 2009/12/20 19:44:21 pooka Exp $	*/
 
 #include sys/param.h
 #include sys/types.h
@@ -412,6 +412,8 @@
 		panic(\%s\ failed, #call);\
 } while (/*CONSTCOND*/0)
 
+void tty_init(void);
+
 void
 rump_device_configuration(void)
 {
@@ -442,4 +444,6 @@
 	cmaj, 0, 1));
 	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, /dev/dtyU, '0',
 	cmaj, 0x8, 1));
+
+	tty_init();
 }



CVS commit: src/sys/rump/dev/wip/libusb

2009-12-19 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Sat Dec 19 11:29:26 UTC 2009

Modified Files:
src/sys/rump/dev/wip/libusb: locators.h

Log Message:
purge some stuff not used by this component anymore


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/wip/libusb/locators.h

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/wip/libusb/locators.h
diff -u src/sys/rump/dev/wip/libusb/locators.h:1.1 src/sys/rump/dev/wip/libusb/locators.h:1.2
--- src/sys/rump/dev/wip/libusb/locators.h:1.1	Thu Oct  1 21:46:31 2009
+++ src/sys/rump/dev/wip/libusb/locators.h	Sat Dec 19 11:29:26 2009
@@ -1,12 +1,7 @@
-/*	$NetBSD: locators.h,v 1.1 2009/10/01 21:46:31 pooka Exp $	*/
+/*	$NetBSD: locators.h,v 1.2 2009/12/19 11:29:26 pooka Exp $	*/
 
 /* locators borrowed from config.  redo properly some day */
 
-#define SCSIBUSCF_TARGET 0
-#define SCSIBUSCF_TARGET_DEFAULT -1
-#define SCSIBUSCF_LUN 1
-#define SCSIBUSCF_LUN_DEFAULT -1
-#define SCSIBUSCF_NLOCS 2
 #define USBIFIFCF_PORT 0
 #define USBIFIFCF_PORT_DEFAULT -1
 #define USBIFIFCF_CONFIGURATION 1
@@ -33,6 +28,3 @@
 #define USBDEVIFCF_RELEASE 5
 #define USBDEVIFCF_RELEASE_DEFAULT -1
 #define USBDEVIFCF_NLOCS 6
-#define SCSICF_CHANNEL 0
-#define SCSICF_CHANNEL_DEFAULT -1
-#define SCSICF_NLOCS 1



CVS commit: src/sys/rump/dev/wip/libusb/opt

2009-12-19 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Sat Dec 19 11:48:17 UTC 2009

Modified Files:
src/sys/rump/dev/wip/libusb/opt: opt_usbverbose.h

Log Message:
define USBVERBOSE


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/wip/libusb/opt/opt_usbverbose.h

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/wip/libusb/opt/opt_usbverbose.h
diff -u src/sys/rump/dev/wip/libusb/opt/opt_usbverbose.h:1.1 src/sys/rump/dev/wip/libusb/opt/opt_usbverbose.h:1.2
--- src/sys/rump/dev/wip/libusb/opt/opt_usbverbose.h:1.1	Thu Oct  1 21:46:31 2009
+++ src/sys/rump/dev/wip/libusb/opt/opt_usbverbose.h	Sat Dec 19 11:48:17 2009
@@ -1 +1,3 @@
-/*	$NetBSD: opt_usbverbose.h,v 1.1 2009/10/01 21:46:31 pooka Exp $	*/
+/*	$NetBSD: opt_usbverbose.h,v 1.2 2009/12/19 11:48:17 pooka Exp $	*/
+
+#define USBVERBOSE



CVS commit: src/sys/rump/dev/wip/libusb/opt

2009-12-19 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Sat Dec 19 11:48:30 UTC 2009

Removed Files:
src/sys/rump/dev/wip/libusb/opt: ohci.h uhci.h

Log Message:
get rid of unnecessary headers


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r0 src/sys/rump/dev/wip/libusb/opt/ohci.h \
src/sys/rump/dev/wip/libusb/opt/uhci.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/sys/rump/dev/wip/libumass

2009-12-19 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Sat Dec 19 11:55:23 UTC 2009

Modified Files:
src/sys/rump/dev/wip/libumass: sd_at_scsibus_at_umass.c

Log Message:
Replace totally handwritten ioconf.c with only a semi handwritten
one, partially now generated with config(1).


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.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/wip/libumass/sd_at_scsibus_at_umass.c
diff -u src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.4 src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.5
--- src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.4	Fri Dec  4 17:37:05 2009
+++ src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c	Sat Dec 19 11:55:23 2009
@@ -1,126 +1,464 @@
-/*	$NetBSD: sd_at_scsibus_at_umass.c,v 1.4 2009/12/04 17:37:05 pooka Exp $	*/
-
-#include sys/param.h
-#include sys/conf.h
-#include sys/device.h
-#include sys/kmem.h
-#include sys/stat.h
+/*	$NetBSD: sd_at_scsibus_at_umass.c,v 1.5 2009/12/19 11:55:23 pooka Exp $	*/
 
 /*
- * sd @ scsibus @ umass @ usb
+ * MACHINE GENERATED: DO NOT EDIT
  *
- * handwritten device configuration 'nuf said
+ * ioconf.c, from the following config:
+ *
+ * === SNIP ===
+
+include conf/files
+include dev/usb/files.usb
+include dev/scsipi/files.scsipi
+
+device mainbus { }
+attach mainbus at root
+device rumpusbhc: usbus, usbroothub
+attach rumpusbhc at mainbus
+
+mainbus0 at root
+rumpusbhc* at mainbus0
+
+# USB bus support
+usb*at rumpusbhc?
+
+# USB Hubs
+uhub*   at usb?
+uhub*   at uhub? port ?
+
+# USB Mass Storage
+umass*  at uhub? port ? configuration ? interface ?
+scsibus* at scsi?
+sd* at scsibus? target ? lun ?
+
+ * === UNSNIP ===
  */
 
-static const struct cfiattrdata scsicf_iattrdata = {
-	scsi, 1, {
-		{ channel, -1, -1 },
+#include sys/param.h
+#include sys/conf.h
+#include sys/device.h
+#include sys/mount.h
+
+static const struct cfiattrdata gpibdevcf_iattrdata = {
+	gpibdev, 1,
+	{
+		{ address, -1, -1 },
+	}
+};
+static const struct cfiattrdata acpibuscf_iattrdata = {
+	acpibus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata caccf_iattrdata = {
+	cac, 1,
+	{
+		{ unit, -1, -1 },
+	}
+};
+static const struct cfiattrdata spicf_iattrdata = {
+	spi, 1,
+	{
+		{ slave, NULL, 0 },
+	}
+};
+static const struct cfiattrdata radiodevcf_iattrdata = {
+	radiodev, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata mlxcf_iattrdata = {
+	mlx, 1,
+	{
+		{ unit, -1, -1 },
 	}
 };
 static const struct cfiattrdata scsibuscf_iattrdata = {
-	scsibus, 0, {
-		{ NULL, NULL, 0},
+	scsibus, 2,
+	{
+		{ target, -1, -1 },
+		{ lun, -1, -1 },
 	}
 };
-static const struct cfiattrdata *const scsibuscf_attrs[] = {
-	scsibuscf_iattrdata,
-	NULL,
+static const struct cfiattrdata ucombuscf_iattrdata = {
+	ucombus, 1,
+	{
+		{ portno, -1, -1 },
+	}
 };
-CFDRIVER_DECL(scsibus, DV_DULL, scsibuscf_attrs);
-CFDRIVER_DECL(sd, DV_DISK, NULL);
-
-static const struct cfiattrdata uroothub_iattrdata = {
+static const struct cfiattrdata videobuscf_iattrdata = {
+	videobus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata isabuscf_iattrdata = {
+	isabus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata i2cbuscf_iattrdata = {
+	i2cbus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata ata_hlcf_iattrdata = {
+	ata_hl, 1,
+	{
+		{ drive, -1, -1 },
+	}
+};
+static const struct cfiattrdata depcacf_iattrdata = {
+	depca, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata ppbuscf_iattrdata = {
+	ppbus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata eisabuscf_iattrdata = {
+	eisabus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata atapicf_iattrdata = {
+	atapi, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata atapibuscf_iattrdata = {
+	atapibus, 1,
+	{
+		{ drive, -1, -1 },
+	}
+};
+static const struct cfiattrdata usbroothubifcf_iattrdata = {
 	usbroothubif, 0, {
 		{ NULL, NULL, 0 },
 	}
 };
-static const struct cfiattrdata *const usb_attrs[] = {
-	uroothub_iattrdata,
-	NULL,
+static const struct cfiattrdata altmemdevcf_iattrdata = {
+	altmemdev, 0, {
+		{ NULL, NULL, 0 },
+	}
 };
-CFDRIVER_DECL(usb, DV_DULL, usb_attrs);
-
-static const struct cfiattrdata usbdevif_iattrdata = {
-	usbdevif, 0, {
+static const struct cfiattrdata tcbuscf_iattrdata = {
+	tcbus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata onewirebuscf_iattrdata = {
+	onewirebus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata gpiocf_iattrdata = {
+	gpio, 2,
+	{
+		{ offset, -1, -1 },
+		{ mask, 0, 0 },
+	}
+};
+static const struct cfiattrdata cbbuscf_iattrdata = {
+	cbbus, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata gpiobuscf_iattrdata = {
+	

CVS commit: src/sys/rump/dev/wip/librumpusbhc

2009-12-15 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Tue Dec 15 15:50:38 UTC 2009

Modified Files:
src/sys/rump/dev/wip/librumpusbhc: rumpusbhc.c

Log Message:
Support more stuff, e.g. mapping alternate interface setting to the
correct ugen ioctl.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.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/wip/librumpusbhc/rumpusbhc.c
diff -u src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.8 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.9
--- src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.8	Wed Oct 14 23:29:42 2009
+++ src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c	Tue Dec 15 15:50:37 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumpusbhc.c,v 1.8 2009/10/14 23:29:42 pooka Exp $	*/
+/*	$NetBSD: rumpusbhc.c,v 1.9 2009/12/15 15:50:37 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -61,7 +61,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: rumpusbhc.c,v 1.8 2009/10/14 23:29:42 pooka Exp $);
+__KERNEL_RCSID(0, $NetBSD: rumpusbhc.c,v 1.9 2009/12/15 15:50:37 pooka Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -200,7 +200,7 @@
 	usb_device_request_t *req = xfer-request;
 	struct rumpusbhc_softc *sc = xfer-pipe-device-bus-hci_private;
 	int len, totlen, value, curlen, err;
-	uint8_t *buf;
+	uint8_t *buf = NULL;
 
 	len = totlen = UGETW(req-wLength);
 	if (len)
@@ -385,7 +385,7 @@
 {
 	usb_device_request_t *req = xfer-request;
 	struct rumpusbhc_softc *sc = xfer-pipe-device-bus-hci_private;
-	uint8_t *buf;
+	uint8_t *buf = NULL;
 	int len, totlen;
 	int value;
 	int err = 0;
@@ -465,17 +465,25 @@
 		break;
 
 	case C(UR_SET_CONFIG, UT_WRITE_DEVICE):
-		/* ignored, ugen won't let us */
+		/* ignored, ugen won't let us  REALLY? */
 		break;
 
-	case C(UR_SET_INTERFACE, UT_WRITE_DEVICE):
-		/* ignored, ugen won't let us */
-		break;
+	case C(UR_SET_INTERFACE, UT_WRITE_INTERFACE):
+		{
+		struct usb_alt_interface uai;
 
-	case C(UR_CLEAR_FEATURE, UT_WRITE_ENDPOINT):
-		printf(clear feature UNIMPL\n);
 		totlen = 0;
+		uai.uai_interface_index = UGETW(req-wIndex);
+		uai.uai_alt_no = value;
+		if (rumpuser_ioctl(sc-sc_ugenfd[UGEN_EPT_CTRL],
+		USB_SET_ALTINTERFACE, uai, ru_error) == -1) {
+			printf(rumpusbhc: set alt interface failed: %d\n,
+			ru_error);
+			err = USBD_IOERROR;
+			goto ret;
+		}
 		break;
+		}
 
 	/*
 	 * XXX: don't wildcard these yet.  I want to better figure
@@ -486,7 +494,14 @@
 	case C(0x07, UT_READ_VENDOR_DEVICE):
 	case C(0x09, UT_READ_VENDOR_DEVICE):
 	case C(0xfe, UT_READ_CLASS_INTERFACE):
+	case C(0x01, UT_READ_CLASS_INTERFACE):
+	case C(UR_GET_STATUS, UT_READ_CLASS_OTHER):
+	case C(UR_GET_STATUS, UT_READ_CLASS_DEVICE):
+	case C(UR_GET_DESCRIPTOR, UT_READ_CLASS_DEVICE):
 	case C(0xff, UT_WRITE_CLASS_INTERFACE):
+	case C(UR_SET_FEATURE, UT_WRITE_CLASS_OTHER):
+	case C(UR_CLEAR_FEATURE, UT_WRITE_CLASS_OTHER):
+	case C(UR_CLEAR_FEATURE, UT_WRITE_ENDPOINT):
 		{
 		struct usb_ctl_request ucr;
 
@@ -557,21 +572,40 @@
 	.done =		rumpusb_device_ctrl_done,
 };
 
-static usbd_xfer_handle daintr;
+struct intrent {
+	usbd_xfer_handle xfer;
+	LIST_ENTRY(intrent) entries;
+};
+
+static LIST_HEAD(, intrent) intrlist = LIST_HEAD_INITIALIZER(intrlist);
+
 static void
 rhscintr(void)
 {
+	struct intrent *ie, *ie_next;
+	usbd_xfer_handle xfer;
 
-	daintr-actlen = daintr-length;
-	daintr-status = USBD_NORMAL_COMPLETION;
-	usb_transfer_complete(daintr);
+	for (ie = LIST_FIRST(intrlist); ie; ie = ie_next) {
+		xfer = ie-xfer;
+		xfer-actlen = xfer-length;
+		xfer-status = USBD_NORMAL_COMPLETION;
+		usb_transfer_complete(xfer);
+
+		ie_next = LIST_NEXT(ie, entries);
+		LIST_REMOVE(ie, entries);
+		kmem_free(ie, sizeof(*ie));
+	}
 }
 
 static usbd_status
 rumpusb_root_intr_start(usbd_xfer_handle xfer)
 {
+	struct intrent *ie;
+
+	ie = kmem_alloc(sizeof(*ie), KM_SLEEP);
+	ie-xfer = xfer;
+	LIST_INSERT_HEAD(intrlist, ie, entries);
 
-	daintr = xfer;
 	return (USBD_IN_PROGRESS);
 }
 
@@ -748,6 +782,15 @@
 	.done =		rumpusb_device_bulk_done,
 };
 
+static const struct usbd_pipe_methods rumpusb_device_intr_methods = {
+	.transfer =	rumpusb_root_intr_transfer,
+	.start =	rumpusb_root_intr_start,
+	.abort =	rumpusb_root_intr_abort,
+	.close =	rumpusb_root_intr_close,
+	.cleartoggle =	rumpusb_root_intr_cleartoggle,
+	.done =		rumpusb_root_intr_done,
+};
+
 static usbd_status
 rumpusbhc_open(struct usbd_pipe *pipe)
 {
@@ -761,7 +804,7 @@
 	int fd, val;
 
 	sc-sc_port_status = UPS_CURRENT_CONNECT_STATUS
-	| UPS_PORT_ENABLED | UPS_PORT_POWER | UPS_HIGH_SPEED;
+	| UPS_PORT_ENABLED | UPS_PORT_POWER;
 	sc-sc_port_change = UPS_C_CONNECT_STATUS;
 
 	if (addr == sc-sc_addr) {
@@ -782,6 +825,7 @@
 			pipe-methods = rumpusb_device_ctrl_methods;
 			break;
 		case UE_BULK:
+		case UE_INTERRUPT:
 			endpt = pipe-endpoint-edesc-bEndpointAddress;
 			if 

CVS commit: src/sys/rump/dev/wip/libumass

2009-12-04 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Fri Dec  4 17:37:05 UTC 2009

Modified Files:
src/sys/rump/dev/wip/libumass: sd_at_scsibus_at_umass.c

Log Message:
Attach u...@uhub (in addition to u...@roothub, which was already there).


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.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/wip/libumass/sd_at_scsibus_at_umass.c
diff -u src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.3 src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.4
--- src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.3	Thu Dec  3 15:07:09 2009
+++ src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c	Fri Dec  4 17:37:05 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: sd_at_scsibus_at_umass.c,v 1.3 2009/12/03 15:07:09 pooka Exp $	*/
+/*	$NetBSD: sd_at_scsibus_at_umass.c,v 1.4 2009/12/04 17:37:05 pooka Exp $	*/
 
 #include sys/param.h
 #include sys/conf.h
@@ -79,8 +79,15 @@
 	DVUNIT_ANY
 };
 
+struct cfparent usbdevif_pspec = {
+	usbdevif,
+	uhub,
+	DVUNIT_ANY
+};
+
 struct cfdata uhub_cfdata[] = {
 	{ uhub, uroothub, 0, FSTATE_STAR, NULL, 0, usb_pspec },
+	{ uhub, uhub, 0, FSTATE_STAR, NULL, 0, usbdevif_pspec },
 };
 
 struct cfparent usbifif_pspec = {



CVS commit: src/sys/rump/dev/wip/libumass

2009-12-03 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Thu Dec  3 15:07:09 UTC 2009

Modified Files:
src/sys/rump/dev/wip/libumass: sd_at_scsibus_at_umass.c

Log Message:
one more path adjustment for rump_vfs_makedevnodes() change


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.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/wip/libumass/sd_at_scsibus_at_umass.c
diff -u src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.2 src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.3
--- src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.2	Mon Oct  5 08:34:53 2009
+++ src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c	Thu Dec  3 15:07:09 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: sd_at_scsibus_at_umass.c,v 1.2 2009/10/05 08:34:53 pooka Exp $	*/
+/*	$NetBSD: sd_at_scsibus_at_umass.c,v 1.3 2009/12/03 15:07:09 pooka Exp $	*/
 
 #include sys/param.h
 #include sys/conf.h
@@ -159,5 +159,6 @@
 	bmaj = cmaj = -1;
 	FLAWLESSCALL(devsw_attach(sd, sd_bdevsw, bmaj, sd_cdevsw, cmaj));
 
-	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFBLK, sd0, 'a', bmaj, 0, 8));
+	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFBLK, /dev/sd0, 'a',
+	bmaj, 0, 8));
 }



CVS commit: src/sys/rump/dev/wip

2009-11-11 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Wed Nov 11 13:54:54 UTC 2009

Added Files:
src/sys/rump/dev/wip: Makefile

Log Message:
Give this a makefile for easy rebuild of all the components when
the kernel ABI changes.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/wip/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/sys/rump/dev/wip/Makefile
diff -u /dev/null src/sys/rump/dev/wip/Makefile:1.1
--- /dev/null	Wed Nov 11 13:54:54 2009
+++ src/sys/rump/dev/wip/Makefile	Wed Nov 11 13:54:54 2009
@@ -0,0 +1,6 @@
+#	$NetBSD: Makefile,v 1.1 2009/11/11 13:54:54 pooka Exp $
+#
+
+SUBDIR=	libnet80211 librumpusbhc libumass libusb libusbrum
+
+.include bsd.subdir.mk



CVS commit: src/sys/rump/dev/wip/librumpusbhc

2009-10-14 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Wed Oct 14 23:29:42 UTC 2009

Modified Files:
src/sys/rump/dev/wip/librumpusbhc: rumpusbhc.c

Log Message:
whoops, restore probing of ugen{0..3} instead of just ugen2


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.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/wip/librumpusbhc/rumpusbhc.c
diff -u src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.7 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.8
--- src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.7	Tue Oct 13 18:36:48 2009
+++ src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c	Wed Oct 14 23:29:42 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumpusbhc.c,v 1.7 2009/10/13 18:36:48 pooka Exp $	*/
+/*	$NetBSD: rumpusbhc.c,v 1.8 2009/10/14 23:29:42 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -61,7 +61,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: rumpusbhc.c,v 1.7 2009/10/13 18:36:48 pooka Exp $);
+__KERNEL_RCSID(0, $NetBSD: rumpusbhc.c,v 1.8 2009/10/14 23:29:42 pooka Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -130,12 +130,10 @@
 
 /* probe ugen0 through ugen3 */
 struct cfdata rumpusbhc_cfdata[] = {
-#if 0
 	{ rumpusbhc, rumpusbhc, 0, FSTATE_NOTFOUND, NULL, 0, rumpusbhcpar},
 	{ rumpusbhc, rumpusbhc, 1, FSTATE_NOTFOUND, NULL, 0, rumpusbhcpar},
-	{ rumpusbhc, rumpusbhc, 3, FSTATE_NOTFOUND, NULL, 0, rumpusbhcpar},
-#endif
 	{ rumpusbhc, rumpusbhc, 2, FSTATE_NOTFOUND, NULL, 0, rumpusbhcpar},
+	{ rumpusbhc, rumpusbhc, 3, FSTATE_NOTFOUND, NULL, 0, rumpusbhcpar},
 };
 
 #define UGENDEV_BASESTR /dev/ugen



CVS commit: src/sys/rump/dev/wip/libumass

2009-10-05 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Mon Oct  5 08:34:54 UTC 2009

Modified Files:
src/sys/rump/dev/wip/libumass: Makefile sd_at_scsibus_at_umass.c

Log Message:
Attach sd to devsw and create /dev/sd0[a-h].


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/wip/libumass/Makefile \
src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.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/wip/libumass/Makefile
diff -u src/sys/rump/dev/wip/libumass/Makefile:1.1 src/sys/rump/dev/wip/libumass/Makefile:1.2
--- src/sys/rump/dev/wip/libumass/Makefile:1.1	Thu Oct  1 21:46:30 2009
+++ src/sys/rump/dev/wip/libumass/Makefile	Mon Oct  5 08:34:53 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.1 2009/10/01 21:46:30 pooka Exp $
+#	$NetBSD: Makefile,v 1.2 2009/10/05 08:34:53 pooka Exp $
 #
 #
 # umass.  includes scsibus+sd for simplicity due to the umass code
@@ -15,7 +15,7 @@
 SRCS+=	sd_at_scsibus_at_umass.c
 
 CFLAGS+=	-Wno-pointer-sign
-CPPFLAGS+=	-I${.CURDIR}/opt
+CPPFLAGS+=	-I${.CURDIR}/opt -I${RUMPTOP}/librump/rumpvfs
 
 .include bsd.lib.mk
 .include bsd.klinks.mk
Index: src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c
diff -u src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.1 src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.2
--- src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.1	Thu Oct  1 21:46:30 2009
+++ src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c	Mon Oct  5 08:34:53 2009
@@ -1,10 +1,10 @@
-/*	$NetBSD: sd_at_scsibus_at_umass.c,v 1.1 2009/10/01 21:46:30 pooka Exp $	*/
+/*	$NetBSD: sd_at_scsibus_at_umass.c,v 1.2 2009/10/05 08:34:53 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
 
 /*
  * sd @ scsibus @ umass @ usb
@@ -116,6 +116,7 @@
 };
 
 #include rump_dev_private.h
+#include rump_vfs_private.h
 
 #define FLAWLESSCALL(call)		\
 do {	\
@@ -129,6 +130,9 @@
 {
 	extern struct cfattach usb_ca, uhub_ca, uroothub_ca, umass_ca;
 	extern struct cfattach scsibus_ca, sd_ca;
+	extern struct bdevsw sd_bdevsw;
+	extern struct cdevsw sd_cdevsw;
+	devmajor_t bmaj, cmaj;
 
 	FLAWLESSCALL(config_cfdriver_attach(usb_cd));
 	FLAWLESSCALL(config_cfattach_attach(usb, usb_ca));
@@ -151,4 +155,9 @@
 	FLAWLESSCALL(config_cfdata_attach(sd_cfdata, 0));
 
 	FLAWLESSCALL(config_cfattach_attach(uhub, uroothub_ca));
+
+	bmaj = cmaj = -1;
+	FLAWLESSCALL(devsw_attach(sd, sd_bdevsw, bmaj, sd_cdevsw, cmaj));
+
+	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFBLK, sd0, 'a', bmaj, 0, 8));
 }



CVS commit: src/sys/rump/dev/wip/libnet80211

2009-10-04 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Sun Oct  4 10:40:40 UTC 2009

Added Files:
src/sys/rump/dev/wip/libnet80211: Makefile shlib_version

Log Message:
Support net80211 in rump (for wireless device drivers, therefore in dev)


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/wip/libnet80211/Makefile \
src/sys/rump/dev/wip/libnet80211/shlib_version

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/sys/rump/dev/wip/libnet80211/Makefile
diff -u /dev/null src/sys/rump/dev/wip/libnet80211/Makefile:1.1
--- /dev/null	Sun Oct  4 10:40:40 2009
+++ src/sys/rump/dev/wip/libnet80211/Makefile	Sun Oct  4 10:40:40 2009
@@ -0,0 +1,19 @@
+#	$NetBSD: Makefile,v 1.1 2009/10/04 10:40:40 pooka Exp $
+#
+
+.PATH:	${.CURDIR}/../../../../net80211
+
+LIB=	rumpdev_net80211
+
+SRCS=   ieee80211.c ieee80211_acl.c ieee80211_amrr.c ieee80211_crypto.c	\
+	ieee80211_crypto_ccmp.c ieee80211_crypto_none.c			\
+	ieee80211_crypto_tkip.c ieee80211_crypto_wep.c ieee80211_input.c\
+	ieee80211_ioctl.c ieee80211_netbsd.c ieee80211_node.c		\
+	ieee80211_output.c ieee80211_proto.c ieee80211_rssadapt.c	\
+	ieee80211_xauth.c
+
+CFLAGS+=	-Wno-pointer-sign
+CPPFLAGS+=	-I${.CURDIR}/opt -I${RUMPTOP}/librump/rumpnet/opt
+
+.include bsd.lib.mk
+.include bsd.klinks.mk
Index: src/sys/rump/dev/wip/libnet80211/shlib_version
diff -u /dev/null src/sys/rump/dev/wip/libnet80211/shlib_version:1.1
--- /dev/null	Sun Oct  4 10:40:40 2009
+++ src/sys/rump/dev/wip/libnet80211/shlib_version	Sun Oct  4 10:40:40 2009
@@ -0,0 +1,4 @@
+#	$NetBSD: shlib_version,v 1.1 2009/10/04 10:40:40 pooka Exp $
+#
+major=0
+minor=0



CVS commit: src/sys/rump/dev/wip/libusbrum

2009-10-04 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Sun Oct  4 10:43:03 UTC 2009

Added Files:
src/sys/rump/dev/wip/libusbrum: Makefile rum_at_usb.c shlib_version

Log Message:
Support r...@usb.  Currently manages to configure and attach:

pain-rustique:66:~ ./rumpusbprobe
mainbus0 (root)
rumpusbhc2 at mainbus0
usb0 at rumpusbhc2: USB revision 2.0
uhub0 at usb0: vendor 0x product 0x, class 9/0, rev 0.00/0.00, addr 1
rum0 at uhub0 port 1
rum0: D-Link DWA-111, rev 2.00/0.01, addr 2
rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528, address 00:24:01:31:98:9a
rum0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
rum0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 
36Mbps 48Mbps 54Mbps


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/wip/libusbrum/Makefile \
src/sys/rump/dev/wip/libusbrum/rum_at_usb.c \
src/sys/rump/dev/wip/libusbrum/shlib_version

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/sys/rump/dev/wip/libusbrum/Makefile
diff -u /dev/null src/sys/rump/dev/wip/libusbrum/Makefile:1.1
--- /dev/null	Sun Oct  4 10:43:03 2009
+++ src/sys/rump/dev/wip/libusbrum/Makefile	Sun Oct  4 10:43:03 2009
@@ -0,0 +1,16 @@
+#	$NetBSD: Makefile,v 1.1 2009/10/04 10:43:03 pooka Exp $
+#
+
+.PATH:	${.CURDIR}/../../../../dev/usb
+
+LIB=	rumpdev_usbrum
+
+SRCS=   if_rum.c
+
+SRCS+=	rum_at_usb.c
+
+CFLAGS+=	-Wno-pointer-sign
+CPPFLAGS+=	-I${.CURDIR}/opt -I${RUMPTOP}/librump/rumpnet/opt
+
+.include bsd.lib.mk
+.include bsd.klinks.mk
Index: src/sys/rump/dev/wip/libusbrum/rum_at_usb.c
diff -u /dev/null src/sys/rump/dev/wip/libusbrum/rum_at_usb.c:1.1
--- /dev/null	Sun Oct  4 10:43:03 2009
+++ src/sys/rump/dev/wip/libusbrum/rum_at_usb.c	Sun Oct  4 10:43:03 2009
@@ -0,0 +1,108 @@
+/*	$NetBSD: rum_at_usb.c,v 1.1 2009/10/04 10:43:03 pooka Exp $	*/
+
+#include sys/param.h
+#include sys/types.h
+#include sys/conf.h
+#include sys/device.h
+#include sys/kmem.h
+
+/*
+ * rum @ usb
+ *
+ * handwritten device configuration 'nuf said
+ */
+
+static const struct cfiattrdata uroothub_iattrdata = {
+	usbroothubif, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata *const usb_attrs[] = {
+	uroothub_iattrdata,
+	NULL,
+};
+CFDRIVER_DECL(usb, DV_DULL, usb_attrs);
+
+static const struct cfiattrdata usbdevif_iattrdata = {
+	usbdevif, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata usbifif_iattrdata = {
+	usbifif, 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata *const uhub_attrs[] = {
+	usbdevif_iattrdata,
+	usbifif_iattrdata,
+	NULL,
+};
+CFDRIVER_DECL(uhub, DV_DULL, uhub_attrs);
+
+CFDRIVER_DECL(rum, DV_IFNET, NULL);
+
+struct cfparent rumpusbhc_pspec = {
+	usbus,
+	rumpusbhc,
+	DVUNIT_ANY
+};
+
+struct cfdata usb_cfdata[] = {
+	{ usb, usb, 0, FSTATE_STAR, NULL, 0, rumpusbhc_pspec },
+};
+
+struct cfparent usb_pspec = {
+	usbroothubif,
+	usb,
+	DVUNIT_ANY
+};
+
+struct cfdata uhub_cfdata[] = {
+	{ uhub, uroothub, 0, FSTATE_STAR, NULL, 0, usb_pspec },
+};
+
+struct cfparent usbifif_pspec = {
+	usbifif,
+	uhub,
+	DVUNIT_ANY
+};
+
+struct cfparent usbdevif_pspec = {
+	usbdevif,
+	uhub,
+	DVUNIT_ANY
+};
+
+struct cfdata rum_cfdata[] = {
+	{ rum, rum, 0, FSTATE_STAR, NULL, 0, usbdevif_pspec },
+};
+
+#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
+rump_device_configuration(void)
+{
+	extern struct cfattach usb_ca, uhub_ca, uroothub_ca, rum_ca;
+
+	FLAWLESSCALL(config_cfdriver_attach(usb_cd));
+	FLAWLESSCALL(config_cfattach_attach(usb, usb_ca));
+	FLAWLESSCALL(config_cfdata_attach(usb_cfdata, 0));
+
+	FLAWLESSCALL(config_cfdriver_attach(uhub_cd));
+	FLAWLESSCALL(config_cfattach_attach(uhub, uhub_ca));
+	FLAWLESSCALL(config_cfdata_attach(uhub_cfdata, 0));
+
+	FLAWLESSCALL(config_cfdriver_attach(rum_cd));
+	FLAWLESSCALL(config_cfattach_attach(rum, rum_ca));
+	FLAWLESSCALL(config_cfdata_attach(rum_cfdata, 0));
+
+	FLAWLESSCALL(config_cfattach_attach(uhub, uroothub_ca));
+}
Index: src/sys/rump/dev/wip/libusbrum/shlib_version
diff -u /dev/null src/sys/rump/dev/wip/libusbrum/shlib_version:1.1
--- /dev/null	Sun Oct  4 10:43:03 2009
+++ src/sys/rump/dev/wip/libusbrum/shlib_version	Sun Oct  4 10:43:03 2009
@@ -0,0 +1,4 @@
+#	$NetBSD: shlib_version,v 1.1 2009/10/04 10:43:03 pooka Exp $
+#
+major=0
+minor=0



CVS commit: src/sys/rump/dev/wip/librumpusbhc

2009-10-04 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Sun Oct  4 17:46:58 UTC 2009

Modified Files:
src/sys/rump/dev/wip/librumpusbhc: rumpusbhc.c

Log Message:
* pass a few write requests through to the device.
* drop async transfer requests on the floor (no, this does not make
  anything work, but it's the easiest way to prevent a receive pipe
  transfer request from hanging everything.  one tiny bugstep at a time ...)


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.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/wip/librumpusbhc/rumpusbhc.c
diff -u src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.4 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.5
--- src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.4	Sun Oct  4 10:44:31 2009
+++ src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c	Sun Oct  4 17:46:58 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumpusbhc.c,v 1.4 2009/10/04 10:44:31 pooka Exp $	*/
+/*	$NetBSD: rumpusbhc.c,v 1.5 2009/10/04 17:46:58 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -61,7 +61,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: rumpusbhc.c,v 1.4 2009/10/04 10:44:31 pooka Exp $);
+__KERNEL_RCSID(0, $NetBSD: rumpusbhc.c,v 1.5 2009/10/04 17:46:58 pooka Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -476,6 +476,8 @@
 	 * XXX: don't wildcard these yet.  I want to better figure
 	 * out what to trap here
 	 */
+	case C(0x01, UT_WRITE_VENDOR_DEVICE):
+	case C(0x06, UT_WRITE_VENDOR_DEVICE):
 	case C(0x07, UT_READ_VENDOR_DEVICE):
 	case C(0x09, UT_READ_VENDOR_DEVICE):
 		{
@@ -650,6 +652,12 @@
 {
 	usbd_status err;
 
+	/* XXX: lie about supporting async transfers */
+	if ((xfer-flags  USBD_SYNCHRONOUS) == 0) {
+		printf(rumpusbhc does not support async transfers. LIAR!\n);
+		return USBD_IN_PROGRESS;
+	}
+
 	err = usb_insert_transfer(xfer);
 	if (err)
 		return (err);



CVS commit: src/sys/rump/dev/wip/librumpusbhc

2009-10-03 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Sat Oct  3 19:07:33 UTC 2009

Modified Files:
src/sys/rump/dev/wip/librumpusbhc: rumpusbhc.c

Log Message:
probe and attach ugen0 through ugen3


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.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/wip/librumpusbhc/rumpusbhc.c
diff -u src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.1 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.2
--- src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.1	Fri Oct  2 15:35:46 2009
+++ src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c	Sat Oct  3 19:07:33 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumpusbhc.c,v 1.1 2009/10/02 15:35:46 pooka Exp $	*/
+/*	$NetBSD: rumpusbhc.c,v 1.2 2009/10/03 19:07:33 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -60,11 +60,8 @@
  * It's still somewhat under the hammer 
  */
 
-/* hardcoded /dev/ugenN for now */
-#define UGENDEV 2
-
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: rumpusbhc.c,v 1.1 2009/10/02 15:35:46 pooka Exp $);
+__KERNEL_RCSID(0, $NetBSD: rumpusbhc.c,v 1.2 2009/10/03 19:07:33 pooka Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -109,11 +106,11 @@
 	NULL,
 };
 
-static int	rumpusbhc_match(struct device *, struct cfdata *, void *);
+static int	rumpusbhc_probe(struct device *, struct cfdata *, void *);
 static void	rumpusbhc_attach(struct device *, struct device *, void *);
 
 CFATTACH_DECL_NEW(rumpusbhc, sizeof(struct rumpusbhc_softc),
-	rumpusbhc_match, rumpusbhc_attach, NULL, NULL);
+	rumpusbhc_probe, rumpusbhc_attach, NULL, NULL);
 CFDRIVER_DECL(rumpusbhc, DV_DULL, rumpusbhc_attrs);
 
 struct cfparent rumpusbhcpar = {
@@ -122,18 +119,22 @@
 	DVUNIT_ANY
 };
 
+/* probe ugen0 through ugen3 */
 struct cfdata rumpusbhc_cfdata[] = {
-	{ rumpusbhc, rumpusbhc, 0, FSTATE_STAR, NULL, 0, rumpusbhcpar},
+	{ rumpusbhc, rumpusbhc, 0, FSTATE_NOTFOUND, NULL, 0, rumpusbhcpar},
+	{ rumpusbhc, rumpusbhc, 1, FSTATE_NOTFOUND, NULL, 0, rumpusbhcpar},
+	{ rumpusbhc, rumpusbhc, 2, FSTATE_NOTFOUND, NULL, 0, rumpusbhcpar},
+	{ rumpusbhc, rumpusbhc, 3, FSTATE_NOTFOUND, NULL, 0, rumpusbhcpar},
 };
 
 #define UGENDEV_BASESTR /dev/ugen
 #define UGENDEV_BUFSIZE 32
 static void
-makeugendevstr(struct rumpusbhc_softc *sc, int endpoint, char *buf)
+makeugendevstr(int devnum, int endpoint, char *buf)
 {
 
 	CTASSERT(UGENDEV_BUFSIZE  sizeof(UGENDEV_BASESTR)+sizeof(0.00)+1);
-	sprintf(buf, %s%d.%02d, UGENDEV_BASESTR, sc-sc_devnum, endpoint);
+	sprintf(buf, %s%d.%02d, UGENDEV_BASESTR, devnum, endpoint);
 }
 
 /*
@@ -722,7 +723,7 @@
 oflags = O_RDWR;
 			}
 
-			makeugendevstr(sc, endpt, buf);
+			makeugendevstr(sc-sc_devnum, endpt, buf);
 			fd = rumpuser_open(buf, oflags, error);
 			if (fd == -1)
 return USBD_INVAL; /* XXX: no mapping */
@@ -813,15 +814,24 @@
 }
 
 static int
-rumpusbhc_match(struct device *parent, struct cfdata *match, void *aux)
+rumpusbhc_probe(struct device *parent, struct cfdata *match, void *aux)
 {
+	char buf[UGENDEV_BUFSIZE];
+	int fd, error;
 
+	makeugendevstr(match-cf_unit, 0, buf);
+	fd = rumpuser_open(buf, O_RDWR, error);
+	if (fd == -1)
+		return 0;
+
+	rumpuser_close(fd, error);
 	return 1;
 }
 
 static void
 rumpusbhc_attach(struct device *parent, struct device *self, void *aux)
 {
+	struct mainbus_attach_args *maa = aux;
 	struct rumpusbhc_softc *sc = device_private(self);
 	char buf[UGENDEV_BUFSIZE];
 	int error;
@@ -832,14 +842,13 @@
 	memset(sc-sc_ugenfd, -1, sizeof(sc-sc_ugenfd));
 	memset(sc-sc_fdmodes, -1, sizeof(sc-sc_fdmodes));
 
-	sc-sc_devnum = UGENDEV;
-
 	sc-sc_bus.usbrev = USBREV_2_0;
 	sc-sc_bus.methods = rumpusbhc_bus_methods;
 	sc-sc_bus.hci_private = sc;
 	sc-sc_bus.pipe_size = sizeof(struct rumpusbhc_pipe);
+	sc-sc_devnum = maa-maa_unit;
 
-	makeugendevstr(sc, 0, buf);
+	makeugendevstr(sc-sc_devnum, 0, buf);
 	sc-sc_ugenfd[UGEN_EPT_CTRL] = rumpuser_open(buf, O_RDWR, error);
 	if (error)
 		panic(rumpusbhc_attach: failed to open ctrl ept %s\n, buf);



CVS commit: src/sys/rump/dev/wip/librumpusbhc

2009-10-03 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Sat Oct  3 20:46:49 UTC 2009

Modified Files:
src/sys/rump/dev/wip/librumpusbhc: rumpusbhc.c

Log Message:
Report the root hub as self-powered.  Works better when attaching
power-hungry devices.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.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/wip/librumpusbhc/rumpusbhc.c
diff -u src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.2 src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.3
--- src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c:1.2	Sat Oct  3 19:07:33 2009
+++ src/sys/rump/dev/wip/librumpusbhc/rumpusbhc.c	Sat Oct  3 20:46:49 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumpusbhc.c,v 1.2 2009/10/03 19:07:33 pooka Exp $	*/
+/*	$NetBSD: rumpusbhc.c,v 1.3 2009/10/03 20:46:49 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -61,7 +61,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: rumpusbhc.c,v 1.2 2009/10/03 19:07:33 pooka Exp $);
+__KERNEL_RCSID(0, $NetBSD: rumpusbhc.c,v 1.3 2009/10/03 20:46:49 pooka Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -158,7 +158,9 @@
   + USB_INTERFACE_DESCRIPTOR_SIZE
   + USB_ENDPOINT_DESCRIPTOR_SIZE },
 	.bNumInterface		= 1,
+	.bmAttributes		= UC_SELF_POWERED | UC_ATTR_MBO,
 };
+/* XXX: spec says UC_ATTR_MBO is reserved and set to one.  required? */
 
 static const usb_interface_descriptor_t rumphub_uid = {
 	.bLength		= USB_INTERFACE_DESCRIPTOR_SIZE,



CVS commit: src/sys/rump/dev/wip

2009-10-01 Thread Antti Kantee
Module Name:src
Committed By:   pooka
Date:   Thu Oct  1 21:46:31 UTC 2009

Added Files:
src/sys/rump/dev/wip: Makefile.inc
src/sys/rump/dev/wip/libumass: Makefile locators.h
sd_at_scsibus_at_umass.c shlib_version
src/sys/rump/dev/wip/libumass/opt: atapibus.h opt_compat_freebsd.h
opt_scsi.h scsibus.h wd.h
src/sys/rump/dev/wip/libusb: Makefile bus_dma.c locators.h
shlib_version
src/sys/rump/dev/wip/libusb/opt: ohci.h opt_usbverbose.h uhci.h

Log Message:
Checkpoint some work-in-progress for USB support in rump (currently
with limited s...@umass support).  However, not useful for anything
before I get the ugen-to-rump usb host controller cleaned up and
checkpointed.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/wip/Makefile.inc
cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/wip/libumass/Makefile \
src/sys/rump/dev/wip/libumass/locators.h \
src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c \
src/sys/rump/dev/wip/libumass/shlib_version
cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/wip/libumass/opt/atapibus.h \
src/sys/rump/dev/wip/libumass/opt/opt_compat_freebsd.h \
src/sys/rump/dev/wip/libumass/opt/opt_scsi.h \
src/sys/rump/dev/wip/libumass/opt/scsibus.h \
src/sys/rump/dev/wip/libumass/opt/wd.h
cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/wip/libusb/Makefile \
src/sys/rump/dev/wip/libusb/bus_dma.c \
src/sys/rump/dev/wip/libusb/locators.h \
src/sys/rump/dev/wip/libusb/shlib_version
cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/wip/libusb/opt/ohci.h \
src/sys/rump/dev/wip/libusb/opt/opt_usbverbose.h \
src/sys/rump/dev/wip/libusb/opt/uhci.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: src/sys/rump/dev/wip/Makefile.inc
diff -u /dev/null src/sys/rump/dev/wip/Makefile.inc:1.1
--- /dev/null	Thu Oct  1 21:46:31 2009
+++ src/sys/rump/dev/wip/Makefile.inc	Thu Oct  1 21:46:30 2009
@@ -0,0 +1,8 @@
+#	$NetBSD: Makefile.inc,v 1.1 2009/10/01 21:46:30 pooka Exp $
+#
+
+RUMPTOP=	${.CURDIR}/../../..
+
+CPPFLAGS+=	-I${RUMPTOP}/librump/rumpdev
+
+.include ${RUMPTOP}/Makefile.rump

Index: src/sys/rump/dev/wip/libumass/Makefile
diff -u /dev/null src/sys/rump/dev/wip/libumass/Makefile:1.1
--- /dev/null	Thu Oct  1 21:46:31 2009
+++ src/sys/rump/dev/wip/libumass/Makefile	Thu Oct  1 21:46:30 2009
@@ -0,0 +1,21 @@
+#	$NetBSD: Makefile,v 1.1 2009/10/01 21:46:30 pooka Exp $
+#
+#
+# umass.  includes scsibus+sd for simplicity due to the umass code
+# needing compile time knowledge of its presence.  fixxxme
+#
+
+.PATH:	${.CURDIR}/../../../../dev/usb ${.CURDIR}/../../../../dev/scsipi
+
+LIB=	rumpdev_umass
+
+SRCS=	umass.c umass_isdata.c umass_quirks.c umass_scsipi.c
+SRCS+=	scsipiconf.c scsipi_base.c scsipi_ioctl.c scsi_base.c scsiconf.c sd.c
+
+SRCS+=	sd_at_scsibus_at_umass.c
+
+CFLAGS+=	-Wno-pointer-sign
+CPPFLAGS+=	-I${.CURDIR}/opt
+
+.include bsd.lib.mk
+.include bsd.klinks.mk
Index: src/sys/rump/dev/wip/libumass/locators.h
diff -u /dev/null src/sys/rump/dev/wip/libumass/locators.h:1.1
--- /dev/null	Thu Oct  1 21:46:31 2009
+++ src/sys/rump/dev/wip/libumass/locators.h	Thu Oct  1 21:46:30 2009
@@ -0,0 +1,38 @@
+/*	$NetBSD: locators.h,v 1.1 2009/10/01 21:46:30 pooka Exp $	*/
+
+/* locators borrowed from config.  redo properly some day */
+
+#define SCSIBUSCF_TARGET 0
+#define SCSIBUSCF_TARGET_DEFAULT -1
+#define SCSIBUSCF_LUN 1
+#define SCSIBUSCF_LUN_DEFAULT -1
+#define SCSIBUSCF_NLOCS 2
+#define USBIFIFCF_PORT 0
+#define USBIFIFCF_PORT_DEFAULT -1
+#define USBIFIFCF_CONFIGURATION 1
+#define USBIFIFCF_CONFIGURATION_DEFAULT -1
+#define USBIFIFCF_INTERFACE 2
+#define USBIFIFCF_INTERFACE_DEFAULT -1
+#define USBIFIFCF_VENDOR 3
+#define USBIFIFCF_VENDOR_DEFAULT -1
+#define USBIFIFCF_PRODUCT 4
+#define USBIFIFCF_PRODUCT_DEFAULT -1
+#define USBIFIFCF_RELEASE 5
+#define USBIFIFCF_RELEASE_DEFAULT -1
+#define USBIFIFCF_NLOCS 6
+#define USBDEVIFCF_PORT 0
+#define USBDEVIFCF_PORT_DEFAULT -1
+#define USBDEVIFCF_CONFIGURATION 1
+#define USBDEVIFCF_CONFIGURATION_DEFAULT -1
+#define USBDEVIFCF_INTERFACE 2
+#define USBDEVIFCF_INTERFACE_DEFAULT -1
+#define USBDEVIFCF_VENDOR 3
+#define USBDEVIFCF_VENDOR_DEFAULT -1
+#define USBDEVIFCF_PRODUCT 4
+#define USBDEVIFCF_PRODUCT_DEFAULT -1
+#define USBDEVIFCF_RELEASE 5
+#define USBDEVIFCF_RELEASE_DEFAULT -1
+#define USBDEVIFCF_NLOCS 6
+#define SCSICF_CHANNEL 0
+#define SCSICF_CHANNEL_DEFAULT -1
+#define SCSICF_NLOCS 1
Index: src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c
diff -u /dev/null src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c:1.1
--- /dev/null	Thu Oct  1 21:46:31 2009
+++ src/sys/rump/dev/wip/libumass/sd_at_scsibus_at_umass.c	Thu Oct  1 21:46:30 2009
@@ -0,0 +1,154 @@
+/*	$NetBSD: sd_at_scsibus_at_umass.c,v 1.1 2009/10/01 21:46:30 pooka Exp $	*/
+
+#include sys/param.h
+#include sys/types.h
+#include sys/conf.h
+#include sys/device.h
+#include sys/kmem.h
+