From: Marc Zyngier Date: Mon, 8 Feb 2021 09:57:18 +0000 (+0000) Subject: arm64: Move SCTLR_EL1 initialisation to EL-agnostic code X-Git-Tag: microblaze-v5.13~25^2~24^2~13 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=d077cb3cb90470f8bd7dbe357a474e13589390b9;p=linux-2.6-microblaze.git arm64: Move SCTLR_EL1 initialisation to EL-agnostic code We can now move the initial SCTLR_EL1 setup to be used for both EL1 and EL2 setup. Signed-off-by: Marc Zyngier Acked-by: Catalin Marinas Acked-by: David Brazdil Link: https://lore.kernel.org/r/20210208095732.3267263-10-maz@kernel.org Signed-off-by: Will Deacon --- diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S index 0a46f722f051..2c1b8ffa3d3e 100644 --- a/arch/arm64/kernel/head.S +++ b/arch/arm64/kernel/head.S @@ -479,13 +479,14 @@ EXPORT_SYMBOL(kimage_vaddr) * booted in EL1 or EL2 respectively. */ SYM_FUNC_START(init_kernel_el) + mov_q x0, INIT_SCTLR_EL1_MMU_OFF + msr sctlr_el1, x0 + mrs x0, CurrentEL cmp x0, #CurrentEL_EL2 b.eq init_el2 SYM_INNER_LABEL(init_el1, SYM_L_LOCAL) - mov_q x0, INIT_SCTLR_EL1_MMU_OFF - msr sctlr_el1, x0 isb mov_q x0, INIT_PSTATE_EL1 msr spsr_el1, x0 @@ -494,9 +495,6 @@ SYM_INNER_LABEL(init_el1, SYM_L_LOCAL) eret SYM_INNER_LABEL(init_el2, SYM_L_LOCAL) - mov_q x0, INIT_SCTLR_EL1_MMU_OFF - msr sctlr_el1, x0 - mov_q x0, HCR_HOST_NVHE_FLAGS msr hcr_el2, x0 isb