/* * Copyright (c) 2021, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ #include .globl disable_mpu_el2 .globl disable_mpu_icache_el2 /* --------------------------------------------------------------------------- * Disable the MPU at EL2. * --------------------------------------------------------------------------- */ func disable_mpu_el2 mov x1, #(SCTLR_M_BIT | SCTLR_C_BIT) do_disable_mpu_el2: mrs x0, sctlr_el2 bic x0, x0, x1 msr sctlr_el2, x0 isb /* ensure MMU is off */ dsb sy ret endfunc disable_mpu_el2 func disable_mpu_icache_el2 mov x1, #(SCTLR_M_BIT | SCTLR_C_BIT | SCTLR_I_BIT) b do_disable_mpu_el2 endfunc disable_mpu_icache_el2