Still trying v6 build for multiple DL11s ...

Bob Manners rjm at
Tue Dec 5 20:12:17 AEST 1995

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 at                          Dept of Engineering Science
                                                University of Oxford
                                                01865 288762
Try:                  Linux - the only choice

      "There's more to life than books you know, but not much more"

More information about the TUHS mailing list