 |
| Author |
Message |
|
|
Posted: Sep 06, 2010 - 04:09 PM |
|

Joined: Sep 06, 2010
Posts: 2
|
|
Hi all,
does anybody know where I might find a description of the virtual memory layout of AVR32 linux? I mean something like the table at http://www.arm.linux.org.uk/developer/memory.txt, but for AVR32. I have been googling for a while, but I was not able to find it.
Thanks a lot! |
|
|
| |
|
|
|
|
|
Posted: Sep 07, 2010 - 07:25 AM |
|


Joined: Jan 07, 2003
Posts: 4580
Location: Oslo, Norway
|
|
|
|
|
|
|
Posted: Sep 07, 2010 - 08:10 AM |
|

Joined: Sep 06, 2010
Posts: 2
|
|
Thanks hce.
If you mean the picture at page 48, I have already seen that. What I am trying to understand is what is mapped by the kernel in the cachable segments (P1 and P3). For instance, where are skb data structures (used by the TCP stack to store messages) allocated? |
|
|
| |
|
|
|
|
|
Posted: Sep 17, 2010 - 12:08 PM |
|


Joined: Apr 26, 2006
Posts: 1079
Location: Trondheim, Norway
|
|
The kernel image as well as everything allocated from the page allocator and slab allocator is located in the P1 segment. vmalloc() and vmap() use the P3 segments to set up virtual mappings of discontiguous physical regions (used by the module loader, for example). ioremap() use the P2, P3 and P4 segments, depending on the physical address and the cache policy (it tries to use P2 and P4 first because they don't need any precious TLB entries, but falls back to P3 if necessary).
The skb data structures are allocated through kmalloc() and are located in the P1 segment. |
|
|
| |
|
|
|
|
|
|
|