
On Wednesday 08 August 2007, Wolfgang Denk wrote:
In message 200708081147.09111.rgetz@blackfin.uclinux.org you wrote:
I think it is reasonable/prudent to turn off cache in all situations, on all architectures.
No, it is not. Some architectures / operating systems may require cache(s) being on. Some others may not care, except for boot speed which in turn is something some of the customers do care about.
Finally, I don't want to fix a prblem where non exists.
I'm not totally sure here, but I remember seeing a problem with booting VxWorks which could be related to having the icache still on. Or was it QNX/Neutrino? Not sure anymore, too long ago. From my memory, all those other OS'es I ever worked with, are much "happier" with interrupts and caches disabled upon startup. It could be that we just forgot to disable the icache in the initial port of the bootelf command.
Perhaps some users of those other OS'es (VxWorks, QNX...) could speak up and suggest which implementation is recommended.
If we know for sure that certain systems require caches disabeled, then let's provide them this environment; but please leave all the rest unchanged.
Instruction and data caches in U-Boot are a great thing, since it decreases the time for a kernel or file system to be loaded, decompressed, but once U-Boot looses control (the jump to the unknown application), it shouldn't expect a return, or the hardware not to be changed by the app.
There is more than just Linux...
Yes. But the same reasons could apply to the other systems too. From my understanding we are "on the safe side" with caches disabled.
go, bootm, boote, etc - should flush & turn off cache before the jump to the application code (should also turn off what limited interrupts are enabled) to be safe.
I disagree.
I tend to agree with Robin here.
Best regards, Stefan
===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de =====================================================================