spm: enable pointer authentication and BTI

Use romlib in tbb/dualroot secure boot configurations. The debug build
is bigger when PAuth+BTI is enabled and BL2/BL31 no longer fit Trusted
SRAM. Update related run configs such that they call the rom lib shell
functions.
Update to arch version v8.5 in run configs such that BTI can be enabled.
Add has_branch_target_exception=1 to run configs such that BTI is
enabled.
Add restriction_on_speculative_execution option to base-aemva-common.sh.
Add restriction_on_speculative_execution=2 to run configs such that
SCXTNUM_ELx registers are supported in the EL2 context switch routine.

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: Ib9f9996fd4d4d6e7b5975a5f7b64760169b76a6a
diff --git a/tf_config/fvp-spm b/tf_config/fvp-spm
index cf4878d..a0ceae5 100644
--- a/tf_config/fvp-spm
+++ b/tf_config/fvp-spm
@@ -3,5 +3,7 @@
 SPD=spmd
 SPMD_SPM_AT_SEL2=1
 CTX_INCLUDE_EL2_REGS=1
-ARM_ARCH_MINOR=4
+ARM_ARCH_MINOR=5
+CTX_INCLUDE_PAUTH_REGS=1
+BRANCH_PROTECTION=1
 SP_LAYOUT_FILE=${tftf_root}/build/fvp/${bin_mode}/sp_layout.json
diff --git a/tf_config/fvp-spm-optee-sp b/tf_config/fvp-spm-optee-sp
index 7533f73..95fc011 100644
--- a/tf_config/fvp-spm-optee-sp
+++ b/tf_config/fvp-spm-optee-sp
@@ -1,4 +1,6 @@
-ARM_ARCH_MINOR=4
+ARM_ARCH_MINOR=5
+CTX_INCLUDE_PAUTH_REGS=1
+BRANCH_PROTECTION=1
 ARM_SPMC_MANIFEST_DTS=plat/arm/board/fvp/fdts/fvp_spmc_optee_sp_manifest.dts
 CROSS_COMPILE=aarch64-none-elf-
 CTX_INCLUDE_EL2_REGS=1
diff --git a/tf_config/fvp-spm-rst-bl31 b/tf_config/fvp-spm-rst-bl31
index 2b9c828..8e94368 100644
--- a/tf_config/fvp-spm-rst-bl31
+++ b/tf_config/fvp-spm-rst-bl31
@@ -4,5 +4,7 @@
 SPD=spmd
 SPMD_SPM_AT_SEL2=1
 CTX_INCLUDE_EL2_REGS=1
-ARM_ARCH_MINOR=4
+ARM_ARCH_MINOR=5
+CTX_INCLUDE_PAUTH_REGS=1
+BRANCH_PROTECTION=1
 SP_LAYOUT_FILE=${tftf_root}/build/fvp/${bin_mode}/sp_layout.json
diff --git a/tf_config/fvp-spm-tbb b/tf_config/fvp-spm-tbb
index b350626..5fa94ea 100644
--- a/tf_config/fvp-spm-tbb
+++ b/tf_config/fvp-spm-tbb
@@ -3,9 +3,12 @@
 SPD=spmd
 SPMD_SPM_AT_SEL2=1
 CTX_INCLUDE_EL2_REGS=1
-ARM_ARCH_MINOR=4
+ARM_ARCH_MINOR=5
+CTX_INCLUDE_PAUTH_REGS=1
+BRANCH_PROTECTION=1
 SP_LAYOUT_FILE=${tftf_root}/build/fvp/${bin_mode}/sp_layout.json
 ARM_ROTPK_LOCATION=devel_rsa
 GENERATE_COT=1
 ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem
 TRUSTED_BOARD_BOOT=1
+USE_ROMLIB=1
diff --git a/tf_config/fvp-spm-tbb-dualroot b/tf_config/fvp-spm-tbb-dualroot
index 716e66b..53c0428 100644
--- a/tf_config/fvp-spm-tbb-dualroot
+++ b/tf_config/fvp-spm-tbb-dualroot
@@ -3,10 +3,13 @@
 SPD=spmd
 SPMD_SPM_AT_SEL2=1
 CTX_INCLUDE_EL2_REGS=1
-ARM_ARCH_MINOR=4
+ARM_ARCH_MINOR=5
+CTX_INCLUDE_PAUTH_REGS=1
+BRANCH_PROTECTION=1
 SP_LAYOUT_FILE=${tftf_root}/build/fvp/${bin_mode}/sp_layout.json
 ARM_ROTPK_LOCATION=devel_rsa
 GENERATE_COT=1
 COT=dualroot
 ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem
 TRUSTED_BOARD_BOOT=1
+USE_ROMLIB=1