[PATCH] ARM: layerscape: ppa: Enable MMU when in EL2

Sascha Hauer s.hauer at pengutronix.de
Sun Nov 26 23:28:44 PST 2023


We enter EL2 with MMU disabled even when it was enabled in EL3. Enable
MMU in EL2 again.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 arch/arm/mach-layerscape/ppa.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm/mach-layerscape/ppa.c b/arch/arm/mach-layerscape/ppa.c
index 43145a7ece..996e881232 100644
--- a/arch/arm/mach-layerscape/ppa.c
+++ b/arch/arm/mach-layerscape/ppa.c
@@ -123,9 +123,16 @@ int ls1046a_ppa_init(resource_size_t ppa_start, resource_size_t ppa_size)
 	get_builtin_firmware(ppa_ls1046a_bin, &ppa_fw, &ppa_fw_size);
 
 	if (el == 3) {
+		unsigned int cr;
+
+		asm volatile("mrs %0, sctlr_el3" : "=r" (cr) : : "cc");
 		remap_range((void *)ppa_start, ppa_size, MAP_CACHED);
+
 		ret = ppa_init(ppa_fw, ppa_fw_size, (void *)ppa_start);
+
+		asm volatile("msr sctlr_el2, %0" : : "r" (cr) : "cc");
 		remap_range((void *)ppa_start, ppa_size, MAP_UNCACHED);
+
 		if (ret)
 			return ret;
 	}
-- 
2.39.2




More information about the barebox mailing list