[U-Boot-Users] Running U-boot in cache area.
Haavard Skinnemoen
hskinnemoen at gmail.com
Sun Jan 21 22:54:03 CET 2007
On 1/21/07, sathesh babu <sathesh_edara2003 at yahoo.co.in> wrote:
> If I specify SDRAM start address as uncached area ( start with 0xa0000000),
> u-boot boots up and able to get the u-boot prompt.
>
> It I try SDRAM start address as cached area ( Start with 0x80000000), the
> u-boot comes up to relocation function and hangs.
> Should i call any cache invalidation ( doing this as part of cache
> initilization in the start.S) or flush functions before calling
> relocation().
I don't know too much about MIPS, but I did write relocation code for
AVR32 not very long ago, and it runs with caches enabled the whole
time.
I would imagine that you have to clean (and optionally invalidate) the
dcache and invalidate the icache after copying the new code into
place. The easiest way is probably to do a full flush (i.e.
clean+invalidate) of the whole dcache and invalidate the whole icache
just before jumping to the relocated entry address.
Haavard
More information about the U-Boot
mailing list