Subject: Victor MP-C303
To: None <port-hpcmips@netbsd.org>
From: enami tsugutomo <enami@sm.sony.co.jp>
List: port-hpcmips
Date: 06/13/2001 16:42:49
I've just committed minimal support for Victor MP-C303 (WinCE machine
available in japan).

With apppended diffs, now it boots into multi-user mode with usb ether
(aue0) and nfs root.  Though I get usb error constantly, I could self
build userland via nfs.

enami.

Index: kern/kern_subr.c
===================================================================
RCS file: /cvsroot/syssrc/sys/kern/kern_subr.c,v
retrieving revision 1.76
diff -u -r1.76 kern_subr.c
--- kern/kern_subr.c	2001/05/27 01:29:50	1.76
+++ kern/kern_subr.c	2001/06/13 07:38:09
@@ -89,6 +89,7 @@
  *	@(#)kern_subr.c	8.4 (Berkeley) 2/14/95
  */
 
+#include "opt_ddb.h"
 #include "opt_md.h"
 
 #include <sys/param.h>
@@ -101,6 +102,7 @@
 #include <sys/conf.h>
 #include <sys/disklabel.h>
 #include <sys/queue.h>
+#include <sys/kernel.h>
 
 #include <dev/cons.h>
 
@@ -1034,6 +1036,17 @@
 		cpu_reboot(RB_HALT, NULL);
 	else if (len == 6 && strcmp(str, "reboot") == 0)
 		cpu_reboot(0, NULL);
+
+#ifdef DDB
+	if (len == 3 && strcmp(str, "ddb") == 0) {
+		Debugger();
+		return (NULL);
+	}
+#endif
+	if (len == 5 && strcmp(str, "sleep") == 0) {
+		tsleep(parsedisk, PWAIT, "prsdsk", 3 * hz);
+		return (NULL);
+	}
 
 	cp = str + len - 1;
 	c = *cp;
Index: dev/usb/uhub.c
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/usb/uhub.c,v
retrieving revision 1.49
diff -u -r1.49 uhub.c
--- dev/usb/uhub.c	2001/01/21 19:00:06	1.49
+++ dev/usb/uhub.c	2001/06/13 07:38:11
@@ -367,6 +367,11 @@
 					       USBDEVNAME(sc->sc_dev), port);
 			}
 		}
+		if (change & UPS_C_OVERCURRENT_INDICATOR) {
+			DPRINTF(("uhub_explore: C_OVERCURRENT_INDICATOR\n"));
+			usbd_clear_port_feature(dev, port,
+			    UHF_C_PORT_OVER_CURRENT);
+		}
 		if (!(change & UPS_C_CONNECT_STATUS)) {
 			DPRINTFN(3,("uhub_explore: port=%d !C_CONNECT_"
 				    "STATUS\n", port));
@@ -402,6 +407,18 @@
 			/* Nothing connected, just ignore it. */
 			DPRINTFN(3,("uhub_explore: port=%d !CURRENT_CONNECT"
 				    "_STATUS\n", port));
+			if (change & UPS_C_OVERCURRENT_INDICATOR) {
+				DPRINTF(("uhub_explore: "
+				    "C_OVERCURRENT_INDICATOR 2\n"));
+				usbd_clear_port_feature(dev, port,
+				    UHF_C_PORT_OVER_CURRENT);
+			}
+			if (change & UPS_C_CONNECT_STATUS) {
+				DPRINTF(("uhub_explore: "
+				    "C_CONNECT_STATUS 2\n"));
+				usbd_clear_port_feature(dev, port,
+				    UHF_C_PORT_CONNECTION);
+			}
 			continue;
 		}