diff options
| author | cinap_lenrek <cinap_lenrek@localhost> | 2011-07-30 07:23:26 +0200 |
|---|---|---|
| committer | cinap_lenrek <cinap_lenrek@localhost> | 2011-07-30 07:23:26 +0200 |
| commit | f9846213d1877bac1931d6b8a17dfc51bb44bdd4 (patch) | |
| tree | 7878efa07269764e4ff1d6d468a5ca2cc5efb5a7 | |
| parent | 9d49fcdb377f698366ba0bd7f45efd85a607652b (diff) | |
| download | plan9front-f9846213d1877bac1931d6b8a17dfc51bb44bdd4.tar.xz | |
nusb: change usbevent format, put nusbrc in bootfs
| -rw-r--r-- | sys/src/9/boot/bootrc | 5 | ||||
| -rw-r--r-- | sys/src/9/boot/nusbrc | 18 | ||||
| -rw-r--r-- | sys/src/9/port/bootfs.proto | 5 | ||||
| -rw-r--r-- | sys/src/cmd/nusb/usbd/usbd.c | 10 |
4 files changed, 29 insertions, 9 deletions
diff --git a/sys/src/9/boot/bootrc b/sys/src/9/boot/bootrc index 026c91c36..9d102c566 100644 --- a/sys/src/9/boot/bootrc +++ b/sys/src/9/boot/bootrc @@ -152,10 +152,7 @@ if(test -e '#b' && test -x /bin/aux/kbdfs){ aux/kbdfs -s cons $a } -if(test -e '#u' && test -x /bin/usb/usbd){ - bind -a '#u' /dev - usb/usbd -} +nusbrc # bind in an ip interface for(i in I l^(0 1 2 3)) diff --git a/sys/src/9/boot/nusbrc b/sys/src/9/boot/nusbrc new file mode 100644 index 000000000..0b6978677 --- /dev/null +++ b/sys/src/9/boot/nusbrc @@ -0,0 +1,18 @@ +#!/bin/rc + +if(! bind -a '#u' /dev) + exit +if(! nusb/usbd) + exit + +fn dev { + switch($4){ + case *03 + nusb/kb $1 + case *08 + nusb/disk $1 + } +} +rc </dev/usbevent & + +bind -a '#σ/usb' /dev diff --git a/sys/src/9/port/bootfs.proto b/sys/src/9/port/bootfs.proto index 274103264..5728e90ab 100644 --- a/sys/src/9/port/bootfs.proto +++ b/sys/src/9/port/bootfs.proto @@ -30,8 +30,10 @@ $cputype srv test unmount - usb + nusb usbd + disk + kb xd rc lib @@ -41,5 +43,6 @@ rc bin fstype diskparts + nusbrc 555 sys sys ../boot/nusbrc bootrc 555 sys sys ../boot/bootrc tmp diff --git a/sys/src/cmd/nusb/usbd/usbd.c b/sys/src/cmd/nusb/usbd/usbd.c index 97059e11d..84e121957 100644 --- a/sys/src/cmd/nusb/usbd/usbd.c +++ b/sys/src/cmd/nusb/usbd/usbd.c @@ -208,8 +208,7 @@ formatdev(Dev *d) Usbdev *u; u = d->usb; - return smprint("in id %d vid 0x%.4x did 0x%.4x csp 0x%.8lx\n", - d->id, u->vid, u->did, u->csp); + return smprint("dev %d %.4x %.4x %.8lx\n", d->id, u->vid, u->did, u->csp); } static void @@ -333,8 +332,10 @@ main(int argc, char **argv) { int fd, i, nd; Dir *d; - - argc--; argv++; + + ARGBEGIN { + } ARGEND; + initevent(); rfork(RFNOTEG); switch(rfork(RFPROC|RFMEM)){ @@ -358,4 +359,5 @@ main(int argc, char **argv) rendezvous(work, strdup(argv[i])); rendezvous(work, nil); postsharesrv(&usbdsrv, nil, "usb", "usbd", "b"); + exits(nil); } |
