Subject: Re: Halfway booted an uV3100/M40
To: None <port-vax@netbsd.org>
From: None <carlini@bulean.ENET.dec.com>
List: port-vax
Date: 05/24/1999 09:41:02
"michael@camaronet.de" "Michael Kukat" wrote: 

> Ok, that's what i wanted to know. So we only use byte 3 and 1 and should get
> one unique value for every box uxing this SYS_TYPE value. Maybe we sometimes
> may need a differentiation of the firmware version or so, but in those special
> cases we can check it in the boards own block.

Sounds about right. In fact looking through some code I have you could do
something like this to be completely general. (Where I referred to SYS_TYPE
earlier, the arch manual calls it SIE and SYS_TYPE is SIE<31:24>) :

	For SID<31:24> = 1-7,14,17
		No SIE
	For SID<31:24> = 9, 12, 13, 15, 21, 22, or >= 25
		No such machine!
	For SID<31:24> = 8, 10, 11, 20
		Read SIE from 0x20040004
	For SID<31:24> = 16 (rtVAX) , 24 (NVAX5)
		No idea!
	For SID<31:24> = 18, 19
		Read SIE from 0xE0040004
	For SID<31:24> = 23 (NVAX+)
		Read SIE from CHALT

> We've 8 bits free for some other cases :-)

There are some systems where you need more than SYS_TYPE and SYS_DEP
and you have to look at other bits (e.g. KA692 vs KA694). But in all those
cases there is little (if any) difference in system support, except maybe
speed. As you say, those are best handled in CPU-specific blocks to avoid
cluttering the main identification code.

> Antonio, you seem to know nearly everything about these DEC boxes. One little
> question: I'm looking for the serial consooe port of the VAX 4000-300 (KA670),
> it is located on the CPU board and i don't know if it's QBUS addressable or if
> it uses an own CSR. Do you know something about it ?

The KA670 uses the standard RXCS/TXCS etc. much like the VAX-11/780 and
friends. I haven't compared the description in the manual (EK-KA670-TM) with
the one in the old hardware handbooks for the VAX-11/780 and the like but it
appears to be superficially similar. Try setting the code up to just use the
same console routine(s) as the big old iron and you may just get away with it.
(I don't know how easy it is to do this on NetBSD as I've never looked).

Just in case this doesn't work and you want to have some way of talking to the
outside world, the Boot and Diag register lives at 0x20140030. The spec is
	<31:04>	- MBZ
	<03:00>	- Each bit set lights one of the four CPU LEDs

Use longword (MOVL) read/write instructions (well the book says read/write but
why you ever would want to *read* I don't know ...).


I found this kind of primitive printf pretty useful when mucking about on Alpha
stuff some time ago.

Antonio