[comp.unix.ultrix] How to write an Ultrix device driver

mbr@aoa.UUCP (Mark Rosenthal) (03/23/89)

Reply-to: mbr@aoa.UUCP (Mark Rosenthal)


I need to write a device driver to work with Ultrix.
We are a binary only site.

Other computer vendors (notably Sun and Masscomp) publish manuals with
instructions on how to write device drivers to work with their version
of Unix.  Perhaps DEC does also, but I have been unable to find such a
thing.  Neither our salesperson nor the Ultrix support line has been any
help.

Has anybody else out there managed to write an Ultrix device driver?
What did you use for documentation?

	Mark Rosenthal
	...bbn.com!aoa!mbr
	617-864-0201
-- 
	Mark of the Valley of Roses
	...!{harvard,ima}!bbn!aoa!mbr

grr@cbmvax.UUCP (George Robbins) (03/29/89)

In article <88434@felix.UUCP> mbr@aoa.UUCP (Mark Rosenthal) writes:
> Reply-to: mbr@aoa.UUCP (Mark Rosenthal)
> 
> I need to write a device driver to work with Ultrix.
> We are a binary only site.
> 
> Other computer vendors (notably Sun and Masscomp) publish manuals with
> instructions on how to write device drivers to work with their version
> of Unix.  Perhaps DEC does also, but I have been unable to find such a
> thing.  Neither our salesperson nor the Ultrix support line has been any
> help.

Ultrix device drivers (as of 2.2) seem to still be basically 4.2 BSD
drivers.  The Sun manuals are pretty good tutorials, but I think they
include some extra stuff that is Sun specific that may be more confusing
than useful.  There may be some sample drivers available in the sources
groups or elsewhere, but unfortunatly the 4.3 sources that have been
release so far do not include and driver code.  Best bet would be to
find somebody with some 4.2/4.3 kernel experience to get you started...

-- 
George Robbins - now working for,	uucp: {uunet|pyramid|rutgers}!cbmvax!grr
but no way officially representing	arpa: cbmvax!grr@uunet.uu.net
Commodore, Engineering Department	fone: 215-431-9255 (only by moonlite)

brian@ms.uky.edu (Brian Sturgill) (03/31/89)

In article <6423@cbmvax.UUCP>, grr@cbmvax.UUCP (George Robbins) writes:
> In article <88434@felix.UUCP> mbr@aoa.UUCP (Mark Rosenthal) writes:
> > Reply-to: mbr@aoa.UUCP (Mark Rosenthal)
> > 
> > I need to write a device driver to work with Ultrix.
> > We are a binary only site.
> > 
> 
> Ultrix device drivers (as of 2.2) seem to still be basically 4.2 BSD
> drivers. ...

There is one major difference that I know of, here is a message that
was sent to me when I had similar troubles.  I know that the message
is correct as we put some of our own drivers in here.
Alas, I don't remember the source of this information to give proper
credit.

* I am told that you will need to remove the "register br, cvec"
* lines from configuration probe routines for these drivers and
* the ones in contrib/ to work under Ultrix 2.0.

The purpose of removing "register br, cvec" is that they are now global
  variables (probably improves efficiency).

Brian
-----------
           Brian Sturgill          System Manager
   University of Kentucky Departments of Mathematical Sciences
        brian@ms.uky.edu                brian@ms.uky.csnet
        {uunet,rutgers}!ukma!brian       brian@UKMA.BITNET

grr@cbmvax.UUCP (George Robbins) (03/31/89)

In article <11371@s.ms.uky.edu> brian@ms.uky.edu (Brian Sturgill) writes:
> 
> * I am told that you will need to remove the "register br, cvec"
> * lines from configuration probe routines for these drivers and
> * the ones in contrib/ to work under Ultrix 2.0.
> 
> The purpose of removing "register br, cvec" is that they are now global
>   variables (probably improves efficiency).

Well, actually it's to remove a horrible kluge that depends on the
compiler leaving those register variable in a particular place.  You
may loose a teeny bit of efficiency, but big deal.

I think this is documented somewhere, perhaps in older release notes,
but I can't find it right off.
-- 
George Robbins - now working for,	uucp: {uunet|pyramid|rutgers}!cbmvax!grr
but no way officially representing	arpa: cbmvax!grr@uunet.uu.net
Commodore, Engineering Department	fone: 215-431-9255 (only by moonlite)