system-arm: Fix FEAT_PAuth trapping in AArch64 bootloader

Now that we start running the bootloader at EL3, we need to setup the
SCR_EL3 register so that it doesn't trap any pointer authentication
instruction.

This is fixing the booting process of Linux kernels making use of
FEAT_PAuth

Change-Id: I08aa96908dd2c16438448f3cc3c47a1271b2dfa8
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/61069
Reviewed-by: Richard Cooper <richard.cooper@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
This commit is contained in:
Sascha Bischoff
2022-07-06 10:33:36 +01:00
committed by Giacomo Travaglini
parent 7a22e69db3
commit 7b783a180d

View File

@@ -59,6 +59,8 @@ _start:
orr x0, x0, #(1 << 0) // Non-secure EL1
orr x0, x0, #(1 << 8) // HVC enable
orr x0, x0, #(1 << 10) // 64-bit EL2
orr x0, x0, #(1 << 16) // Disable FEAT_PAuth traps (APK)
orr x0, x0, #(1 << 17) // Disable FEAT_PAuth traps (API)
msr scr_el3, x0
mov x0, #(1 << 8) // Disable SVE trap to EL3