Subject: Re: Source for SCSI driver
To: Dan Menchaca <Dan_Menchaca@quickmail.apple.com>
From: Allen Briggs <briggs@puma.bevd.blacksburg.va.us>
List: macbsd-development
Date: 05/03/1995 15:06:41
> CAM is a specification that allows one to access a SCSI bus through a common
> set of APIs. This means that from UNIX to UNIX, accessing the SCSI bus will
> be the same as far as API calls go.
Ahh... OK. I think I see. It provides the interface to the scsi bus
for things like CD-ROM drivers or easier addition of things like custom
drivers or OCR engines or some such? That is, it's an interface to
drivers for drivers?
There is no standard w/in Unix for accessing scsi devices. I have
noticed that at least one or two vendors are starting to use CAM or
something similar (OSF/1 on the DEC Alpha appears to use CAM), but
the usual case is that the SCSI system is accessed directly through
specific drivers.
If you want to get direct access to a device from a user-program (not
kernel), some systems (including NetBSD) allow some access to the bus
through a "high level driver" ioctl interface. This then communicates
with the lower level (card-specific) drivers to send and recieve raw
blocks. I don't know how fully implemented this is or if anyone's using
(i.e. testing ;-) it.
CAM might be a win if it could be implemented efficiently w/o breaking
anything. When I looked at the spec once, it seemed pretty large,
though, and implementing it looked like a job for a CAM expert.
-allen
--
Allen Briggs - end killing - allen.briggs@bev.net ** MacBSD == NetBSD/mac68k **