OK, I'm still attempting kernel builds of v6 to support my 2nd DL11-W.
Thanks to everyone who's given me advice so far -- sadly it doesn't
work yet ...
I have two DL11-Ws, one as the console (CSR=0177560, VEC=0060), one as
the first local interface (CSR=0176500, VEC=0300). Under RT11, I'm
able to use both interfaces without trouble (using CONSOL.MAC to
switch from one to the other, since I haven't SYSGENed for
multi-terminal support). Thus I know the hardware works and is
correctly configured.
According to the docs in /usr/docs/start, all I need do to get support
for the second DL11-W is edit /usr/sys/dmt/kl.c to increase NKL11 from
1 to 2. (As far as the KL/DL driver is concerned the only difference
between the two types of interface is the base addresses, and it
happens to be configured so that the first KL11 other than the console
will have a CSR of 0176500, so I choose that one.) I can then rebuild
everything and run /usr/sys/conf/mkconf. At the mkconf prompt I enter
"rk", and "1kl", as stated in the docs. /usr/sys/conf/c.c and
/usr/sys/conf/l.s are built. Inspection of l.s suggests that the
correct interrupt vector of 300 is used ... Inspection of c.c implies
that the KL11 character devices will all have major device number
0. Looking at kl.c, it seems that:
c 0 0 Console 177560
c 0 1 1st KL11 176500
c 0 2 2nd KL11 176510
...
c 0 3 1st DL11 175610
c 0 4 2nd DL11 etc. 175620
I then finish building the kernel and boot from it --- no errors.
Creating the character devices as shown, I get:
echo fred >/dev/tty0 (the console) works fine
echo fred >/dev/tty1 (1st DL11) gives ...
/dev/tty1: cannot create
So I'm back to square one. As a test I set NKL11 and NDL11 to 4 and
ran mkconf with rk and 8kl. Still doesn't work. What am I doing wrong?
I'm out of ideas ...
Another interesting thing caught my eye as I was looking at the
docs. Apparently, the system should print out memory size as it
boots. Looking at /usr/sys/ken/main.c, I can see a whole bunch of
"printf"s which print out a copyright message and memory
details. Nothing is actually displayed on the console during boot!
_main is called from m40.s, and printf is a function defined within
the kernel code itself (of course ;)
Any ideas?
Cheers, Bob.
--
----------------------------------------------------------------------------
Robert Manners Osney Laboratory
rjm(a)swift.eng.ox.ac.uk Dept of Engineering Science
University of Oxford
01865 288762
Try:
http://swift.eng.ox.ac.uk Linux - the only choice
"There's more to life than books you know, but not much more"
----------------------------------------------------------------------------