[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Attempt to fix #189031



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



Reply to: