<br><br><div class="gmail_quote">On Wed, Jun 15, 2011 at 11:30 AM, David Laight <span dir="ltr"><<a href="mailto:David.Laight@aculab.com">David.Laight@aculab.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"><br>
> The PPC440X currently uses 256M TLB entries to pin the<br>
> lowmem. When we go for a relocatable kernel we have to :<br>
><br>
> 1) Restrict the kernel load address to be 256M aligned<br>
><br>
> OR<br>
><br>
> 2) Use 16M TLB(the next possible TLB page size supported)<br>
> entries till the first<br>
> 256M and then use the 256M TLB entries for the rest of lowmem.<br>
<br>
</div>What is wrong with:<br>
<br>
3) Use 256M TLB entries with the lowest one including<br>
   addresses below the kernel base.<br>
<br>
Clearly the kernel shouldn't be accessing the addresses<br>
below its base address - but that is true of a lot of<br>
address space mapped into the kernel.<br></blockquote><div><br></div><div>It gets mucky since we will then need need to assess how much of that 256M mapping will be above the kernel base, determine if that is sufficient to boot the kernel, if not then setup additional 16MB mappings and so on.  It might be cleaner to just use multiple 16MB mappings directly?</div>

<div><br></div><div>By the way we have some patches to support a non-zero (but fixed) boot address for PPC440.  They are against 2.6.31, it's pretty simple stuff except also requires changes in the simpleboot wrapper.  We will post them shortly since they are relevant to this discussion.</div>

<div><br></div><div>John</div><div>-- </div></div>John Williams, PhD, B. Eng, B. IT<br>PetaLogix - Linux Solutions for a Reconfigurable World<br>w: <a href="http://www.petalogix.com" target="_blank">www.petalogix.com</a>  p: +61-7-30090663  f: +61-7-30090663<br>