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.
|