On Wed, May 07, 2008 at 11:53:49AM +0100, David Woodhouse wrote: > On Wed, 2008-05-07 at 12:27 +0200, Sascha Hauer wrote: > > memcpy_from/to_io() use word aligned accesses on the io side of memory. > > The MPC5200 local plus bus where our flashes are connected does not > > allow unaligned accesses, so we have to use the io versions of memcpy. > > But this region of flash is marked as suitable for execute-in-place, > otherwise the point() function wouldn't be working to give a direct > pointer to it. It sounds like we shouldn't be allowing that.
It actually is suitable for execute-in-place. It's the flash U-Boot starts from. The compiler will generate a proper alignment for you. > > Which in turn means that perhaps we should have a property in the > corresponding node in the device-tree which indicates that it's not > suitable for direct access? So far we did not work with the device-tree flash binding but with the physmap-flash driver, but ok, this is subject to change anyway. I gave it a quick try to disable direct accesses. It works, but has a 1:10 performance impact on mounting a jffs2. At least it's a clean solution. Sascha -- Pengutronix e.K. - Linux Solutions for Science and Industry ----------------------------------------------------------- Kontakt-Informationen finden Sie im Header dieser Mail oder auf der Webseite -> http://www.pengutronix.de/impressum/ <- _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev