[U-Boot-Users] Mips_cache_lock () function

ilGimmy ilgimmy at supereva.it
Fri May 26 11:08:15 CEST 2006

Hi everybody.

Hope this mail will not rejected for the disclaimer on bottom...Sorry but I cannot remove it...

I'm trying to port the current U-Boot on a proprietary mips4k little endian platform.

I've succeeded in booting to the u-boot console.

But I've got some relocation problems; it seems that some functions are still linked to the old address (e.g. flash_fill_sect_ranges() appears to be not relocated...)

I think that this hide bigger problems, so I'm trying to understand all the boot and relocation code to find what I'm doing wrong.

So, finally the question: how the mips_cache_lock () works?

It takes the address to lock from a0 (stored in start.S before calling), but instead of passing it to the (overcomplicated) icacheop, it performs some math on that address.

To me, it seems that it locks the last DCACHE_SIZE bytes of the stack.

Also, in a0 we store not an address, but the CFG_INIT_SP_OFFSET, so at least the mips_cache_lock comment is wrong.

Can somebody explain this function to me?

Many thanks,


Andrea Gimignani

Mettiti al centro del mondo! Crea il tuo blog e condividi con
i tuoi amici idee, immagini e video, da web e da cellulare!

More information about the U-Boot mailing list