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