
Robin Getz wrote:
It is gets flushed with loads: and with loadb: and with all network commands (tftp, nfs):
Ok - maybe I am missing something - do you expect U-Boot to be cached? i.e. the polling of the serial line - if that is in cache when someone says "go" - where is that flushed?
Thanks -Robin
I'm probably setting myself up for being slapped down since there are so many targets that a generalization is generally wrong :-) but...
U-boot typically runs with instruction cache enabled and data cache disabled (experience base: PowerPC). This is because instruction cache "just works" and is very beneficial and data cache generally causes massive grief (it is pretty much useless without setting up the BATs or full MMU on the PowerPC).
It sounds like Robin has data caching turned on, which would explain why he needs to flush the data cache before jumping to his newly loaded executable. If data caching is turned off, this would not be a problem because you would not have been executing where the new code is loaded in (unless you are doing something really weird), therefore it would not have stale instructions in the instruction cache.
gvb