Re: OpenBSD on the VXT2000

Hugh Graham <[email protected]> Sat, 14 Dec 2002 20:50:14 -0800
Newsgroups gmane.os.openbsd.vax
Message-ID <[email protected]>
On Sun, Dec 15, 2002 at 04:35:53AM +0100, Anders Gavare wrote:
> Hello.
> 
> I recently got a VXT2000 (diskless X Terminal). It is not supported by
> OpenBSD. Not even the default boot.mop program (from 3.2) seems to work.
> A quick glance through the sources (.../vax/boot/boot/consio.c) seems to
> indicate that routines called vxt_putchar() etc are used.

Yea, ragge added this to NetBSD a while back so we picked it up.

> 
> Unfortunately, my VXT2000 doesn't work with those routines. ROM routines
> have to be used instead. The thing that complicates things is that the
> machine called 'vxt' in the sources is actually a VXT2000+, which is not
> a VXT2000.  The SID of my machine is 0x14000006, and the board type
> becomes 0x14000008 (which also unfortunately is the same as the
> VXT2000+).

What's the rest of the XSID? (The "boardtype" only uses 8 bits of
this register, but there's often more info there that can be used to
tell one model from another.)

On most models you can view the SIE (VMS calls it XSID) by:
	E/P 20040004

The low 8 bits of the SID, on the other hand, can be a bit misleading.
I believe that on most machines these denote the firmware versions,
so it might work to tell one particular vxt2000 from a particular
vxt2000+, but would start failing as you looked at more machines.

View the SID with:
	E/I 3e

Unfortunately none of these rules seem to have been well followed by
DEC, and you can find plenty of gory violations in locore.c.

> 
> I've modified consio.c and have gotten as far as getting boot.mop to
> run, print stuff to the console, detect SGEC ethernet, and it is able to
> do rarp + bootparam + mount to download a kernel into memory.  But the
> kernel of course only halts the cpu. (I'm crosscompiling the 3.2 sources
> on a SPARCstation 4 using OpenBSD 3.0... binutils isn't 64-bit clean so
> it breaks randomly on my alpha. Compiling the entire kernel takes quite
> a while.)
> 
> Is there any interest at all in supporting the VXT2000, or should I
> just forget this?

I'm interested in patches, certainly. If you're enthusiastic, we should
probably apply ourselves to finding you a VXT2000+ as well, so you can
work on them side by side so as to net break any support that exists
for the other.

Anyone able to help this guy out? (I don't have access to etiher model.)

> 
> What is the SID of a VXT2000+ ?  There has to be a way to decide which
> putchar routines etc to use, and the board type is not useful.

Go into locore.c and findcpu.c and have a look at how 4000/vlc is
identified as opposed to mv3100m30, or 4000/60 from mv3100m80.
Something similar may have to be done, although earlier.

It helps to have docs, but unfortunately these are rare. I do keep a
database of SID/XSID data for all the various systems, and once I've
collected several entries I make an educated guess about how to use
other fields reliably.

In the meantime, by all means send in patches and any probe data that
might be useful. You're certainly not the only person to have obtained
a VXT recently.

/Hugh

> 
> 
> Anders