Subject: SIO driver (source)
To: None <current-users@sun-lamp.cs.berkeley.edu>
From: Peter Galbavy <P.Galbavy@wonderland.org>
List: current-users
Date: 12/17/1993 00:30:01
OK. At least eight people have asked me for the hacked sio driver.

Due to popular demand I am sending to the list. Sorry if any of you
think it's inapprpriate, but 8 people asking in one day means at least
a few people want to have a look... sorry again, its (only) 16k uuencoded.

To install, you have to hack at /sys/arch/i386/isa/icu.s to remove the
test for "notyet" :-) and change the "call _siosoft1" lines (2 of them)
to "call _compoll". Otherwise do what seems sensible, like changing the
line in your kernel config from:

comX .... comintr

to

sioX .... siointr

and of course puting the two sio* files in the same directory. the
conf.c.add should be obvious, but you replace the NCOM section in
the conf.c file with it... look at the file, you'll see what I mean.

I did more than one version, so this may *not* be the most correct, sorry.
But you can get it working... I tried to make it fit in place of com.c,
but it turned out not that easy, so the whole thing is halfwayt between
sio.c/siovar.h and com.c... ! Argh :-(

Happy hacking, and a Merry Christmas to all thos on the list that may be
going away for the time.
-- 
Peter Galbavy				e-mail: P.Galbavy@wonderland.org
Wonderland				  work: P.Galbavy@micromuse.co.uk

	  "And you will know exactly who you are, forever,
		by knowing what it is that you love."

begin 664 sio.shar.gz
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
:=4I59!6`=Y[&\L[L0[&\<^>_FN<`?=^7``!K
`
end

------------------------------------------------------------------------------