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;
}