linux support for freescale e5500 core?

Kumar Gala galak at kernel.crashing.org
Fri Sep 17 17:39:44 EST 2010


On Sep 17, 2010, at 1:36 AM, Chris Friesen wrote:

> On 09/16/2010 11:33 PM, Benjamin Herrenschmidt wrote:
>> On Fri, 2010-09-17 at 00:17 -0500, Kumar Gala wrote:
>>> Not sure how the 970 bit worked, but this seems a bit problematic for
>>> switching between kernel and application for how we do this on
>>> e500mc/e5500.  We'd have to touch the control bit on every exception
>>> path which seems ugly to me.
>> 
>> Unless the kernel uses dcbzl (feature fixup replacement ?)
>> 
>> In that case it's on context switch only.
> 
> This is basically what we did.  Kernel and system libraries (glibc and
> friends) always use dcbzl, process flag indicates compatibility, touch
> the control bit on task context switch if the prev and next processes
> have different compatibility modes.
> 
> On the 970 you have to invalidate the entire icache whenever you change
> the control bit.  This is a pain involving a loop that calls icbi on 512
> cachelines.

I'm pretty sure on e500mc / e5500 you only need proper sync/isync/msync after the change in the control register.

- k


More information about the Linuxppc-dev mailing list