Fix the disable_mmu code
Remove the hard coding of all the MMU related registers with 0 and disable MMU
by clearing the M and C bit in SCTLR_ELx
Change-Id: I4a0b1bb14a604734b74c32eb31315d8504a7b8d8
diff --git a/plat/fvp/aarch64/plat_common.c b/plat/fvp/aarch64/plat_common.c
index 9dbcb8f..1de6c03 100644
--- a/plat/fvp/aarch64/plat_common.c
+++ b/plat/fvp/aarch64/plat_common.c
@@ -91,11 +91,11 @@
void disable_mmu(void)
{
- /* Zero out the MMU related registers */
- write_mair(0);
- write_tcr(0);
- write_ttbr0(0);
- write_sctlr(0);
+ unsigned long sctlr;
+
+ sctlr = read_sctlr();
+ sctlr = sctlr & ~(SCTLR_M_BIT | SCTLR_C_BIT);
+ write_sctlr(sctlr);
/* Flush the caches */
dcsw_op_all(DCCISW);