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....
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....
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
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 pice of code to sort this out).
Well, I'm off to bed - its after 2am. Oh, btw - what is the code name for
mangum 3000 machines? It seems to be jazz for the 4000. I need it for my
machine-specific directory name :-)
David
|