RE: Discontigmem for ep93xx

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


On Monday, November 10, 2008 9:39 AM, Marco wrote:
>>> I'm using the TS-7200 board. The support for that board is built-in 
>>> in the kernel. I'm using even a kernel version provided by the 
>>> manufacturer. There's a big difference about the memory management. 
>>> In the official kernel there's no declaration of discontigmem and
the 
>>> asm-arm/mach-ep93xx/memory.h is very simple.
>> 
>> Discontigmem got removed - it's supposed to be used for NUMA, and so 
>> has additional complexities that just aren't required.  Eventually, 
>> discontigmem will be removed from the mainline kernel in its
entirety.
>
> Ah ok, but starting from which kernel version?
>
>> 
>> Sparsemem replaces this, and I've been half-heartedly trying to get 
>> people to change over to this for the last few years.  For the last 
>> merge window, I pushed this harder, and converted everything over to 
>> sparsemem.
>> 
>> Have a look at 07f841b7c587a3cbf481509be09ba5eda05f8d31 to see what's

>> required.  Unfortunately, I don't have time (concall right now) to go

>> through the complexities to convert that to a git URL, so you'll have

>> to look up that commit yourself.
>> 
>
> However there's something strange for this board, because I'm seeing
> for example the kernel 2.6.26, but neither sparsemem or discontigmem
> are enabled. In addition some information (for example how it's
"sparse"
> the mem, etc.) are missing. Even if now the new "philosophy" is
> sparsemem I should find somewhere (more or less) the same information,
> i.e. the board has got four "segment" of ram each of 8MB with
different
> addressees, and so on, right?

The default memory configuration for the ep93xx ends up being
FLATMEM_MANUAL.  This technically isn't correct because of the holes
created in the ep93xx memory map depending on the type of actual sdram
connected to the processor.  The map is even more messed up if the
SROMLL bit is not set in the SDRAMDevCfg[3:0] register.

Refer to
http://arm.cirrus.com/files/HOWTO/EP93xx%20SDRAM%20Address%20Ranges.pdf
for more information.

The holes can cause some problems but the kernel does correctly find the
sdram memory and ranges that it occupies.  The patch that added
ARCH_FLATMEM_HAS_HOLES overcomes the problems.

I have been trying to test Russell's patches for SPARSEMEM on the ep93xx
but have been unsuccessful so far.  Probably not because of the patch
itself but because I missed something is applying it.  I will try to get
it applied correctly and retest.

Hartley

-------------------------------------------------------------------
List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
FAQ:        http://www.arm.linux.org.uk/mailinglists/faq.php
Etiquette:  http://www.arm.linux.org.uk/mailinglists/etiquette.php

[Linux ARM]     [Linux ARM MSM]     [Linux ARM Kernel]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

Add to Google Follow linuxarm on Twitter