[comp.periphs] SCSI-2 -> CAM -> /dev/scsi

rdm@cfcl.UUCP (Rich Morin) (12/28/88)

Recent postings have discussed the SCSI-2 CAM Committee and related issues.
One posting summarized my presentation at the initial meeting:

>  Rich Morin of Canta Forda Computer Labs described the concept he has been
>  working with that he describes as "SCSI glue" (see CF1-CF5). The glue is
>  oriented towards SCSI devices not normally supported by the kernel but which
>  are needed by applications, and can support multiple SCSI host bus adapters
>  in one system.

This being largely a UNIX crowd, I will fill in a few details which I hope
will be of interest.  Gene Dronek and I are developing a pair of generalized
SCSI software interfaces.  Our interest is primarily, though not exclusively,
in the UNIX arena.  The low-level interface, scsiglue, may well be subsumed
by the low-level interface under development by the CAM committee.  It sits
on top of a UNIX vendor's proprietary SCSI access routines, providing a
consistent kernel-level interface.

The high-level interface, /dev/scsi, is intended for use by user programs.  It
presents each SCSI device as a character special file (e.g. /dev/scsi/foo).  A
program interacts with the device by means of ioctl calls, each one describing
one or more SCSI packets.

Low-level and global issues (bus phases, bus reset, etc.) are specifically
ignored, whenever possible, since application programs should not have to deal
with them.  Security is implemented primarily by means of permissions on the
device inodes, although restrictions on certain commands (e.g., copy) may also
be needed.

Project status - we have a working (though glitchy) implementation running on
A/UX.  We have written applications for the Apple LaserWriter II SC (working)
and the Mirus FilmPrinter (in debug).  We have a couple of other applications
in development and under consideration.  As soon as the A/UX implementation
is sufficiently stable, we will attempt ports to other UNIX platforms.

We intend to present a work-in-progress talk at a USENIX BOF in San Diego.  We
will then lick our wounds, make appropriate modifications, and attempt to give
out an alpha release for general experimentation.  The release will contain
a few skeletal applications, scsiglue implementations, and /dev/scsi versions.
It will be copyrighted, but freely redistributable.  'Nuff said?
-- 

  _ o  _ |_     _ _   _   _ o  _          Canta Forda Computer Laboratory
 |  | |  | |   | | | | | |  | | |      UNIX software consulting and training
 |  | |_ | |   | | | |_| |  | | |   {hoptoad,pacbell}!cfcl!rdm   +1 415 873 7841