[Top] [All Lists]

Re: MIPS 64?

To: "Jun Sun" <>, "Daniel Jacobowitz" <>
Subject: Re: MIPS 64?
From: "Kevin D. Kissell" <>
Date: Thu, 16 May 2002 09:15:40 +0200
Cc: "Matthew Dharm" <>, "Linux-MIPS" <>
References: <> <> <>
Jun Sun wrote:
> Daniel Jacobowitz wrote:
> > On Wed, May 15, 2002 at 02:34:47PM -0700, Matthew Dharm wrote:
> > 
> >>So... I'm looking at porting Linux to a system with 1.5GiB of RAM.
> >>That kinda blows the 32-bit MIPS port option right out of the water...
> >>
> > 
> > Not unless you count bits differently than I do... 32-bit is 4 GiB.  Is
> > there any reason MIPS has special problems in this area?
> > 
> MIPS has lower 2GB fixed for user space.  Then you have kseg0, .5GB for 
> cached 
> physical address 0-0.5GB, and kseg1, 0.5GB uncached mapping of the same area. 
>   You can map another 1GB of RAM into kseg2/3, but you will then have no 
> space 
> left for IO.
> So you really can't do 1.5GB on 32 bit kernel.

Is this to say that Linux cannot function unless all physical memory
on the system is mapped at all times into kernel space?  I would
have thought that (a) all that really needs to be mapped is all
memory used by the kernel itself, plus that of the currently active
process (which is mapped in the 2GB kuseg), and that (b) one 
could anyway manage kseg2 or 3 dynamically to provide a window 
into a larger physical memory, and that this window could be
used for any functions that need to do arbitrary phys-to-phys

I'm not sure what people's definition of a "64-bit kernel"
is around here, but to me, that's a kernel which supports
64-bit virtual addressing and 64-bit registers.  It strikes
me as being rather foolish to impose the overhead of all
that on people whose only real requirement is 2G of RAM
on a 32-bit CPU.  Particularly when many of the new
MIPS parts that could plausibly be connected to 2GB
RAM arrays, such as the Alchemy/AMD and MIPS 4K
parts, don't support 64-bit operation.  So running away
from the problem isn't really an option.


            Kevin K.

<Prev in Thread] Current Thread [Next in Thread>