linux-mips-fnet
[Top] [All Lists]

Re: 3230 - it links and loads - and faults...

To: linux-mips@guadalquivir.fnet.fr
Subject: Re: 3230 - it links and loads - and faults...
From: paul@suede.sw.oz.au (Paul Antoine)
Date: Mon, 12 May 1997 11:26:35 +1000 (EST)
In-reply-to: <ML-3.1.863367592.1942.davidm@fuzzbox.psrg.cs.usyd.edu.au> from "David Monro" at May 12, 97 02:19:52 am
Organization: Softway Pty Ltd
David Monro, very early this morning, wrote

> Well, I actually got a kernel for the magnum3000 to link, and got
> the machine to download it over the net and attempt to run it....

Yay!!!

> Firstly - thanks to Paul for lots of help and advice. Linking with
> -b elf32-bigmips -oformat ecoff-bigmips was most of the trick. Apart
> from that, creating a dummy file for a few undefined references (mem
> start and end etc) and commenting out a pmax_print was most of what
> was needed. I also copied the dec/ld.script and just changed the
> ouptut format and the origin, which probably isn't quite right....

Well, it's actually fine for the moment.

> Of course, it faults immediately with no other output - but hey,
> what else would I expect:
>  
> EXCEPTION: <vector=NORMAL>
> Exception pc: 0x8010ed4c
> Cause register: 0x30001010<CE=3,IP5,EXC=RADE>
> Status register: 0x8004<IM8,IPL=7,IEp>
> RAMBO Regs:  Error=0x200100  Ch1Mode=0x400  Ch2Mode=0x60000047
> Bad Vaddress: 0xfffffff9

This is still pretty momentus!

> The pc is in bi_TagFind, which actually seems to be right
> (kernel_entry calls bi_EarlySnarf calls bi_TagFind, which will fault
> on a random address since mips_memory_upper contains whatever
> happened to be an a0 when I booted it. I guess I had better write a
> pre-kernel_entry piece of code to sort this out).

Indeed - in fact you should be able to use a lot of the DECStation
code for this, particularly:

        mips/dec/
                boot.S
                decstation.c (modified somewhat into magnum.c)
                bitags.c (needed to be able to add tags)
        mips/lib/
                dec_promio.S
                dec_whichprom.c (don't know if you need this)

This code's in the 2.1.14, and dec-promio.S file has all the new stuff
I've integrated from Frieder et al for the DS2100/3100's. You should
be able to use most of it, as the PROM-callbacks for the MIPSen are
near identical.  Frieder has also included memory-sizing code that you
should be able to use, though I think the MIPSen may have a way of
getting that info. from the PROMs...

I'll probably be uploading a DEC 2.1.14 source snapshot for folks to
play with later this week, prior to integrating the code into 2.1.36
and doing a formal release.

> Well, I'm off to bed - its after 2am.

And a well deserved rest it is too...

> Oh, btw - what is the code name for magnum 3000 machines? It seems
> to be jazz for the 4000. I need it for my machine-specific directory
> name :-)

I think 'magnum' would be fine, as jazz is used for the 4000. :-)

Well done!

Regards,
Paul
_______________________________________________________________________________
Paul M. Antoine,                                        Net: paul@sw.oz.au
Softway Pty Ltd                                         WWW: www.softway.com.au
PO Box 305, Strawberry Hills, NSW 2012, Australia       Tel: +61 2 9698 2322
Level 2, 79 Myrtle St, Chippendale, NSW 2008, Australia Fax: +61 2 9699 9174

"It is the lack of acceptance of diversity which threatens to 
 destroy society, NOT the free expression of it." - Me.

<Prev in Thread] Current Thread [Next in Thread>