I'm attempting to port the Linux kernel to an NCD HMX, an R4600-based
I've currently got it to the point where it will download the kernel and
execute it, and start printing some messages out on the screen.
It gets as far as printing the physical RAM map and then crashes, but I'm not
Determined physical RAM map:
memory: 00800000 @ 40250000 (usable)
memory: 00040000 @ 9fc00000 (ROM data)
Wasting 8407552 bytes for tracking 262736 unused pages
TLB refill exception PC = 40024094 address = 7FFFF000
The last message is from the boot monitor (the kernel is loaded at address
0x40020000.) I'm just guessing with the memory map, but I've tried lots of
different values with the same result, and I'm fairly sure there is RAM mapped
to the address I have used above (it's after the end of the kernel.) At any
rate the error message is from a completely different address, and it still
happens if I flag that area as reserved memory in the RAM map.
Some of the MIPS devices don't seem to have code to create a memory map, so
I'm wondering whether this is necessary or if there's a generic MIPS way to
retrieve the current mapping.
Also, if anyone has any ideas what the kernel is trying to do accessing that
invalid address I could use some hints!