Replace disable_mmu with assembler version
disable_mmu() cannot work as a C function as there is no control
over data accesses generated by the compiler between disabling and
cleaning the data cache. This results in reading stale data from
main memory.

As assembler version is provided for EL3, and a variant that also
disables the instruction cache which is now used by the BL1
exception handling function.

Fixes ARM-software/tf-issues#147

Change-Id: I0cf394d2579a125a23c2f2989c2e92ace6ddb1a6
1 parent 8cec598 commit 2f5dcfef1db42f3b073ae657f8a94925abecd768
@Andrew Thoelke Andrew Thoelke authored on 28 Apr 2014
Showing 5 changed files
View
bl1/aarch64/bl1_exceptions.S
View
include/lib/aarch64/arch_helpers.h
View
lib/aarch64/misc_helpers.S
View
plat/fvp/aarch64/plat_common.c
View
plat/fvp/platform.h