[PATCH v2 3/8] powerpc: enable the relocatable support for the fsl booke 32bit kernel
Kevin Hao
haokexin at gmail.com
Sun Aug 4 10:38:11 EST 2013
On Fri, Jul 26, 2013 at 06:28:46PM -0500, Scott Wood wrote:
> On 07/04/2013 07:54:09 AM, Kevin Hao wrote:
> >This is based on the codes in the head_44x.S. Since we always align to
> >256M before mapping the PAGE_OFFSET for a relocatable kernel, we also
> >change the init tlb map to 256M size.
> >
> >Signed-off-by: Kevin Hao <haokexin at gmail.com>
> >---
> >v2: Move the code to set kernstart_addr and virt_phys_offset to a
> >c function.
> > So we can expand it easily later.
> >
> >Hi Scott,
> >
> >I still use the 256M align for the init tlb as in v1 for the
> >following reasons:
> > * This should be the most possible case in reality.
>
> There is no "most possible case". It's either possible (and
> supported) or not. And having less than 256M is definitely
> possible. The 8540 reference board has 64M.
>
> AMP scenarios that start on a 64M-aligned but not 256M-aligned
> address are also something I've done.
>
> > * This is just for very early booting code and should not be a
> >big issue
> > if the first tlb entry shrink to a less size later.
>
> "We can probably get away with it most of the time" is not a very
> good justification. What's wrong with the suggestion I made last
> time, of basing the size on the alignment of the address?
OK, I will use the 64M align.
>
> >+ /*
> >+ * We have the runtime (virutal) address of our base.
> >+ * We calculate our shift of offset from a 256M page.
> >+ * We could map the 256M page we belong to at PAGE_OFFSET and
> >+ * get going from there.
> >+ */
> >+ lis r4,KERNELBASE at h
> >+ ori r4,r4,KERNELBASE at l
> >+ rlwinm r6,r25,0,0xfffffff /* r6 = PHYS_START % 256M */
> >+ rlwinm r5,r4,0,0xfffffff /* r5 = KERNELBASE % 256M */
> >+ subf r3,r5,r6 /* r3 = r6 - r5 */
> >+ add r3,r4,r3 /* Required Virutal Address */
>
> s/Virutal/Virtual/
Fixed.
Thanks,
Kevin
>
> -Scott
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20130804/4f656bc9/attachment.sig>
More information about the Linuxppc-dev
mailing list