Thread (7 messages) 7 messages, 3 authors, 2007-11-28

Re: The question about the high memory support on MPC8360?

From: Scott Wood <hidden>
Date: 2007-11-27 17:03:33

vijay baskar wrote:
The kernel maps the last 1 GB of the virtual address space one to one
to the physical memory.
No, it maps 768MB of RAM in this manner.
This is called the kernel space. After the one
to one mapping is done for the available physical memory, the
remaining virtual addresses are used for vmalloc and ioremap.
And highmem mappings.
The kernel also allows hardcoded mapping
of IO regions into its virtual address space through the
io_block_mapping interface.
Not in current arch/powerpc kernels.
Many boards use the block IO mapping to
map the CCSRBAR/IMMR into the kernel address space, such that the
physical address and the virutal address is the same. Virtual
addresses beyond these hardcoded mappings cannot be used by
vmalloc/ioremap.
And this is why.
Now as more and more memory is added to the system the addresses
available for vmalloc and ioremap gets reduced, and memory allocations
start to fail, due to the lack of availability of virtual addresses.
How so?  The size of lowmem is constant once you reach the threshold, as 
is the size of the highmem mapping area.

What *does* start to fail eventually, if you have a *lot* of highmem, is 
that you run out of lowmem for pagetables and such.

-Scott
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help