diff --git a/plat/fvp/aarch64/plat_common.c b/plat/fvp/aarch64/plat_common.c index 9dbcb8ff9d4828c1828fa885681d4d855fa90f78..1de6c03ea0a7a2a6c06ddaa4d65a82cbbc53e7fb 100644 --- a/plat/fvp/aarch64/plat_common.c +++ b/plat/fvp/aarch64/plat_common.c @@ -91,11 +91,11 @@ void enable_mmu() 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);