[pups] adding MSCP driver to 2.9BSD -- distribution is corrupt!

From: Jonathan Engdahl <engdahl_at_cle.ab.com>
Date: Fri Jul 6 09:18:43 2001

I got the driver to come up on a second controller in E11.
Evidently the PRO350 RA driver would only work as a root drive,
which is attached via some other mechanism that I am not
familiar with. What I did to get it to autoconfig was create an
"raprobe" routine that simply returned the status code that says
"it's OK and you don't need to look for an interrupt". Crude,
but the target machine won't work without the controller
present.

Now I need to work on the boot sector. The problem is that
rauboot.s in the distribution is corrupt, in both the tree and
the tar version. See file
http://www.tuhs.org/Archive/PDP-11/Distributions/ucb/2.9-pro350/
mdec/rauboot.s, the line that begins "NDIRIN = 4." ends in
garbage, and there is a chunk of code missing.

One of the doc files, I think boot.doc, has the same problem. It
seems that the disk from which the 2.9BSD-PRO patch distribution
was prepared was slightly scrambled. There is a chunk of C code
right in the middle of the doc in place of some important info.

I've been able to reconstruct most of rauboot.s by comparing
with other boot programs, except I need the snippet of code for
initializing the MSCP controller. I can probably figure this out
from the 2.11 driver, but I'd much rather not have to. The 2.11
driver is very different.

Does anyone know where I can get the original file?


--
Jonathan Engdahl             Rockwell Automation
Principal Research Engineer  24800 Tungsten Road
Advanced Technology          Euclid, OH 44117  USA
Euclid Labs                  http://users.safeaccess.com/engdahl
----- Original Message -----
From: "Steven M. Schultz" <sms_at_TO.GD-ES.COM>
To: <classiccmp>; <engdahl>; <pups>
Sent: Saturday, June 30, 2001 12:10 AM
Subject: Re: [pups] adding MSCP driver to 2.9BSD
> Hi --
>
> I'd normally be posting from my '2bsd.com' account but the
circuit
> failed today and the telco is due out tomorrow (Saturday)
morning.
>
> > From: "Jonathan Engdahl" <engdahl_at_cle.ab.com>
> > I took the MSCP disk driver (the ra driver) from the PRO-350
> > version of 2.9BSD on the PUPS archive, and added it to the
>
> Ah, I didn't know that someone had created a MSCP driver for
2.9
>
> > I have figured out that the autoconfig will not work with
this
> > driver. It reports "No autoconfig routines". Evidently,
probe is
> > not implemented in either the 2.9 or 2.11 version of the
MSCP driver.
> >
> I don't know about 2.9 but I do know just a little bit about
2.11
> and the MSCP (and TMSCP) drivers 'probe' and "autoconfig" just
fine.
>
> In fact in 2.11 floating vectors are allocated descending from
01000
> and programmed into the adaptor for secondary controllers (the
> primary/first/boot controller always gets 0154).
>
> > So, how to I get UNIX to "attach" the ra driver?
>
> When you updated the kernel did you also update the
'autoconfig'
> process?   In 2.11 there is /sys/autoconfig and whenever a new
> device driver is added to the kernel it is also necessary to
> update the autoconfig code with a 'XXauto.c" file and an entry
> in a couple tables.
>
> As I recall on 2.9 the autoconf stuff was intermingled with
the
> regular driver sources which made for a bit of a mess.    When
2.11
> came around the chance was taken to clean things up.
>
> Programmable vector devices (such as MSCP) are a VERY awkward
thing
> for 'autoconfig' to deal with.   Prior to 2.11 the vectors
were
> more or less hardcoded in 'l.s' (or was it scb.s or locore.s -
gads
> my memory is slipping) and the driver.   'autoconfig' was
mostly a
> double check that a device was really present.   2.11 has the
kernel
> hooks for 'autoconfig' to request a dynamically allocated
vector
> which can be assigned to a device - bit of a hack but fairly
> elegantly done.
>
> > This is the first time I've tried doing a UNIX sysgen, so
extra
> > explanations might be required. The only documentation I
have is
> > what I downloaded along with the distribution.
>
> Look in /sys/pdpuba and see if you can find the '*auto.c'
files -
> follow their lead and craft something for 'autoconfig'.   The
> simplest case is to just "check that something exists" at the
> CSR and return 'true' - don't try to force an interrupt, etc.
>
> Perhaps some other folks who have run 2.9 more recently (or
who
> have better memory than I do ;)) can jump in here.
>
> Steven Schultz
> sms_at_moe.2bsd.com (when the circuit gets fixed ;))
>
Received on Fri Jul 06 2001 - 09:18:43 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:33:50 BST