*BSD News Article 24820


Return to BSD News archive

Xref: sserve comp.periphs.scsi:15966 comp.os.386bsd.development:1564
Newsgroups: comp.periphs.scsi,comp.os.386bsd.development
Path: sserve!newshost.anu.edu.au!munnari.oz.au!mel.dit.csiro.au!its.csiro.au!dmssyd.syd.dms.CSIRO.AU!metro!basser.cs.su.oz.au!harbinger.cc.monash.edu.au!yeshua.marcam.com!news.kei.com!sol.ctr.columbia.edu!spool.mu.edu!agate!tfs.com!julian
From: julian@TFS.COM (Julian Elischer)
Subject: aha2742. why no 386bsd driver soon.
Message-ID: <CHqzyL.LBH@tfs.com>
Sender: usenet@tfs.com
Organization: TRW Financial Systems
Date: Thu, 9 Dec 1993 03:20:45 GMT
Lines: 226

Many people have asked me when (or if) I would write a driver for the adaptec
2740 family of boards.

In response to this I have been trying for 4 weeks to get information
from the folks at adaptec.

today, I got some..

This basically sums up why you will probably not see a driver for this board
for any of the free Operating systems soon..
(unless someone does something pretty fancy)

After the excerpt, I discuss a few points


============cut here for excerpts from adaptec information==========

	Programming directly to AIC-7770 based adaptec products.
	  What developers need to know.

Introduction

This year Adaptec introduced the AIC-7770 chip. It is a RISC-based 
EISA-to-Fast-SCSI host adapter on a chip, used on the AHA-2740 series
host adapters as wellas the AHA-28xVL host adapters.

[.....]

The AIC-7770 chip on the AHA-2740 series and AHA-284xVL products uses a
new firmware architecture. Rather than the firmware residing directly on
the board, it has now moved to the "Hardware Interface Module" or "HIM",
a new software layer. See Figure 1 for an illustration of the new firmware 
architecture. Figure 2 illustrates how the old architectural components
map to the new ones.


Figure 1:

	[               ]  [               ]  [               ]
	[ device driver ]  [ device driver ]  [ device driver ]
	[               ]  [               ]  [               ]
=============================================================== ASPI layer
	[         O/S Specific Module                         ]
	[           (OSM)                                     ]
	-------------------------------------------------------
	[         Hardware Interface Module                   ]
	[           (HIM)                                     ]
=============================================================== Sequencer I/F
			[               ]
			[ AIC-7770      ]
			[               ]
=============================================================== SCSI BUS



Figure 2:
	AHA 154x/AHA174x Model              AIC-7770 Model
	[       ]  [       ]                 [       ][      ][      ] 
	[driver ]  [driver ]                 [driver ][driver][driver] 
	[       ]  [       ]                 [       ][      ][      ] 
ASPI	=======================     ASPI     ========================
	[OS Specific driver]                 [         OSM          ]
Board i/f======================              ------------------------
	[   Firmware         ]               [         HIM          ]
	[                    ]               ========================
	[                    ]                    [AIC-7770]
SCSI	========================     SCSI    =========================


So rather trhan developing software drivers directly to the board where
an understanding of the hardware technical reference manual was  required,
developers may now program the driver software to the HIM. Thus, you now
need a HIM specification to program your software driver or "OSM", and you
also need the HIM source code, for compiling purposes only. The sources code
is needed becasue the HIM is a library module, rather than a run-time
interface. Therefore, you must compile it with your OSM source code to
create the final driver object code. The HIM code is written in ANSI C
to make porting as easy as possible.



"How do I know if I need the HIM source code?"

If you can program to the ASPI specificatrion instead - to isolate
you from all hardware issues - we strongly recomend that you do so. Also,
if the operatinf system you are programming for has an "ASPI-LIKE" interface
or protocol, we strongly recommend you use it. Only of you fall into the 
following categories do you need to proceed with developing to the HIM.

[]   You are developing a driver for AIC-7770 based host adapters for
     an Operating system.

[]   You are developing an application which needs access to a SCSI feature
     for enhanced functionallity or performance not available through ASPI
     or a similar interface.



"I need HIM information, What next..?"

1/ Complete the HIM request form as completely as possiboe and fax it to
(408)957-7181 Attn HIM relations.

2/ We will provide HIM documentation and Software in a BREAK-THE SEAL envelope
with the licence agreement printed on the outside which has the following
terms:

[] Grants you the right to use the HIM source code for compiling purposes
only (no modifications) and restricts you from distributing the sources code.

[] grants you the right to distribute the HIM in Object code form only
and only in combination with your software

[] States that title to the HIM software remains with Adaptec.
 
[] Clarifies that Adaptec won't provide support for the software you write
or the combined software which you create in combination with the HIM
source code.

[] Treats the HIM source code and all related documentation as Adaptec
confidentual

[] States that the HIM software is provided "AS IS"

[] Specifies an initial term of one year with automatic one-year renewal
periods.

Someone in your company who can bind your company to the terms of the 
agreement must be the one to open the envelope. While Adaptec cannot
obligate itself legally to providing updates to or support on the HIM,
returning  the request form as complete as possible will help us ensure
you get the information and assistance you need to do
your development. We realise that it is i  adaptec's best interest for you to
be successful in you development efforts.


3. We will also send you the following items:

[] 2740 series tech reference manual
[] 2840 tech reference manual
[] Adaptec Compatibility Advantage program brochure and application
[] Notice of completion   
[] AIC-7770 programming considerations.

[ Marketting rubbish deleted to save my fingures]

"What about future Adaptec products? Will my HIM development now save me time
down the road?"

The HIM specification and source code are specific to a given host adapter
chip. Think of it as analogous to the firmware on the board under the previous
hardware design. Hence, just as you needed to program directly to the 
firmware on the board, so also you are programming directly to the HIM
for a given chip. The good news is that if we use a given chip
on more than one board, your HIM development for that chip is leveraged
across the other boards. So, with the AIC-7770 based HIM, your development
efforts can be used to create software for both the AHA-2740 series
and the AHA28XVL boards. Future Adaptec integrated I/O products will use
this HIM model, although new chips may necessitate new HIMs.

[trash deleted]

"Is there an upcoming change to the AIC-7770 that I need to consider?"

Yes, we are introducing a new version of the AIC-770 shortly called rev.E
which results in a new version of the HIM source code and some changes to
the HIM specification. In conjunction with support for rev. E, we have
also enhanced the HIM to offer better performance in heavily loaded
system environments. Performance improvements... (bla bla)

{bla bla continued)...
Note:
any software you develop to the HIM specification we can deliver to
you immediatly will be compatible with the AIC-770 rev E chip
when it is available. Programming to the new HIM specification is not
a necessity.



================end of extract===============


The way I read this.. I cannot publish the drivers in any meaningful way
that makes sense in a "source code distribution" OS like 386bsd or linux.
It's also doubtful that adaptec would let me, as an individual
let me have this information anyhow. So I can't see a driver for this board
appearing real soon. Some people may be able to get specs for the chip
and board directly, but it seems unlikely to me from my discussions
today, as they suggested that this information was all hush hush too.
If they do, then maybe a PD driver can be written to bypass the HIM rubish.

Unfortunatly, they will probably feel free to change the hardware interface
without warning, as they feel they have protected themselves from this if they
can hide this in their HIM code.. So If I bypass the HIM
code , we cannot be sure our code will always work.

Even using the HIM..
If we change boards in a machine, if we cannot guearantee that the 
driver we have on the machine was linked with the exact version of the HIM
that was meant for that revision of the board, we cannot be sure
that our driver will work at all, even if we
DO use their HIM. (in the present system, the firmware cannot become
separated from the hardware) (easily)

In general, I repeat my previous comments about adaptec needing their 
head read. They say it's because they have patentable ideas.. and
That sounds like total BS.. What on EARTH could they
have that's so brilliant, that they have to keep it so secret..
It's only a scsi controller dammit. If their AIC7770 is so marvelous
(I think it's just a sequencer) that it needs to be kept a secret,
then why do they sell it?

end of rave

+----------------------------------+       ______ _  __
|   __--_|\  Julian Elischer       |       \     U \/ / On assignment
|  /       \ julian@tfs.com        +------>x   USA    \ in a very strange
| (   OZ    ) 300 lakeside Dr. oakland CA. \___   ___ | country !
+- X_.---._/  USA+(510) 645-3137(wk)           \_/   \\            
          v

-- 
+----------------------------------+       ______ _  __
|   __--_|\  Julian Elischer       |       \     U \/ / On assignment
|  /       \ julian@tfs.com        +------>x   USA    \ in a very strange
| (   OZ    ) 300 lakeside Dr. oakland CA. \___   ___ | country !