DragonFly-2.3.1.165.g25822 master sys/dev/disk/ahci Makefile TODO ahci.c ahci.h ahci_attach.c ahci_cam.c ahci_dragonfly.c ahci_dragonfly.h atascsi.h

Matthew Dillon dillon at apollo.backplane.com
Thu Jun 4 11:57:18 PDT 2009


    Note that the AHCI driver is *NOT* yet ready for prime time.  I still
    have at least a week's worth of programming and another week of testing
    to do.

    This commit gets the basics working, including AHCI's NCQ, but state
    changes on the AHCI ports are not handled very well yet, let alone
    bus scan/rescan interactions with CAM.  ATAPI is not hooked up yet
    either.  There are some device issues, at least with my 'MyBook' ESATA,
    but those may be due to the book's idiotic ESATA firmware.

    OpenBSD's code is very well written but even so I've had to make some
    major modifications to it to hook it into DragonFly.  I had to rewire
    the SCSI logic since we have CAM and we do not have the OpenBSD scsi-ata
    layer (and I don't want to port it), and I had to rewire the BUSDMA
    model.  I also bumped up the number of PRDT DMA entries from 24 to 56
    to support our 128K MAXPHYS.

    I am also doing some major extensions on top of the base port.  I will
    be adding hot-plug support and port multiplier support.  I already have
    basic hot-swap detection in place but I still have to wire up the
    re-probe and SCSI bus rescan.

    --

    In terms of testing, the only real way right now is to netboot a system
    without NATA and then kldload AHCI after you've booted.  I will have
    AHCI prioritized soon so both drivers can be present but I want to get
    ATAPI working first.  In my own testing environment I've been able
    to kldload/kldunload the AHCI driver many times without crashing the
    system, so the basic attach/detach is already a lot more robust then
    NATA.  It's nice to not have to reboot the system :-).  Netbooting is
    really the only way to go for testing this driver.

    I've already done some basic testing and AHCI NCQ is quite nice.  The
    driver has considerably higher performance then NATA but, of course,
    it isn't really a fair test since NATA doesn't have AHCI NCQ support.
    I'm quite happy, though.

						    -Matt






More information about the Kernel mailing list