Hello Markus,
> [R4000 in 64-bit mode]
>
> I propably won't find the time to build a patched toolchain for R4000,
> so my 64-bit experiments will concentrate on the R4600.
Well, you can still use my readily available binaries. :-) This should
be quite straightforward for the Linux kernel itself and you can keep
running o32 userland for the time being. You may need to find a way to
pass "-meb" to GCC (and perhaps "-EB" to ld and gas as they may be invoked
explicitly for some reason) to ask it for big-endian code though. Or you
may ask someone to build a patched toolchain. ;-) There is no change in
code generation for non-affected configurations as a result of these
patches, so the resulting toolchain is not crippled in any way.
This won't solve the lack of necessary support in Linux 2.6, though...
> The R4000 now successfully boots to prompt using a 32-bit kernel. I'll
> try to enable "Support for 64-bit physical address space" in the next
> kernel build ;).
I guess nobody will bother if it turns out non-working. ;-)
> [R4600 tlbex.c patch]
>
> This doesn't seem to be enough. The patch applies almost cleanly on
> current CVS (offset -1 line), but the resulting kernel (I tried 64
> and 32-bit) still stops after "INIT: ...".
Well, there can be something else. But to be sure I haven't missed
anything in these TLB handlers, could you please generate the dumps I
mentioned yesterday and send them to me? You need to uncomment the
definition of DEBUG_TLB at the top of arch/mips/mm/tlbex.c for that.
Maciej
|