Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/jmcneill-usbmp]: src/sys/dev/usb document the status of usbmp branch. m...



details:   https://anonhg.NetBSD.org/src/rev/f1e83364c1f5
branches:  jmcneill-usbmp
changeset: 771812:f1e83364c1f5
user:      mrg <mrg%NetBSD.org@localhost>
date:      Sat Feb 25 07:59:03 2012 +0000

description:
document the status of usbmp branch.  major remaining tasks:

- port slhci, adm5120 usb and rump usb host controllers [*]
- implement usb_detach_wait/wakeup based upon cv/mutex [*]
- port drivers that use tsleep/wakeup to modern facilities
- port cdev/bdev drivers to D_MPSAFE
- update callouts to CALLOUT_MPSAFE
- test more devices [*]

only really more testing is necessary at this point, all the above
can be done after merging this code into -current.  items marked
with [*] are planned to be done before this.

diffstat:

 sys/dev/usb/TODO.usbmp |  157 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 157 insertions(+), 0 deletions(-)

diffs (161 lines):

diff -r cad04f99cc48 -r f1e83364c1f5 sys/dev/usb/TODO.usbmp
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/dev/usb/TODO.usbmp    Sat Feb 25 07:59:03 2012 +0000
@@ -0,0 +1,157 @@
+$NetBSD: TODO.usbmp,v 1.1.2.1 2012/02/25 07:59:03 mrg Exp $
+
+
+the majority of the USB MP device interface is documented in usbdivar.h.
+
+
+host controller porting:
+  - slhci
+  - arch/mips/adm5120/dev/ahci.c
+  - rump/dev/lib/libugenhc/ugenhc.c
+
+
+use /* XXXSMP ok */ markers for non-SMP-safe host controller driver uses.
+eg, "if (lock_ptr) mutex_enter(lock_ptr); else s = splusb();"
+
+
+add lots of asserts
+
+
+wakeup removal core:
+  - usb_detach_wait/wakeup() -> add a usb_detach_cvwait/broadcast() that
+    take a mutex
+
+
+convert uhidev users to MPSAFE:
+  ucycom(4) 
+  - own cdevsw that isn't D_MPSAFE; need to check intr handlers
+
+  uhid(4)
+  - needs some locking here (not completely tested changes)
+
+  ukbd(4)
+  ums(4)
+  uts(4)
+  pbms(4)
+  - depends upon wscons? check intr
+
+  uyurex(4)
+  - sysmon -- hm?
+
+
+wakeup/tsleep drivers:
+  - if_otus.c
+  - if_upgt.c
+  - if_zyd.c
+  - ucom.c
+  - ucycom.c
+  - ugen.c
+  - uirda.c
+  - ulpt.c
+  - umass_isdata.c
+  - usb.c
+  - usb_subr.c
+  - ustir.c
+  - uthum.c
+  - utoppy.c
+  - uvscom.c
+  - uyurex.c
+
+
+missing D_MPSAFE drivers:
+  - ucom
+  - ucycom
+  - ugen
+  - uhso
+  - ulpt
+  - urio
+  - usb
+  - uscanner
+  - utoppy
+
+
+missing CALLOUT_MPSAFE drivers:
+  - if_aue
+  - if_axe
+  - if_cue
+  - if_otus
+  - if_rum
+  - if_udav
+  - if_upgt
+  - if_ural
+  - if_url
+  - if_zyd
+  - ohci
+  - uhci
+  - ukbd
+  - ulpt
+  - usbdi
+  - uyurex
+
+
+driver testing:                STATUS
+  - uhub               working
+  - uhid               working, MPSAFE patches not yet fully tested
+  - uhidev             working
+  - ums                        working
+  - uts
+  - ukbd               working
+  - ucycom
+  - uep
+  - udl
+  - ulpt
+  - uhso               ? (must take kernel lock for scsipi)
+  - umass              working (must take kernel lock for scsipi)
+  - uaudio             working
+  - umidi              working
+  - uirda
+  - stuirda
+  - ustir
+  - irmce
+  - aue
+  - axe
+  - cdce
+  - cue
+  - kue
+  - udav
+  - url
+  - urndis
+  - atu
+  - otus
+  - ral
+  - rum
+  - upgt
+  - zyd
+  - upl
+  - uberry
+  - uipad
+  - urio
+  - uscanner           ? (must take kernel lock for scsipi)
+  - usscanner
+  - utoppy
+  - uyap
+  - udsbr
+  - ugen
+  - pseye
+  - uvideo
+  - auvitek
+  - emdtv
+  - ubt
+  - aubtfwl
+  - u3ginit
+ucom attachments:
+  - umodem
+  - uark
+  - ubsa
+  - uchcom
+  - uftdi
+  - uipaq
+  - umct
+  - uplcom
+  - uslsa
+  - uvscom
+  - moscom
+  - uvisor
+  - ukyopon
+  - u3g
+  - ugensa



Home | Main Index | Thread Index | Old Index