Greg Lindahl wrote: > > > Why does that make a difference? I suppose that I don't know the > > > details of what mode things like the context switch routines run in. > > > From looking at the code, it would seem that it's the 32-bit mode in > > > the 32-bit kernel. > > > > What anwers your question. N32 will need e.g. to save&restore 64bit > > wide registers, does syscalls with 64bit registers and so on. > > A 32bit kernel doesn't know how to handle this. > > That doesn't answer my question; you do not make it clear if it is > impossible for a 32-bit kernel to save the contents of a 64-bit > register, or if it's merely missing code.
Well, it is the definition of the 32bit kernel to provide a 32bit environment, because it has to run on 32bit only CPUs. This means: 32bit address space (36bit with highmem) and 32bit wide registers, suitable for O32 ABI. > Since I've only dealt with > mips64, I don't know what limitations that the mips32 architecture > has. You mean MIPS64 and MIPS32 ISA, which is only one aspect of the whole thing. You can e.g. easily run a 32bit kernel on MIPS64. A bit of MIPS history to avoid confusion: The first MIPS CPU (R2000) implemented the 'MIPS I ISA', the successors then MIPS II, MIPS III, MIPS IV. Each of these ISAs is a superset of the previous ones, MIPS III was the first 64bit capable one. MIPS V never materialized. MIPS64 is again a superset of MIPS IV. MIPS32 however is an enhanced MIPS II variant, and is not 64bit capable. Thiemo

