MIPS: Ensure Config.K0=2 applies before any memory accesses
authorPaul Burton <paul.burton@imgtec.com>
Wed, 21 Sep 2016 10:18:57 +0000 (11:18 +0100)
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Wed, 21 Sep 2016 13:04:04 +0000 (15:04 +0200)
commitc5b8412d60e22b49348a63848cbf7b6ab5ccb16e
treed5d8f1617c60ce1f6da776e871943c36cadd7043
parent566ce04de4a2b4c66be8e13751dbb0bfe80117b3
MIPS: Ensure Config.K0=2 applies before any memory accesses

During boot we set Config.K0=2 (uncached) such that any accesses to the
kseg0 memory region are performed uncached before the caches are
initialised. This write to the Config register introduces an execution
hazard between it & any following memory accesses (such as the load of
_gp), which we need to clear in order to ensure those memory accesses
are actually performed uncached. Clear this execution hazard with the
insertion of an ehb execution hazard barrier instruction.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
arch/mips/cpu/start.S