[comp.sys.att] Unix PC Device Driver documentation

ford@kenobi.UUCP (Mike Ditto) (11/29/87)

Recently, a few people were asking about the Unix PC device driver information
mentioned in the "Detailed Interface Specification."  I wrote to the address
listed in the manual, and received a reply last week.

I received something called "UNIX PC Version 3.0 Device Driver Development
Guide, Issue 0", which claims to be "part of the UNIX PC Device Driver
Development Kit".  It is about 40 single-sided xeroxed 8.5" by 11"  pages.

The major categories of the table of contents are:

	1. Introduction
	2. Drivers in General
	3. Dynamically Installable Drivers
	4. Developing Drivers
	5. Generating Diagnostics for a Device
	6. Acknowledgements
	7. References

Unfortunately, parts 6 & 7 are missing.

The contained information basically falls into two categories:  General Unix
device driver information (Not really Unix PC or even System V specific) and
explanation of Unix PC loadable device drivers.  The Unix PC information is
fairly complete and informative, but is nothing I didn't already know from
the programmer's manuals.  The general driver information includes a good
background description of Unix device drivers, and some practical information
about things like protecting critical sections.  Again, this is information
I already had.

The part that is actually useful is a list of some commonly used kernel
routines and their parameters & short descriptions.  This includes simple
things like copyin() and copyout(), and lower level routines like splx().

It does NOT include any information about tty drivers, such as the ttiocom()
function or information on line disciplines.  It does not even discuss how
to put a line discipline in a loadable driver, even though this is supposedly
supported by the lddrv program.  Since this is what I am currently working
on, I was disappointed.

The paper describes a "loadable kernel debugger" which is also a part of this
mysterious "Driver Development Kit".  It takes over the machine when loaded,
and supports breakpoints and dissasembly, but no symbolic references.

I wish the "References" section was not missing, it might give some clue
about where to get this "Driver Development Kit".

The document was sent to me by:

	Joe Braski, Room 5A18
	AT&T Information Systems
	1776 On-The-Green
	Morristown, NJ  07960

Note that my original letter was returned in the same envelope with the
driver information.  My original envelope was stamped "RETURN TO SENDER/
We must have name and rm. no. to deliver this mail".  It looks to me like
my letter was first rejected by someone, and was about to be returned.
Someone else was nice enough to look at it and say "Gee, all he wants
is this paper on Unix PC drivers... I'll just xerox a copy and send it."
It came with a hand-written note saying "the attached Device Driver
Development Guide should answer your question.".

In other words, I don't know if Joe Braski is really the person responsible
for distributing this document; he may have just found my letter lying around
and sent me this information.  I will probably write him and ask what's the
deal with the Driver Development Kit.


					-=] Ford [=-

Sutin's Second Law:			(In Real Life:  Mike Ditto)
"The most useless computer		ford%kenobi@crash.CTS.COM
tasks are the most fun to do"		...!sdcsvax!crash!kenobi!ford