On Thu, Apr 8, 2010 at 7:53 AM, Nobin Mathew <nobin.mat...@gmail.com> wrote:
> On Wed, Apr 7, 2010 at 10:44 PM, H. Peter Anvin <h...@zytor.com> wrote: > > On 04/07/2010 09:48 AM, Himanshu Aggarwal wrote: > >> I think for some architectures, the position of highmem is constrained > >> by hardware as well. It is not always a kernel decision and not always > >> configurable as in case of x86. > > > > > > This is correct. > > > >> In case of MIPS32, low memory is between 0 and 512 MB and high memory > >> starts above 512 MB. Also the user space is of size 2 GB. > >> > >> Please see the definition of macros PAGE_OFFSET and HIGHMEM_START at : > >> > http://lxr.linux.no/linux+v2.6.33/arch/mips/include/asm/mach-generic/spaces.h > > > > Right so far... > > > >> This is because MIPS32 processors have KSEG0 and KSEG1 segments lying > >> between 0 and 512 MB and KSEG2/3 lies above it. > >> > >> May be someone on the group can confirm this. > > > > Wrong. I have to say this thread has been just astonishing in the > > amount of misinformation. > > > > On MIPS32, userspace is 0-2 GB, kseg0 is 2.0-2.5 GB and kseg1 is 2.5-3.0 > > GB. kseg2/3 (3.0-4.0 GB), which invokes the TLB, is used for the > > vmalloc/iomap/kmap area. > > > > LOWMEM has to fit inside kseg0, so LOWMEM is limited to 512 MB in thie > > current Linux implementation. > > http://www.johnloomis.org/microchip/pic32/memory/memory.html > > So what is the memory division here in mips, again 1:3? > > kseg2 is already 1 GB address space? > > > -Nobin > I think for MIPS32 it should be 1:1. 2 GB user space and 2GB kernel space. If it is correct, I was just wondering : Isn't 2 GB user space for MIPS32 not "less" or "insufficient" as compared to 3 GB for i386 etc. ~Himanshu Aggarwal