On Fri, 4 Apr 2003, Erik J. Green wrote: > Clearly then, the kernel is linked at the wrong address to have this work. The > question I have is, why is kseg0 used in this case? Is it due to the 32 to 64 > bit conversion that happens later on in the build? It looks like the IP27 load > address was originally 0xa80000000001c000, but was amended to 0x8001c000 for > the current CVS(2.4) kernel. Again, due to the conversion? Not all parts of the MIPS64/Linux kernel are 64-bit clean when it comes to addressing. There used to be troubles with 64-bit tools until recently, too. That's why the kernel is built with 32-bit addressing and only after the final link converted to a 64-bit object to satisfy firmware that needs such for a load. It should be fixed one day, but that's not necessarily a starter's task. -- + Maciej W. Rozycki, Technical University of Gdansk, Poland + +--------------------------------------------------------------+ + e-mail: macro@ds2.pg.gda.pl, PGP key available +