[U-Boot-Users] 7xx/74xx cache question

Richard Danter richard.danter at ntlworld.com
Fri Jul 15 16:03:23 CEST 2005

Hi all,

Further progress on my port. I can now write to flash!

I noticed in lib_ppc/board.c board_init_r() that on e500 CPU's the 
unlock_ram_in_cache() function is called. The 7xx/74xx also locks the 
init RAM in the dcache, but nowhere is it unlocked.

I tried calling unlock_ram_in_cache() from my board's misc_init_r() 
function, but this crashes U-Boot.

As an experiment, I left the cache locked, but then ran the "dcache off" 
command from the shell. If I do printenv before turning the dcache off 
it is all OK, if I do it after then it crashes.

With my debugger I can see that the gd data structure is garbage when 
env_get_char_memory() is called. But I thought all data was copied to 
the main sys RAM.

Is there something else I need to do before/after calling 
unlock_ram_in_cache() so I can use the D-Cache as normal?


PS Calling icache_enable() from misc_init_r() seems to work fine.

More information about the U-Boot mailing list