Dear Aneesh V, In message <4dd24bd6.5060...@ti.com> you wrote: > > > Would it be possible to do this even _before_ relocation, so to speed > > up memory accesses during relocation? Of course, proper invalidates/ > > flushes will be needed before jumping to the RAM address, but I guess > > this would save a bit of boot times? > > I intentionally kept it after relocation to avoid un-necessary > complexities.
Yes, I can understand this. Do you plean to extend this to include relocation n a later step? > Relocation is a case of self-modifying code. In Harvard architectures > like armv7 there will be coherency issues unless we flush the entire > D-cache(range based operation may be equally or more expensive) and > invalidate the entire I-cache. I would not call this self-modifying code. Regarding the need to flush/invalidate caches when jumping to RAM: yes, we have to flush the D-cache to make sure all data actually has hit the memory. But there should be no need to invalidate the I-cache as we have never been fetching any instructions from this address range, so there cannot be any incorrect entries in cache. Or am I missing something? > So, in effect everything has to be flushed to memory before you jump to > the new location. There may be a small advantage because flushing from > cache allows for bursting to the DDR where as bursting is not possible > when d-cache is disabled. But I think this is not worth the trouble. Well, all the data copy will also use cached writes, which are much faster. I think this will result in measurable time differences. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de The most exciting phrase to hear in science, the one that heralds new discoveries, is not "Eureka!" (I found it!) but "That's funny ..." -- Isaac Asimov _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot