[U-Boot-Users] set up stack before board_init_f() on ppc440 core?
Grant Likely
glikely at gmail.com
Sat Feb 26 17:23:50 CET 2005
On Fri, 25 Feb 2005 14:56:17 -0800, Shawn Jin <shawnxjin at gmail.com> wrote:
> > In short: cache is like normal memory, just very fast (which does not
> > play a role here). We just have to make sure that no cache fills or
> > cache flushes will be done (at least not for that part of the data
> > cache which is being used for the initial stack).
>
> I don't see any caches are in a system memory mapping. Then I thought
> it could be only accessed by those cache specific instructions, like
> dcread. That's my misunderstanding.
Cache is a dynamic 'shadow' of main memory. Any region marked
cacheable may loaded into the cache so that subsequent reads are
faster. Cache operation is transparent to the code (except for cache
control operations like flush and invalidate). With some careful
coding you can make sure that stack is fully in the cached so that
stack read/writes do not go out to SDRAM.
There are plenty of descriptions of how a cache works online. It's
worth the time to research and understand it. Cache operation has
complex and subtle impact on your firmware.
More information about the U-Boot
mailing list