On Fri, 4 Apr 2003, Erik J. Green wrote: > I get the following messages when I try to boot the (very slightly) modified > linux kernel I am working with: > > --start messages > > Obtaining /vmlinux.64 from server > 1813568+1150976+172144 entry: 0xa8000000211c4000 > > *** PROM write error on cacheline 0x1fcd3b00 at PC=0x211c4018 RA=0xffffffff9fc5ace4 > > --end messages > > The PC address is the first instruction in head.S (mips64) that touches the > control register. I've tried multiple fixes, including initializing the whole > TLB before the error occurs. Same error. 0x211c4018 is a mapped address, which you can't use that early in a boot. > Can anyone tell me: > > 1) What does this error text mean exactly? An unhandled exception happened due to using a mapped address. The PROM caught it and reported. > 2) What is "RA"? The address is a location in the PROM text/stack section. It's a CPU register, otherwise known as $31, where the return address is stored by most of the jump-and-link and branch-and-link instructions. Here it's an address in the PROM following the "jalr" instruction that invoked the kernel. > 3) Am I missing something simple? An initialization, a rule I'm not following? You really want to link your kernel at a KSEG0 address (otherwise you'd need to struggle with the kernel and the tools to get an unsupported yet configuration to work). Basically this means setting LOADADDR in arch/mips64/Makefile appropriately. See how it's done for other platforms. -- + Maciej W. Rozycki, Technical University of Gdansk, Poland + +--------------------------------------------------------------+ + e-mail: macro@ds2.pg.gda.pl, PGP key available +