Date: Fri, 10 May 1996 14:22:45 -0700 (MST) From: Terry Lambert <terry@lambert.org> To: sbigger@novell.com ((Sam-c Bigger)(Sam-c Bigger)) Cc: questions@freebsd.org Subject: Re: Adaptec 2940 pci driver Message-ID: <199605102122.OAA02757@phaeton.artisoft.com> In-Reply-To: <s1933355.007@fromGW> from "(Sam-c Bigger)(Sam-c Bigger)" at May 10, 96 12:16:22 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> Hi, Sam "formerly of Novell Sandy" Bigger? It's me, Terry "formerly of Novell Sandy" Lambert! > After looking through the FreeBSD code, it appears > that FreeBSD does not use the Hardware Interface > Module (HIM) provided by Adaptec to support the > 2940 driver. I was wondering how you got away with > this, and if you felt that it was easier to deal directly > with the AIC chip than to deal with the HIM module > code from Adaptec? I have to write a driver for this > 2940 card, and I'm wondering if it would be easier > to bypass Adaptecs HIM module (as it appears you > did) or if I would be better off using it. Adaptec's "HIM" module interface is used to download non-default microcode to the controller as part of the OS startup. The code is supposed to protect Adaptec's intellectual property by making it hard for someone to build a clone board that lets them leverage Adaptec drivers in the OS. Remember the 154x/174x cones that came out from Bustek or BusLogic and others? Apparently they don't think having a patent on the AIC-7770 sequencer itself is protection enough. 8-|. Here is the trade BSD (and Linux) made: 1) Sign non-disclosure and distribute only binaries to get the Adaptec-supplied HIM code into the OS. vs. 2) Rewrite the AIC-7770 microcode and download code from documentation available without NDA. The loss here is that things like Adaptec's new 394x RAID controller aren't supported because the microcode doesn't have the sequencer level RAID support code for things like auto-calculation of ECC's, etc.. The win is that the source can be distributed, and unlike Adaptec's code, it works on the OEM version of the AIC-7770 that HP uses on its motherboards. There is also some lag between release and support of new chip revisions from Adaptec, assuming they may firmware change necessary (like they did in the UW controller series). This is somewhat balanced by full support for target mode, and several other things Adaptec doesn't really guarantee, along with some fixes for tagged command queueing and SCSI reconnect races with Quantum drives that the Adaptec firmware lacks. Note that there is usable default firmware in these things if you don't force a RAM reset (otherwise they couldn't BIOS-boot to the level where a download was possible, and they wouldn't work under DOS). The default firmware API isn't documented. Hope this helps; I'm sure the Adaptec guru's will jump in and add anything I've missed or correct anything I've gotten wrong. Regards, Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199605102122.OAA02757>