> +#ifdef CONFIG_PPC > + flush_icache_range( addr, addr + size ); > +#endif I'm not sure what your flush_icache_range() does exactly, but at a minimum it is misnamed: you need to flush the dcache for this range to memory (dcbst is enough), do a sync, invalidate the icache (icbi), do another sync, do an isync. Segher