From: Joey Gouly Date: Tue, 6 Jun 2023 14:58:55 +0000 (+0100) Subject: arm64: enable Permission Indirection Extension (PIE) X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=9e9bb6ede00a84275b65bb8d00812c1e24b5fa7e;p=linux.git arm64: enable Permission Indirection Extension (PIE) Now that the necessary changes have been made, set the Permission Indirection registers and enable the Permission Indirection Extension. Signed-off-by: Joey Gouly Cc: Will Deacon Reviewed-by: Catalin Marinas Link: https://lore.kernel.org/r/20230606145859.697944-17-joey.gouly@arm.com Signed-off-by: Catalin Marinas --- diff --git a/arch/arm64/mm/proc.S b/arch/arm64/mm/proc.S index 9513a8d2ce0e1..2baeec419f62d 100644 --- a/arch/arm64/mm/proc.S +++ b/arch/arm64/mm/proc.S @@ -454,6 +454,21 @@ SYM_FUNC_START(__cpu_setup) #endif /* CONFIG_ARM64_HW_AFDBM */ msr mair_el1, mair msr tcr_el1, tcr + + mrs_s x1, SYS_ID_AA64MMFR3_EL1 + ubfx x1, x1, #ID_AA64MMFR3_EL1_S1PIE_SHIFT, #4 + cbz x1, .Lskip_indirection + + mov_q x0, PIE_E0 + msr REG_PIRE0_EL1, x0 + mov_q x0, PIE_E1 + msr REG_PIR_EL1, x0 + + mov x0, TCR2_EL1x_PIE + msr REG_TCR2_EL1, x0 + +.Lskip_indirection: + /* * Prepare SCTLR */