Thread (10 messages) 10 messages, 5 authors, 2010-09-17

Re: linux support for freescale e5500 core?

From: Chris Friesen <hidden>
Date: 2010-09-17 06:36:32

On 09/16/2010 11:33 PM, Benjamin Herrenschmidt wrote:
On Fri, 2010-09-17 at 00:17 -0500, Kumar Gala wrote:
quoted
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.

Chris

-- 
Chris Friesen
Software Developer
GENBAND
chris.friesen@genband.com
www.genband.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help