kexec on e300 core / mpc5121
Kenneth Johansson
kenneth at southpole.se
Thu Aug 6 10:20:50 EST 2009
On Wed, 2009-08-05 at 18:47 -0500, Scott Wood wrote:
> On Thu, Aug 06, 2009 at 12:49:45AM +0200, Kenneth Johansson wrote:
> > On Wed, 2009-08-05 at 01:06 +0200, Sebastian Andrzej Siewior wrote:
> > > I've tried kexec on e300 core which should be easy since it is possible
> > > to disable the MMU on that core. However it does not work.
> >
> > Is it not possible to disable the mmu on all cpu's that have one ??
>
> No, on e500 for example it is always on. You can use large pages with
> identity maps to make it seem like it's off, though.
why do something like that ?
> > Before you turn off the cache you need to flush out all dirty data. best
> > done by simply reading in 32kb of crap from somewhere. otherwise you are
> > sure to loose at least the stack and you do not want that.
>
> 32KiB is usually not sufficient -- depending on the initial state, an
> 8-way 32KiB cache with PLRU (such as in e300) can require up to 52KiB of
> data (13 loads per set) to fully flush if you simply load+dcbf (in
> separate passes) an arbitrary chunk of data which may already be in the
> cache.
if you have
int crap[1024*32/4] __attribute__((aligned(32)))
What will happen with the cache if you just load data into a register
from that array ?? Wont it force out everything else in the cache to
make room for the crap ?
More information about the Linuxppc-dev
mailing list