Blackfin: turn off caches when self initializing
authorMike Frysinger <vapier@gentoo.org>
Fri, 24 Dec 2010 19:46:12 +0000 (14:46 -0500)
committerMike Frysinger <vapier@gentoo.org>
Fri, 8 Apr 2011 04:44:26 +0000 (00:44 -0400)
commitc745a84648d72a0c7ac7f8cce4abdaecfbb05ddc
tree63fec6c504e9670d2bf1d425cbaf41dbd66abba6
parent05e7825e49586edc5cb42fa785d7cebe7bfe1de6
Blackfin: turn off caches when self initializing

When bootstrapping ourselves on the fly at runtime (via "go"), we need to
turn off the caches to avoid taking software exceptions.  Since caches
need CPLBs and CPLBs need exception handlers, but we're about to rewrite
the code in memory where those exception handlers live, we need to turn
off caches first.

This new code also encourages a slight code optimization by storing the
MMR bases in dedicated registers so we don't have to fully load up the
pointer regs multiple times.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
arch/blackfin/cpu/start.S