<p>&gt;&gt; Hi all,<br>&gt;&gt; The following link gives the memory map for the arm architecture.<br>&gt;&gt; <a href="http://www.arm.linux.org.uk/developer/memory.txt">http://www.arm.linux.org.uk/developer/memory.txt</a><br>
&gt;&gt;<br>&gt;&gt;I have the following doubts..<br>&gt;&gt;1) Any chipset(based on arm) manufacturer(qualcom,samsung..) should follow<br>&gt;&gt;the same memory map.<br>&gt;&gt;Is it hardly constrained or can be changed?<br>
&gt;&gt;Where are this constraints are implemented in the kernel source tree?</p>
<div><br>&gt;you mean, device memory map? well AFAIK that is dictated by<br>&gt;BIOS....kernel simply just follow along...</div>
<div> </div>
<div>Not the device memory map..others also like vmalloc()/ioremap region, dma_alloc() (refer that link)</div>
<div>these regions. </div>
<div> </div>
<div>i refered to qualcomm chipset memory map(based on ARM9). They just mentioned only where different devices were mapped.</div>
<div>They doesnt have this specifc adress space constraints for vmalloc, ioremap,dma_alloc etc.,</div>
<div>So i thought it is taken care by kernel. </div>
<div> </div>
<div>Please tell me where these constraints will be implemented?</div>
<div> </div>
<div>Another clarification, while assigning memory through vmalloc(), dma_alloc() kernel first </div>
<div>should check the available address space &#39;taking the constraints into consideration&#39; before returning the addresses, right?</div>
<div> </div>
<div><br><br> </div>
<div class="gmail_quote">On Tue, May 31, 2011 at 12:32 PM, Mulyadi Santosa <span dir="ltr">&lt;<a href="mailto:mulyadi.santosa@gmail.com">mulyadi.santosa@gmail.com</a>&gt;</span> wrote:<br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">Hi...<br><br>I am not ARM guy, but I&#39;ll see what I can share here..... hold your breath :)<br>
<div class="im"><br>On Tue, May 31, 2011 at 12:54, sandeep kumar &lt;<a href="mailto:coolsandyforyou@gmail.com">coolsandyforyou@gmail.com</a>&gt; wrote:<br>&gt; Hi all,<br>&gt; The following link gives the memory map for the arm architecture.<br>
&gt; <a href="http://www.arm.linux.org.uk/developer/memory.txt" target="_blank">http://www.arm.linux.org.uk/developer/memory.txt</a><br>&gt;<br>&gt; I have the following doubts..<br>&gt; 1) Any chipset(based on arm) manufacturer(qualcom,samsung..) should follow<br>
&gt; the same memory map.<br>&gt; Is it hardly constrained or can be changed?<br>&gt; Where are this constraints are implemented in the kernel source tree?<br><br></div>you mean, device memory map? well AFAIK that is dictated by<br>
BIOS....kernel simply just follow along...<br>
<div class="im"><br>&gt;<br>&gt; 2) while i was student, i read in OS concepts that, &quot;Virtual memory gives an<br>&gt; illusion to a process,<br>&gt; that it has always a larger continuous address space (even more than RAM)<br>
&gt; available to it.&quot;<br><br></div>that&#39;s true... but you need to count another limitation: addressable<br>or not by the MMU or at least processor itself?<br><br>let&#39;s say you have 16 GiB of virtual memory, composed of 4 GiB of RAM<br>
+ 12 GiB swap. Theoritically, a single process should be able to use<br>them all, but assuming we have no PAE enabled, an 32 bit system could<br>only address up to 4 GiB<br>
<div class="im"><br>&gt; So i thought i could allocate howmuch ever memory i want.<br><br></div>Also think about fragmentation...<br>
<div class="im"><br>&gt; But seeing the above link,i observed there is some limitation in the address<br>&gt; space created by the vmalloc().<br>&gt; So i m now thinking that vmalloc has some limit.<br><br></div>Yup.....<br>
<br>maybe my old article could shed a light further for you:<br><a href="http://linuxdevcenter.com/pub/a/linux/2006/11/30/linux-out-of-memory.html" target="_blank">http://linuxdevcenter.com/pub/a/linux/2006/11/30/linux-out-of-memory.html</a><br>
<font color="#888888"><br>--<br>regards,<br><br>Mulyadi Santosa<br>Freelance Linux trainer and consultant<br><br>blog: <a href="http://the-hydra.blogspot.com/" target="_blank">the-hydra.blogspot.com</a><br>training: <a href="http://mulyaditraining.blogspot.com/" target="_blank">mulyaditraining.blogspot.com</a><br>
</font></blockquote></div><br><br clear="all"><br>-- <br>With regards,<br>Sandeep Kumar Anantapalli,<br>Senior Software Engineer,<br>Samsung India Software Operations,<br>Bangalore.<br><br>