summaryrefslogtreecommitdiffstats
path: root/plat/arm/board/fvp_r/fvp_r_misc_helpers.S
blob: 67ad16400dc38f44baa43db26c74b825d0d93c73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*
 * Copyright (c) 2021, ARM Limited and Contributors. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#include <asm_macros.S>

	.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