This is less of a question and more of a solution to a problem I was having.
There were (apparently) some ATA DMA changes recently in -current that never trickled down to 4.7-STABLE, which is what I had been running before trying 5.0. (My 4-STABLE install was working perfectly.) These DMA changes were specific to certain cards & chipsets, from what I can gather looking at the source. My problems were specifically with a Promise PCI Ultra66 controller (no raid, just extra ATA ports). Every time drives were accessed on the controller in 5.0, the controller would hang and be forced to reset. I looked through the -current source revisions and found that the issues were resolved in newer versions of the ata driver. I cvsupped to 5-current and attempted to build a kernel, and it failed (this didn't surprise me). I backed down to 5-release, giving up on current. My next step was to get the source diffs between current's ATA support and 5-release. I compiled them into a single file, patched the source, built a "modified" -release kernel, and now my DMA problem is no more. I figured since I had already done the work of determining the needed files and compiling the unidiff, I would make it available to the community. Note that I have made NO alterations to the source itself. My diffs do have modified "build IDs" so they will patch cleanly against the -release sources though. (I had to drop '/home/ncvs/' from the identifiers.) I've just gone through, grabbed the files needed to correct this problem, and put them together for the sake of convenience. Please remember that this is code from CURRENT, possibly buggy and untested... But it is working 100% fine for me. Just drop the diff in /usr/src and run 'patch -p1 <ata-dma-updates.diff' Then simply rebuild/install your kernel as normal and you should have working DMA on a previously broken card. I don't want to attach it and spam everyone's mailboxes, but you can snag the unidiff at: http://home.cwru.edu/~bwm3/ata-dma-updates.diff (~8KB) --Braden McGrath [EMAIL PROTECTED] (remove capital letters to get my mail address) To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-questions" in the body of the message