How does Linux treat memory above the "mem=" mark?
Kumar Gala
galak at kernel.crashing.org
Wed Oct 18 23:42:53 EST 2006
On Oct 17, 2006, at 1:04 PM, Howard, Marc wrote:
> Hi,
>
> I have a PPC440GX board with 512M of memory. I use "mem=496M" boot
> argument to keep Linux from using the uppermost 16MB of memory. That
> region of memory is instead used for hardware communications.
> Occasionally however the CPU will read/write this space as well.
>
> My questions concerns TLB entries. How does Linux define this
> region in
> the TLB? Does it define this region as non-cacheable in the TLB? If
> not, what is the correct way to define an area of memory that is
> outside
> the OS's control as non-cacheable?
Linux will not touch the the memory from 496 to 512M. If you want to
have access to it you'll have to explicitly map it. Depending on
what type of mapping you use will get different page attributes. For
example of use ioremap() it will be marked non-cacheable/guarded (I
forget if 44x adds any other attributes).
It sounds like you want to access the region as non-cacheable, you
can than just use ioremap() to get the desired effect.
- k
More information about the Linuxppc-embedded
mailing list