[comp.sys.ibm.pc.rt] VRM/AIX Driver Help

spalding@uiucdcsp.cs.uiuc.edu (11/22/87)

I am writing a VRM/AIX device driver, and would like to get in
touch with anyone who has done this before.  I have some questions
arising from some omissions and conflicts in the documentation.

The device I'm trying to support is an Analog-to-Digital converter
board that we want to run at 10,000 conversions per second using
one of the system DMA channels.  Since there is considerable
software overhead associated with starting a DMA operation (translation
control words must be loaded, one per 2K block), I would like to
run the 8237 DMA controller in its auto-initialize mode.  This
will result in the data coming into a ring buffer, and it should
be easy enough to stay ahead of the DMA controller in writing the
data out to disk.  In the VRM _stdma() [start dma] function, you
can specify the 3237 control word, so there should be no problem
in establishing the auto-initialize mode.  But there is the question
of whether the VRM software will balk at this, since there will
be an interrupt on channel 0 whenever the 8237 reaches terminal
count.  Will VRM try to shut down the 8237 on the first interrupt?
Should I try to set up a second level interrupt handler for this in
order to outsmart VRM?

Aside from the device specific considerations, there is a bewildering
list of things that must be done to install a new driver, of which
I have discovered so far:

	- a VRM driver
	- an AIX driver
	- a configure helper program
	- changes to /etc/master
	- changes to /etc/system

I have some sample code from IBM, but unfortunately it consists of
a diskette VRM driver and a printer AIX driver, and I don't have
a sample configure helper proram.  Having a "matched set" of these
pieces would help greatly in understanding how they fit together.

Any leads would be much appreciated.

John W. Spalding 
spalding@p.cs.uiuc.edu