Re: Relocatable kernel for ppc44x
From: Scott Wood <hidden>
Date: 2011-06-15 19:47:21
On Wed, 15 Jun 2011 20:11:55 +1000 Benjamin Herrenschmidt [off-list ref] wrote:
On Wed, 2011-06-15 at 11:43 +0530, Suzuki Poulose wrote:quoted
On 06/14/11 17:34, Michal Simek wrote:quoted
Hi, have someone tried to support RELOCATABLE kernel on ppc44x?As Josh, mentioned, I will be working on this. In fact I was trying a couple of patches towards this on PPC440x. But, I am stuck in debugging the hang that I am experiencing with the changes. I am setting up a RISCWatch processor probe to debug the same. Here is some information that I wanted to share : The PPC440X currently uses 256M TLB entries to pin the lowmem. When we go for a relocatable kernel we have to : 1) Restrict the kernel load address to be 256M alignedWait a minute ... :-) There's a difference between having the kernel run from any address and mapping the linear mapping not starting at 0. Those are completely orthogonal. I don't see why off hand you are changing the way the TLB is used. The only possible change needed is to make sure the initial bolted entry set by the asm code properly covers the kernel in whatever it's "current" location is. The rest is a matter of fixing up the relocations...
Changing where the linear mapping points to is useful for AMP configurations where you're supposed to be considering your memory to be a subset of the real memory. This is implemented on e500 as CONFIG_RELOCATABLE, though it should have been called something different since it's not really building a relocatable kernel (unlike what 64-bit does with CONFIG_RELOCATABLE). -Scott