Subject: Re: About this MOP business..
To: Andreas Fredriksson <dep@canit.se>
From: Mats O Jansson <maja@celsiustech.se>
List: port-vax
Date: 04/22/1997 14:26:25
On Tue, 22 Apr 1997, Andreas Fredriksson wrote:
>
> Hello all.
>
> I'm sitting here with a uVAX 3600, RA82, RA70, 32M ram, Ethernet card.
>
> Why doesn't any of the mop images found in any distribution work on this
> machine? Has anyone successfully mop'd a 3600? In that case I'd love a
> copy of the image you sent over, just to see if the hardware is ok. =:)
>
I have seen better problem reports :-) What does not work? Do you get an
error message?
Still I think I know what your problem is. When I was playing with a MV3300
some weeks ago I found that old bootblock worked but new didn't. I caused a
SBC2INT when executing. After some debugging I found that it crashed when
it was trying to do console io.
I think before the post 1.2 code appeared in NetBSD-current, KA650 used
the mtpr routines in arch/vax/boot/consio like KA630. But in current it
uses some rom routines.
The reason for changing is obvious, there is some versions of these machines
that have a graphical subsystem. In that case the mtpr routines can't be
used, since they only works at serial console.
As it is now consio expects that there is two routines in rom. One to
read a character and one to write a character. The problem with the KA650
series is that the don't have a routine to write a character. They have a
routine to write a string. So a routine must exists that converts a
character to a string descriptor before calling the rom routine.
/*
* int rom_outmsg (int c) ==> putchar() using ROM-routines
*/
asm("
.globl _rom_outmsg
_rom_outmsg:
.word 0x04 # save-mask: R2
movzbl 4(ap),-(sp) # save character on stack
movl sp,-(sp) # add pointer to character
pushl $1 # and complete string descriptor
movl sp,r0 # setup argument for outmsg
jsb *_rom_putc # write it
movl $1,r0 # assume success
ret # that's all
");
But I think even the getchar routine must be replace with another to get
things to work. But I was in the middle of all this when I got occupied
with thing of a higher priority... But I think I had problems with getc
when I put it aside.
The adresses in rom for putmsg is 0x2004000c and getc is 0x20040008.
> One other thing, don't know if this is done already; why not transfer a
> small filesystem (miniroot), and a kernel in mop'able format and install
> from there (kernel mounts ramdisk and has some binaries there), much like
> the various install disks for Linux, FreeBSD and so on.
>
> ---
> Andreas Fredriksson :: Dep/Stellar :: dep@canit.se :: www.canit.se/~dep
>
>
-moj
------------------------------------------------------------------------------
Mats O Jansson, CelsiusTech Systems, Jaerfaella, Sweden
email: maja@celsiustech.se (or moj@stacken.kth.se)