
Hi, the reason why the cache is not flushed, is that mips_cache_lock(stack pointer) (or so) is called before. This locks the whole data cache beginning from the stack pointer. Any other access to other addresses will not get into dcache, because the dcache lines are locked against replacing. See MIPS spec. Unfortunately the cache locking don't have to be implemented for MIPS 32 4Kc cpus. So the code i think has to be improved. I've implemented a fluch_cache routine to avoid the false behaviour, because the bcm47xx in my case doesn't support it (as it seems for me). On the other side icache don't has to be flushed before relocating, because the start code runs uncached from KSEG1. So my thoughts :) Anton
I too am going to implement a flush_cache routine to solve some issues. Are you going to feed back your fix for cpu/mips so flush_cache is available to all or when i get mine working should i feed mine back? cheers Dan
------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&da... _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
-- View this message in context: http://www.nabble.com/mips+cache+and+relocate_code%28%29-t1445438.html#a4520... Sent from the Uboot - Users forum at Nabble.com.