cvs commit: src/sys/bus/cam/scsi scsi_low.c src/sys/bus/isa         isahint.c pnp.c src/sys/bus/pci/i386 pcibus.c src/sys/bus/usb         ehci_pci.c ohci_pci.c usb.c usb_subr.c src/sys/dev/disk/ata         ata-all.c ata-pci.c atapi-cam.c src/sys/dev/disk/nata ata-all.c ...
    Matthew Dillon 
    dillon at crater.dragonflybsd.org
       
    Mon Apr 30 17:07:56 PDT 2007
    
    
  
dillon      2007/04/30 17:05:18 PDT
DragonFly src repository
  Modified files:
    sys/bus/cam/scsi     scsi_low.c 
    sys/bus/isa          isahint.c pnp.c 
    sys/bus/pci/i386     pcibus.c 
    sys/bus/usb          ehci_pci.c ohci_pci.c usb.c usb_subr.c 
    sys/dev/disk/ata     ata-all.c ata-pci.c atapi-cam.c 
    sys/dev/disk/nata    ata-all.c atapi-cam.c 
    sys/dev/disk/sbp     sbp.c 
    sys/dev/misc/psm     psm.c 
    sys/dev/netif/em     if_em.c 
    sys/dev/netif/nfe    if_nfe.c 
    sys/kern             init_main.c kern_synch.c lwkt_thread.c 
                         subr_bus.c 
    sys/platform/pc32/i386 autoconf.c 
    sys/platform/pc32/icu icu_abi.c 
    sys/platform/pc32/isa clock.c 
    sys/platform/vkernel/i386 autoconf.c 
    sys/platform/vkernel/platform systimer.c 
    sys/sys              bus.h bus_private.h kernel.h systm.h 
  Log:
  Implement kern.do_async_attach. default disabled.  To enable add
  kern.do_async_attach="1" to your /boot/loader.conf.  This feature allows
  conforming drivers to attach in their own thread, allowing multiple
  drivers to attach in parallel.
  
  Implement a new device state, DS_INPROGRESS.  Seems to work properly.
  Implement device_set_async_attach(), which allows a device's probe
  function to indicate that it is ok for its attach function to be run in
  its own thread.
  
  Split tsleep's enable out from the 'cold' variable. tsleep works earlier
  then when cold is cleared.  Add a 'tsleep_now_works' variable to take
  over the functionality.
  
  Implement DRIVERSLEEP()... similar to DELAY(), this function works in
  any context and will call lwkt_switch() in its spin loop.  It isn't perfect
  yet.
  
  ATA/NATA:
      * Uses the new async attach feature
      * Uses DRIVERSLEEP
      * No longer uses a configuration interrupt hook.  Interrupts are now
        available during device config.
  
      NOTE: atapicam does not seem to be scanning the 'bus' (from cam's point
      of view), so 'cd0' is not found until CAM scans the bus itself in the
      interrupt config hook code.
  
  USB:
      * Uses the new async attach feature
      * Uses tsleep instead of DELAY
  
  MISC:
      * IF_EM, IF_NFE also use the async attach feature as a test, but it
        doesn't seem to have a huge effect.
  
  Revision  Changes    Path
  1.19      +3 -0      src/sys/bus/cam/scsi/scsi_low.c
  1.8       +2 -0      src/sys/bus/isa/isahint.c
  1.13      +2 -0      src/sys/bus/isa/pnp.c
  1.18      +2 -0      src/sys/bus/pci/i386/pcibus.c
  1.15      +1 -0      src/sys/bus/usb/ehci_pci.c
  1.8       +1 -0      src/sys/bus/usb/ohci_pci.c
  1.26      +4 -0      src/sys/bus/usb/usb.c
  1.18      +1 -1      src/sys/bus/usb/usb_subr.c
  1.36      +26 -46    src/sys/dev/disk/ata/ata-all.c
  1.29      +3 -2      src/sys/dev/disk/ata/ata-pci.c
  1.12      +2 -4      src/sys/dev/disk/ata/atapi-cam.c
  1.8       +3 -26     src/sys/dev/disk/nata/ata-all.c
  1.5       +2 -4      src/sys/dev/disk/nata/atapi-cam.c
  1.23      +9 -1      src/sys/dev/disk/sbp/sbp.c
  1.24      +1 -1      src/sys/dev/misc/psm/psm.c
  1.58      +1 -0      src/sys/dev/netif/em/if_em.c
  1.8       +1 -0      src/sys/dev/netif/nfe/if_nfe.c
  1.79      +23 -0     src/sys/kern/init_main.c
  1.84      +5 -3      src/sys/kern/kern_synch.c
  1.107     +1 -1      src/sys/kern/lwkt_thread.c
  1.37      +88 -2     src/sys/kern/subr_bus.c
  1.36      +0 -1      src/sys/platform/pc32/i386/autoconf.c
  1.13      +0 -2      src/sys/platform/pc32/icu/icu_abi.c
  1.52      +28 -3     src/sys/platform/pc32/isa/clock.c
  1.9       +0 -1      src/sys/platform/vkernel/i386/autoconf.c
  1.13      +11 -0     src/sys/platform/vkernel/platform/systimer.c
  1.25      +2 -0      src/sys/sys/bus.h
  1.9       +1 -0      src/sys/sys/bus_private.h
  1.27      +1 -0      src/sys/sys/kernel.h
  1.69      +2 -0      src/sys/sys/systm.h
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_low.c.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/isa/isahint.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/isa/pnp.c.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/pci/i386/pcibus.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/usb/ehci_pci.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/usb/ohci_pci.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/usb/usb.c.diff?r1=1.25&r2=1.26&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/usb/usb_subr.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/ata/ata-all.c.diff?r1=1.35&r2=1.36&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/ata/ata-pci.c.diff?r1=1.28&r2=1.29&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/ata/atapi-cam.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/nata/ata-all.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/nata/atapi-cam.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/sbp/sbp.c.diff?r1=1.22&r2=1.23&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/misc/psm/psm.c.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/netif/em/if_em.c.diff?r1=1.57&r2=1.58&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/netif/nfe/if_nfe.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/init_main.c.diff?r1=1.78&r2=1.79&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_synch.c.diff?r1=1.83&r2=1.84&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/lwkt_thread.c.diff?r1=1.106&r2=1.107&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/subr_bus.c.diff?r1=1.36&r2=1.37&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/pc32/i386/autoconf.c.diff?r1=1.35&r2=1.36&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/pc32/icu/icu_abi.c.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/pc32/isa/clock.c.diff?r1=1.51&r2=1.52&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/vkernel/i386/autoconf.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/platform/vkernel/platform/systimer.c.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/bus.h.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/bus_private.h.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/kernel.h.diff?r1=1.26&r2=1.27&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/systm.h.diff?r1=1.68&r2=1.69&f=u
    
    
More information about the Commits
mailing list