Michael Engel (firstname.lastname@example.org) writes:
> Afaik, the physical address space goes from 0x0 to 512 MBytes, so the
> 0x80030000 should be a virtual address. Or did I get sth. wrong there ?
Well, yes, but no. Let's stick to 32-bit addresses for now (that
works even on 64-bit MIPS CPUs):
The MIPS CPU doesn't have a switch to turn memory translation on and
off. Instead it breaks virtual addresses down into regions:
0x0000 0000 -> 0x7fff ffff "kuseg" - user-accessible, translated
0x8000 0000 -> 0x9fff ffff "kseg0" - cached window to physical 0->512Mbyte
0xA000 0000 -> 0xbfff ffff "kseg1" - uncached window to phys 0->512Mbyte
0xc000 0000 -> 0xffff ffff "kseg2" - kernel-only, translated
A unix kernel therefore runs in program addresses from 0x8000 0000
upwards, where it can run cached without translation overhead.
Then the MIPS architecture puts its exception vectors (trap entry
points) down at 0x8000 0000 and nearby.
DEC must be doing something with the bottom 192Kbytes of
memory.... but that's there problem.
You need the MIPS book. But if you can handle Adobe PDF ("acrobat")
format, I think IDT still have the "3051 family software manual"
online; and it covers most of this stuff (I guess I should admit
having written most of it). It's at:
Dominic Sweetman phone: +44 171 700 3301
Algorithmics Ltd home: +44 171 226 0032
3 Drayton Park fax: +44 171 700 3400
London N5 1NU email: email@example.com
ENGLAND. www: http://www.algor.co.uk