[U-Boot-Users] [Patch] Disable icache before call the firstline of kernel in do_bootelf().

Stefan Roese sr at denx.de
Wed Aug 8 20:19:15 CEST 2007


On Wednesday 08 August 2007, Wolfgang Denk wrote:
> In message <200708081147.09111.rgetz at 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 at denx.de
=====================================================================




More information about the U-Boot mailing list