On Wed, Apr 7, 2010 at 10:44 PM, H. Peter Anvin <hpa@xxxxxxxxx> 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 -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ