<div dir="ltr"><div id="WISESTAMP_SIG_8277"><div style="font-size:13.3px;font-family:Verdana,Arial,Helvetica,sans-serif"><div style="width:auto;padding-top:2px;font-size:70%;border-top:1px solid #eeeeee;margin-top:10px">     </div>

                <img src="https://wisestamp.appspot.com/pixel.png?p=chrome&v=3.11.16.100&t=1344311412289&u=e11f5d100c4ca423" width="1" height="1">The problem is that the page table itself must be aligned to 1KB address. I do not know how malloc is implemented to allocate memory, i hope malloc allocates memory that its address is multiple of 1KB, otherwise i think i will have to statically allocate memory for page tables at linker script. </div>
</div><br><div class="gmail_quote">On Mon, Aug 6, 2012 at 11:57 PM, Joel Sherrill <span dir="ltr"><<a href="mailto:joel.sherrill@oarcorp.com" target="_blank">joel.sherrill@oarcorp.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 08/06/2012 10:31 AM, Gedare Bloom wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Whether defined statically or allocated dynamically the access time<br>
should not differ. The main issue would be whether you would need the<br>
memory available before bringing up the RTEMS Workspace. I don't think<br>
this is the case, so you could allocate the region from<br>
Workspace_Allocate.<br>
</blockquote></div>
If you do it via Workspace_Allocate, then it has to be accounted<br>
for in confdefs.h.<br>
<br>
I would recommend simply using malloc().<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
All targets support dynamic allocation via malloc. The setting of<br>
HeapSize=0 is misleading; probably the actual size is determined<br>
during boot by the BSP's 'get workspace' function. Usually the BSP is<br>
given the 'rest' of the memory after static sizes for code and data<br>
are determined, and some BSPs will split this remainder between Heap<br>
and Workspace (RTEMS kernel internal heap), or will provide a shared<br>
(unified) heap and workspace that satisfies allocations to each. RTEMS<br>
Workspace size is bounded based on how the user application configures<br>
the kernel, so at runtime the BSP can determine how much space to<br>
reserve for the workspace and give the rest to the C program heap<br>
(malloc).<br>
</blockquote></div>
0 is defined to mean give all available memory to the C Program Heap.<div class="HOEnZb"><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
-Gedare<br>
<br>
On Sat, Aug 4, 2012 at 5:14 PM, Hesham Moustafa<br>
<<a href="mailto:heshamelmatary@gmail.com" target="_blank">heshamelmatary@gmail.com</a>>  wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I intended to dynamically allocate memory for it, but i thought it would be<br>
faster to define an area for lvl2 page tables to access/allocate them<br>
faster. I just want to be sure that CSB337 implement malloc. I noticed that<br>
line at linker script for CSB337<br>
<br>
HeapSize = 0;<br>
<br>
that why i am inquiring about that issue.<br>
<br>
thanks,<br>
Hesham<br>
<br>
<br>
On Sat, Aug 4, 2012 at 11:02 PM, Joel Sherrill<<a href="mailto:Joel.Sherrill@oarcorp.com" target="_blank">Joel.Sherrill@<u></u>oarcorp.com</a>><br>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Does it have to be placed in the linker script?<br>
<br>
Can you dynamically allocate it as the properly needed size?<br>
______________________________<u></u>__________<br>
From: <a href="mailto:rtems-devel-bounces@rtems.org" target="_blank">rtems-devel-bounces@rtems.org</a> [<a href="mailto:rtems-devel-bounces@rtems.org" target="_blank">rtems-devel-bounces@rtems.org</a><u></u>] On<br>
Behalf Of Hesham Moustafa [<a href="mailto:heshamelmatary@gmail.com" target="_blank">heshamelmatary@gmail.com</a>]<br>
Sent: Saturday, August 04, 2012 7:52 AM<br>
To: <a href="mailto:rtems-devel@rtems.org" target="_blank">rtems-devel@rtems.org</a><br>
Subject: [GSoC] Defining Memory for MMU page tables at CSB337<br>
<br>
Hi,<br>
<br>
I want to define memory for page tables at CSB337 BSP.<br>
<br>
The following is quoted from lincmds.csb337<br>
<br>
MEMORY {<br>
SDRAM_MMU : ORIGIN = 0x20100000, LENGTH = 16k<br>
SDRAM : ORIGIN = 0x20104000, LENGTH = 15M - 16k<br>
SRAM : ORIGIN = 0x00200000, LENGTH = 16k<br>
NIRVANA : ORIGIN = 0, LENGTH = 0<br>
}<br>
<br>
That only allocate page table for level 1 page table which is 16 k ( each<br>
entry represents 1M page of memory). I'd like to add level 2 page tables to<br>
represent 4k pages. A level-2 page table consists of 256 entry and consumes<br>
1K of memory and its base address is installed at level-1 page table entry.<br>
<br>
The question is what's the proper size of level-2 page tables to reserve<br>
from memory and what should be its base address (ORIGIN) to be written at<br>
that linker script ?<br>
<br>
Thanks,<br>
Hesham<br>
</blockquote>
<br>
<br>
______________________________<u></u>_________________<br>
rtems-devel mailing list<br>
<a href="mailto:rtems-devel@rtems.org" target="_blank">rtems-devel@rtems.org</a><br>
<a href="http://www.rtems.org/mailman/listinfo/rtems-devel" target="_blank">http://www.rtems.org/mailman/<u></u>listinfo/rtems-devel</a><br>
<br>
</blockquote></blockquote>
<br>
<br></div></div><span class="HOEnZb"><font color="#888888">
-- <br>
Joel Sherrill, Ph.D.             Director of Research&   Development<br>
joel.sherrill@OARcorp.com        On-Line Applications Research<br>
Ask me about RTEMS: a free RTOS  Huntsville AL 35805<br>
    Support Available             (256) 722-9985<br>
<br>
<br>
</font></span></blockquote></div><br></div>