[PATCH v1 15/18] arm64: disable EL2 traps for PIE
Catalin Marinas
catalin.marinas at arm.com
Mon Mar 27 09:59:23 PDT 2023
On Thu, Mar 09, 2023 at 02:52:43PM +0000, Joey Gouly wrote:
> Disable trapping of TCR2_EL1 and PIRx_EL1 registers, so they can be
> accessed from by EL1.
>
> Signed-off-by: Joey Gouly <joey.gouly at arm.com>
> Cc: Catalin Marinas <catalin.marinas at arm.com>
> Cc: Will Deacon <will at kernel.org>
> ---
> arch/arm64/include/asm/el2_setup.h | 27 ++++++++++++++++++++++++++-
> 1 file changed, 26 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/include/asm/el2_setup.h b/arch/arm64/include/asm/el2_setup.h
> index 037724b19c5c..6e6675fae194 100644
> --- a/arch/arm64/include/asm/el2_setup.h
> +++ b/arch/arm64/include/asm/el2_setup.h
> @@ -22,6 +22,21 @@
> isb
> .endm
>
> +.macro __init_el2_hcrx
> + mrs x1, id_aa64mmfr1_el1
> + ubfx x0, x1, #ID_AA64MMFR1_EL1_HCX_SHIFT, 4
> + cbz x0, .Lskip_hcrx_\@
> +
> + mrs_s x1, SYS_ID_AA64MMFR2_EL1
> + ubfx x0, x1, #ID_AA64MMFR3_EL1_TCRX_SHIFT, 4
> + cbz x0, .Lskip_hcrx_\@
> +
> + mrs_s x0, SYS_HCRX_EL2
> + orr x0, x0, #HCRX_EL2_TCR2En
> + msr_s SYS_HCRX_EL2, x0
> +.Lskip_hcrx_\@:
> +.endm
Can we not just set HCRX_EL2_TCR2En without probing for TCRX?
BTW, Kristina's doing some initialisation of HCRX_EL2 as well here, not
sure whether they conflict:
https://lore.kernel.org/all/20230216160012.272345-2-kristina.martsenko@arm.com/
--
Catalin
More information about the linux-arm-kernel
mailing list